Agent Skills
返回列表
🔒

cargo-deny 依赖树合规门禁

IT 运维与安全 更新于 2026.08.30

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/gate-rust-dependency-trees-on-license-advisory-and-source-policy-violations-before-merge-with-cargo-deny 技能到 AI 助手中。

技能介绍

先解决合并前的依赖审查问题

Rust 项目的依赖树会展开出大量传递依赖,直接审查 Cargo.toml 只能看到直接声明,容易漏掉许可证、已知漏洞、被禁包和不可信源。如果每个 PR 都临时翻 lockfile,规则不一致,也难沉淀审计结论。

技能如何形成可重复门禁

cargo-deny 把许可证、安全公告、bans 和 source 规则集中到配置中,由 agent 在合并前执行统一检查。关键流程是:先维护 deny.toml 或等价配置;再在本地或 CI 运行检查结果;agent 将违规分为阻断项与待确认项;只有合规或明确豁免后才允许合并。这样能覆盖传递依赖、版本替换和来源变化,避免逐包手改 manifest。

适用边界

它适合已有 Rust/Cargo 项目、能维护配置并接受门禁失败的工作流;不能替代漏洞扫描、代码审计或签名验证。策略过严会误报,过松则失去 gate 意义;对大型 lockfile、私有源和例外处理需要显式配置。

使用场景

  • 当你准备合入 Rust PR 时,先跑依赖树检查,确认许可证、公告和 source 规则没有违规。
  • 当你升级或新增依赖时,检查展开后的传递依赖是否命中被禁版本或不可信源。
  • 当你需要给 CI 增加一道闸门时,把 cargo-deny 配置作为合并前自动阻断依据。
  • 当你准备 Docker base image 时,用 cargo-deny 生成可追踪的许可证与漏洞报告。

适合人员

  • Rust 平台工程师:需要在发布前确认依赖树符合公司安全和合规要求。
  • 开源合规工程师:需要给 Cargo 项目登记许可证并拦下不满足策略的依赖。
  • 负责 CI 的工程师:需要把 cargo-deny 接入 PR 门禁,避免人工漏检传递依赖。
  • DevOps 工程师:需要在容器镜像构建中生成可追踪的依赖漏洞与许可证报告。