Scan and verify code vulnerabilities

CodeMender lets you proactively scan your codebase for software weaknesses and execute proof-of-concept (PoC) exploits in your local sandbox to confirm exploitability and eliminate false positives.

Scan for vulnerabilities

To scan your codebase for vulnerabilities, run cm find. By default, cm find runs a concurrent file-by-file deep scan across the target path. For a faster single-session scan, pass the --quick flag.

Scan a specific subdirectory:

cm find ./src/auth/

Run a faster single-session quick scan on a subdirectory:

cm find ./src/auth/ --quick

Scan only the modified files in a subdirectory:

cm find --diff ./src/auth/

Scan a single file:

cm find ./src/auth/session_manager.py

Skip interactive approval prompts during the scan:

cm find ./src/auth/ -y

For more information about default deep scans, scanning pull requests with --diff, or running single-session scans with --quick, see CodeMender find modes and Integrate with CI/CD.

Verify vulnerabilities

Once CodeMender identifies potential vulnerabilities, ask it to verify exploitability. During verification, CodeMender generates and executes a proof-of-concept (PoC) exploit (inside the default sandbox) to confirm whether the issue is genuinely exploitable.

Locate the finding-id from the output of cm report or cm find, then run:

cm verify FINDING_ID

Verification flags

The following flags configure cm verify:

Flag Default Description
-c, --context TEXT "" Pass steering instructions or application domain context to guide the agent (for example, cm verify FINDING_ID -c "Focus analysis on the multi-tenant session validation path").
--skip-exploit-verification false Mark high-confidence findings as verified without rerunning the PoC exploit script after the verification agent finishes. The agent still generates and runs a PoC exploit during verification.
--sandbox true Explicitly enable or disable the OS-level sandbox for this run (for example, --sandbox=false to disable).
--allow-all-paths false Disable the workspace path boundary check so agent tools can access paths outside the project root and configured project_paths (combine with --sandbox=false to access host paths that aren't mounted inside the sandbox).
--allow-all-commands false Disable command_policy.yaml blocklist enforcement for this run.
-y, --yes false Skip interactive confirmation prompts ([Y/n]) for tool actions and PoC exploit execution. Commands remain contained within the OS-level sandbox container (exebox) unless you also pass --sandbox=false.
--bypass-warning false Skip the warning prompt shown when running commands on the host without the OS-level sandbox or interactive confirmation prompts.