SuperAPI AI 工具集

detecting-dependency-confusion

通用与其它

查看项目

更新于 10-16 01:30

技能介绍

用途:检测并防御依赖混淆(命名空间影子攻击)。当包管理器同时从私有与公共仓库解析依赖时,可能优先采用版本号更高的公共包,攻击者据此用同名高版本恶意包替换内部依赖。本技能覆盖检测与防御两部分,仅限授权安全测试、防御工程与教育用途。

主要能力:枚举项目清单中的内部依赖;判断哪些内部包名未在公共仓库注册(可被抢注);区分真实暴露与误报(作用域包、已镜像名称);实施仓库绑定与作用域限制;为无法隔离的名称注册占位包;在 CI 中建立周期性检测。

使用方式:安装 confused(go install github.com/visma-prodsec/confused@latest)与 OWASP dep-scan(pip install owasp-depscan)。用 find 枚举 package.json、requirements.txt、pom.xml、composer.json、Gemfile.lock;用 confused -l npm package.json 等按生态扫描,-s 指定可信作用域;用 depscan --src $PWD --reports-dir ./reports --private-ns acme,acme_internal,@acme 交叉验证。对标记名称用 curl 探测公共仓库返回码确认可抢注。修复:在 .npmrc 中绑定作用域到私有仓库,pip 使用 index-url 而非 extra-index-url,Maven 用 mirrorOf 镜像;必要时发布占位包;在 CI 中运行 confused 使流水线失败。

适用场景:仓库或组织接入供应链安全基线、混合源 CI/CD、内部包名泄露事件后、审计依赖清单、周期性检测新增内部包。

限制:需 Go 1.20+、Python 3.10+、Node.js 与私有仓库访问权限;抢注或解析测试仅限自有或获授权的基础设施;具体效果与收费信息暂未提供。