docs: document Nuclei/ZAP as decided deterministic detectors under the agentic DAST (not yet implemented)
CI / Check (push) Skipped
CI / Check (pull_request) Failing after 2m55s
CI / Detect Changes (pull_request) Skipped
CI / Deploy Agent (pull_request) Skipped
CI / Deploy Dashboard (pull_request) Skipped
CI / Deploy Docs (pull_request) Skipped
CI / Deploy MCP (pull_request) Skipped
CI / Check (push) Skipped
CI / Check (pull_request) Failing after 2m55s
CI / Detect Changes (pull_request) Skipped
CI / Deploy Agent (pull_request) Skipped
CI / Deploy Dashboard (pull_request) Skipped
CI / Deploy Docs (pull_request) Skipped
CI / Deploy MCP (pull_request) Skipped
Spec v0.2.1 decision (2026-08-31): keep the agentic DAST/pentest layer, integrate Nuclei then ZAP baseline underneath as deterministic detectors feeding the control-map LUT; offline vuln DB (Trivy/Grype) on the on-prem runner trigger. Clearly marked as planned so the docs stay truthful until the code lands. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EgxGHn22YEfQz5fLHSHkLv
This commit is contained in:
co-authored by
Claude Fable 5
parent
b7b9c812ab
commit
61c6eab54e
@@ -6,7 +6,7 @@ Control mapping connects the scanner's raw output — deterministic tool finding
|
||||
|
||||
The design has one rule, borrowed from the ZeroFalse / IRIS line of research: **deterministic tools are the detectors; the LLM is only ever a grounded false-positive filter, never the thing that finds the issue.**
|
||||
|
||||
- A tool (semgrep, gitleaks, syft/osv, the DAST agents, the PLC linter) detects deterministically.
|
||||
- A tool (semgrep, gitleaks, syft/osv, the PLC linter; the DAST agents today, with **Nuclei and ZAP planned** as deterministic web/OT detectors underneath them — see [Tools & Scanners](/reference/tools#planned-integrations-decided-2026-08-31-not-yet-in-the-code)) detects.
|
||||
- An **authored, human-reviewed lookup table** (`control-map`) maps that detection to the control(s) it's evidence for.
|
||||
- The LLM enters last, to *confirm or refute* the mapping against the actual code — and every surviving verdict is anchored to a verbatim snippet by the grounding gate.
|
||||
|
||||
|
||||
@@ -92,3 +92,7 @@ Filters can be combined. A count indicator shows how many findings match the cur
|
||||
::: tip
|
||||
Findings marked as **Confirmed** exploitable were verified with a successful attack payload. **Unconfirmed** findings show suspicious behavior that may indicate a vulnerability but could not be fully exploited.
|
||||
:::
|
||||
|
||||
## Deterministic detectors (planned)
|
||||
|
||||
The DAST engine above is agentic: an LLM drives crawler, browser and testing tools and decides what to try next. That gives depth and code-aware exploitation, but not run-to-run reproducibility. The next step (decided 2026-08-31, not yet implemented) adds two deterministic open-source detectors **under** the agents: **Nuclei** (template checks incl. ICS/OT and default-credential templates) first, then an **OWASP ZAP** baseline scan. Their findings will appear alongside agent findings, carry CWE + compliance `control_refs`, and seed the agent's context so it verifies and chains instead of rediscovering. See [Tools & Scanners](/reference/tools#planned-integrations-decided-2026-08-31-not-yet-in-the-code).
|
||||
Reference in New Issue
Block a user