v3.6.4: fix #33 — mode-aware grounding so white-box SAST findings aren't demoted

The grounding gate ran in empirical mode for every engagement, demoting
white-box (and skills/n8n audit) findings that had passed the n-model vote
because a file:line code citation isn't raw tool output. Grounding is now
mode-aware:
- Symbolic (white-box SAST / skills): a file:line reference into the reviewed
  source, or a quote of code present in it, is the receipt — no live target.
- Empirical (black-box / host / AI): evidence must resemble tool output (as before).
- Either (grey-box): a source citation OR a tool receipt grounds a finding.
The symbolic check runs against the reviewed source corpus (not the transcript)
and falls back to a structural file:line + quote check when the corpus is
unavailable. Adds unit tests incl. a regression test for #33.
This commit is contained in:
CyberSecurityUP
2026-07-19 17:48:19 -03:00
parent 53c07b9a9c
commit a61e75b601
15 changed files with 260 additions and 91 deletions
+26 -2
View File
@@ -1,7 +1,7 @@
# NeuroSploit v3.6.3 — Release Notes
# NeuroSploit v3.6.4 — Release Notes
**Release Date:** July 2026
**Codename:** Resume & Recover
**Codename:** Symbolic Grounding
**License:** MIT
**Credits:** Joas A Santos & Red Team Leaders
@@ -9,6 +9,30 @@
## Highlights
- **Fix ([#33](https://github.com/JoasASantos/NeuroSploit/issues/33)): white-box
findings were silently dropped from the report.** The grounding gate — the
anti-hallucination step that demotes any claim lacking a receipt — was running
in **empirical** mode for *every* engagement. Empirical grounding looks for raw
tool output (HTTP responses, error oracles, shell receipts), which a **SAST
finding never has**: its receipt is a `file:line` reference into the reviewed
source. So white-box (and skills/n8n audit) findings that had *passed* the
n-model vote were then demoted as "receipt missing" and never reported.
Grounding is now **mode-aware**:
- **Symbolic** — white-box SAST & skills audits: a `file:line` (or
`file:section`) reference into the reviewed source, or a quote of code that
appears in it, IS the receipt. No live target needed.
- **Empirical** — black-box / host / AI endpoints: evidence must resemble raw
tool output (unchanged behaviour).
- **Either** — grey-box: a source citation OR a tool receipt grounds a finding.
The symbolic check is run against the reviewed **source corpus** (not the model
transcript), and falls back to a structural `file:line` + code-quote check when
the corpus isn't available, so a well-formed SAST finding is never dropped on a
technicality. Covered by unit tests (including a regression test for #33).
---
## Previously in v3.6.3
- **Interrupted runs are resumable.** When a run is cut off (terminal closed,
Ctrl-C, crash, SSH drop), its findings were already checkpointed live and
recovered as a run on the next launch. Now `/continue` (or `/resume`) also