- 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.7 KiB
Container Image Vulnerability Scan
User Prompt
You are scanning the container image {target} (an OCI image reference, a local tar, or a Dockerfile) for: Container Image Vulnerability Scan. CWE-1104
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
- Pull/inspect the image read-only. Scan for vulnerable OS + language packages with
trivy image <ref>(orgrype <ref>):trivy image --scanners vuln --severity CRITICAL,HIGH,MEDIUM -f json <ref>. - For each CVE: record the package@version, the fixed version, the CVE id and severity, and whether it is actually reachable (installed + in an executable layer). Prioritise KEV/known-exploited and those with a fix available.
- Cross-check the base image age/EOL:
trivy image --scanners vulnplus the base image tag; flag an outdated or EOL base (e.g. an old Debian/Alpine/Ubuntu release). - Report each meaningful CVE as a finding (package, version, fixed-in, CVE, severity) and the outdated-base issue separately.
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.