codna_secure
Prove which scanner findings are exploitable and production-reachable by classifying SARIF 2.1.0 reports from CodeQL, Semgrep, Snyk, or Trivy.
Instructions
Prove which scanner findings are reachable. Ingests a SARIF 2.1.0 report (CodeQL / Semgrep / Snyk / Trivy), classifies each finding (exploitable / production-reachable / unreachable / unknown) via the local engine, and reports which are autofix-eligible. Read-only, deterministic, 0 LLM tokens — the SARIF file is the only input read; the repo is never scanned and the agent sidecar never starts.
sarif_path is REQUIRED (see the input schema) — there is no workspace scan or
default-path fallback. SARIF provenance (tool name + revision) must be complete or the
report is rejected. All failures come back as 'codna_secure error: ...' text — the
tool never raises.
Requires the one-time free codna login device authorization (free community
license); fully offline thereafter.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ref | No | Branch, tag, or commit the SARIF was produced from. Accepted for parity with `codna secure --ref`; informational only in the MCP path — the local SARIF-only classifier does not resolve it. Default ''. | |
| repo | No | Repository the findings belong to (a local path or a git URL), echoed as 'repository' in the output for traceability. The classification reads ONLY the SARIF file — repo is never scanned. Default '.': the current directory, or the server default set by `codna mcp start --repo` (env CODNA_MCP_DEFAULT_REPO). | . |
| sarif_path | Yes | Path to the scanner's SARIF 2.1.0 report (CodeQL, Semgrep, Snyk, Trivy, or any other scanner). REQUIRED — there is no auto-discovery: omitting it fails input validation, and an empty string returns 'codna_secure error: sarif_path is required'. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |