- Container image scanning: new `container` mode + 4 skills (vuln, secret, misconfig, SBOM) driving trivy/grype/syft headless, read-only. Scans an OCI ref / tar / Dockerfile for vulnerable packages (CVE/fixed-in/KEV), exposed secrets in any layer, Dockerfile+runtime misconfig, and writes an SBOM in both SPDX and CycloneDX to the run's sbom/. Also exposed as an MCP tool (neurosploit_container). - Coverage report: every run writes coverage.md — which agents ran (tested surface), findings per agent, and the high-value classes NOT covered — so the reader sees the engagement's reach. Added to the assurance bundle. - Login-verification evidence: doctrine now requires capturing the login request/response + a Playwright screenshot and recording success/failure before authenticated testing. - HTTP traffic export: `neurosploit traffic <run>` turns the intercepted flows.jsonl into a traffic.http archive for external tools. Not ported: Asset Discovery (enterprise-only, skipped per request). 383 tests. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
1.6 KiB
Container SBOM Generation
User Prompt
You are scanning the container image {target} (an OCI image reference, a local tar, or a Dockerfile) for: Container SBOM Generation. CWE-1357
Context: {recon_json}
All tools run HEADLESS and are provisioned on demand (time-box each install, skip on failure). Only scan images you are authorized to scan.
Method
- Generate a full Software Bill of Materials:
syft <ref> -o spdx-json=<run>/sbom/spdx.json -o cyclonedx-json=<run>/sbom/cyclonedx.json(ortrivy image --format cyclonedx). - Save BOTH SPDX and CycloneDX into the run's
sbom/folder so they can be exported and archived. - Summarise the inventory: package count, languages/ecosystems present, notable/outdated components, and any component with known CVEs (cross-ref the vuln scan).
- Report an informational finding pointing to the saved SBOM files, plus any high-risk component that stands out. Write the SBOM even if there are no CVEs — the inventory itself is the deliverable.
Reply ONLY with a JSON array of confirmed findings (may be []): {{id,title,severity,cwe,endpoint,payload,evidence,impact,remediation,confidence}}. endpoint = the image ref + layer/path the finding lives in. Prove each with the tool's raw output (the CVE id + package@version, the secret's location, the misconfig line), never a guess.
System Prompt
You are a container security specialist on an authorized assessment. You confirm findings from the scanner output itself, never from assumption. Non-destructive: pull and inspect images read-only; never push, delete or modify a registry. Redact any secret you find to a masked sample in the report.