用途:扫描项目依赖,识别已知漏洞,属于软件成分分析(SCA)。适用于用户提出“扫描我的依赖”“SCA 扫描”等需求时。
主要能力:支持多生态依赖检测,包括 JavaScript/TypeScript(package.json 及 package-lock.json、yarn.lock、pnpm-lock.yaml)、Python(requirements.txt、pyproject.toml、setup.py、setup.cfg 及 Pipfile.lock、poetry.lock)、Go(go.mod、go.sum)、Java(pom.xml、build.gradle、build.gradle.kts、gradle.lockfile)、Rust(Cargo.toml、Cargo.lock)、.NET(*.csproj、packages.config、packages.lock.json)、Ruby(Gemfile、Gemfile.lock)、PHP(composer.json、composer.lock)。
使用方式:先通过仓库根目录的清单/锁文件识别生态;再调用 scan MCP 工具,传入仓库根绝对路径、scan_types 为 ["vulnerabilities", "dependencies"]、scan_options 为 { "quick_scan": true }。dependencies 解析依赖树,vulnerabilities 与 Endor Labs 数据库匹配。仅当 MCP 确实不可用时,才使用 CLI 回退:npx -y endorctl scan --path $(pwd) --dependencies --output-type summary -n <namespace>。随后对每个 critical/high 发现的 UUID 调用 get_resource MCP 工具(resource_type 为 Finding)获取详情。
结果呈现:包含扫描路径、生态、依赖数量、按严重程度(Critical/High/Medium/Low)的汇总表及处置动作。每个 critical/high 发现列出包名@版本、CVE 编号与简述、严重级别(如有 CVSS 分数)、修复版本或“无可用修复”、升级路径(直接依赖到传递链)。优先级为:有修复的 Critical、无修复的 Critical、有修复的 High、无修复的 High、Medium/Low。需区分直接依赖与传递依赖,传递漏洞要指出引入它的直接依赖。
后续操作:/endor-fix {top-cve}、/endor-check {package} {version}、/endor-upgrade-impact {package}、/endor-scan-full、/endor-license。数据源策略见 references/data-sources.md。
限制与错误处理:必须展示确切错误信息,不得猜测原因。无漏洞时确认扫描完成并建议 /endor-scan-full;认证错误需完成浏览器登录后重试,持续失败用 /endor-setup;未找到清单时列出支持的生态;MCP 不可用时用 /endor-setup,仅在用户确认后使用 CLI 回退;未知错误展示确切错误并建议 /endor-troubleshoot。