扫描和验证代码漏洞

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

扫描漏洞

如需对代码库运行快速安全扫描,请运行 cm find。每次扫描 10 到 50 个目标模块或批处理文件,以获得最佳性能。

扫描特定子目录:

cm find ./src/auth/

扫描单个文件:

cm find ./src/auth/session_manager.py

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

cm find ./src/auth/ -y

验证漏洞

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

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

cm verify FINDING_ID

验证标志

  • 提供自定义指导情境 (-c / --context):传递指导指令或应用领域情境来引导代理:
    cm verify FINDING_ID -c "Focus analysis on the multi-tenant session validation path"
  • 跳过 PoC 漏洞利用执行 (--skip-exploit-verification):仅执行静态验证,而不运行主动漏洞利用:
    cm verify FINDING_ID --skip-exploit-verification
  • 控制沙盒 (--sandbox):明确为此运行启用或停用沙盒(例如,使用 --sandbox=false 停用):
    cm verify FINDING_ID --sandbox=false
  • 绕过沙盒 (--unrestricted):暂时绕过本次运行的所有沙盒保护,停用文件系统边界和操作系统级容器隔离:
    cm verify FINDING_ID --unrestricted
  • 自动批准确认提示 (-y / --yes):跳过工具操作和 PoC 漏洞利用执行的互动式确认提示。在不使用 -y 的情况下以交互方式运行时,CodeMender 会在执行生成的漏洞利用脚本之前提示用户进行确认 ([y/N])。在自动化 CI/CD 流水线和评估运行中,传递 -y 会自动批准执行,并将所有命令包含在操作系统级沙盒容器 (exebox) 中:
    cm verify FINDING_ID -y