Skip to content

add machine-readable vuln scanner execution evidence - #968

Merged
aaronjmars merged 3 commits into
aeonfun:mainfrom
Svector-anu:fix/vuln-scanner-execution-evidence
Aug 26, 2026
Merged

add machine-readable vuln scanner execution evidence#968
aaronjmars merged 3 commits into
aeonfun:mainfrom
Svector-anu:fix/vuln-scanner-execution-evidence

Conversation

@Svector-anu

Copy link
Copy Markdown
Contributor

why

A vuln-scanner run can stage Semgrep, TruffleHog, OSV-Scanner, Slither, and cargo-fuzz successfully while the harness report says they were skipped. Model prose cannot prove whether a scanner actually ran.

fix

  • wrap staged scanner binaries with a tiny execution logger
  • add a post-run workflow step that prints the staged manifest and actual invocation log
  • warn explicitly when no scanner invocation evidence exists

This keeps the existing best-effort behavior and does not turn an absent optional scanner into a workflow failure.

verification

  • git diff --check passed
  • shellcheck is not installed in the local environment
  • branch diff is limited to scripts/stage-vuln-scanner.sh and .github/workflows/aeon.yml
  • real Cursor run 32931159345 demonstrated the evidence gap: staging succeeded, but the agent report claimed all scanners were skipped

@Svector-anu

Copy link
Copy Markdown
Contributor Author

Runtime follow-up (2026-08-26): the execution-evidence instrumentation was exercised in real Actions runs.

  • no-eligible-target run 32935236179: staged tools installed; execution log recorded executions=none rather than implying scans ran.
  • explicit Hermes scan rerun 32940739251: per-tool evidence reported semgrep=not-observed, trufflehog=not-observed, osv-scanner=not-observed, and slither/cargo-fuzz=not-observed-or-not-applicable.

This is why the provisional dependency claims remain unpromoted: the report is not treated as scanner-verified without an invocation record.

- rm -f the wrapper path before the heredoc so a pip-installed scanner's
  symlink (e.g. semgrep/slither) can't be followed and recreated in the
  global bin dir; always writes a plain file into /tmp/bin.
- Move "Verify vuln-scanner execution evidence" below "Upload egress audit
  log" so the "Egress hardening P2" comment documents the step it precedes.

Co-Authored-By: Svector-anu <svector@users.noreply.github.com>
@aaronjmars
aaronjmars merged commit 8cff4d0 into aeonfun:main Aug 26, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants