扫描和验证代码漏洞

CodeMender 可让您主动扫描代码库中的软件漏洞,并在本地沙盒中执行概念验证 (PoC) 漏洞利用,以确认可利用性并消除假正例。

扫描漏洞

如需扫描代码库中的漏洞,请运行 cm find。默认情况下,cm find 会在目标路径中运行并发的逐文件深度扫描。如需加快单会话扫描速度,请传递 --quick 标志。

扫描特定子目录:

cm find ./src/auth/

对子目录运行更快的单会话快速扫描:

cm find ./src/auth/ --quick

仅扫描子目录中修改过的文件:

cm find --diff ./src/auth/

扫描单个文件:

cm find ./src/auth/session_manager.py

在扫描期间跳过交互式审批提示:

cm find ./src/auth/ -y

如需详细了解默认深度扫描、使用 --diff 扫描拉取请求或使用 --quick 运行单会话扫描,请参阅 CodeMender 查找模式和与 CI/CD 集成。

验证漏洞

CodeMender 识别出潜在漏洞后,请让其验证可利用性。在验证期间,CodeMender 会在默认沙盒中生成并执行概念验证 (PoC) 漏洞利用,以确认问题是否确实可被利用。

从 cm report 或 cm find 的输出中找到 finding-id,然后运行:

cm verify FINDING_ID

验证标志

以下标志用于配置 cm verify:

标志 默认 说明
-c, --context TEXT "" 传递引导指令或应用领域上下文,以引导智能体(例如 cm verify FINDING_ID -c "Focus analysis on the multi-tenant session validation path")。
--skip-exploit-verification false 在验证代理完成后,将高置信度发现结果标记为已验证,而无需重新运行 PoC 漏洞利用脚本。在验证期间,智能体仍会生成并运行 PoC 漏洞利用。
--sandbox true 明确为此运行启用或停用操作系统级沙盒(例如,--sandbox=false 表示停用)。
--allow-all-paths false 停用工作区路径边界检查,以便智能体工具可以访问项目根目录和配置的 project_paths 之外的路径(与 --sandbox=false 结合使用可访问未装载到沙盒中的主机路径)。
--allow-all-commands false 为此运行停用 command_policy.yaml 屏蔽名单强制执行。
-y, --yes false 跳过工具操作和 PoC 漏洞利用执行的交互式确认提示 ([Y/n])。除非您还传递 --sandbox=false,否则命令仍会包含在操作系统级沙盒容器 (exebox) 中。
--bypass-warning false 跳过在没有操作系统级沙盒或交互式确认提示的情况下在主机上运行命令时显示的警告提示。