Agent Skills
返回列表
🔒

Semgrep 供应链规则包运行器

IT 运维与安全 更新于 2026.08.29

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

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/semgrep-supply-chain-rule-pack-runner。

技能介绍

要解决的问题

供应链攻击越来越集中在两个位置:一是依赖清单和锁文件里的恶意或过期包,二是代码里绕过安全护栏的写法。开发者在本地跑一次全量扫描并不难,难的是把扫描结果翻译成「这个仓库此刻能做什么」——哪些 requirements.txt 条目对应已知漏洞版本,哪个 Dockerfile 指令会引入未校验的基础镜像,哪段依赖安装脚本在CI 里被悄悄跳过。信息散落在扫描输出里,缺少一次面向仓库上下文的聚合。

工作方式

该技能围绕 semgrep scan 组织执行,把三类输入串成一条流水线:

  • 代码规则:直接对当前工作区的源码运行 Semgrep 规则,命中硬编码密钥、危险 API 调用等模式;
  • Registry 规则包:通过规则包引入针对供应链场景的检测集,覆盖依赖文件、锁文件和构建脚本等资产,而不是只盯 .py 或 .go 文件;
  • 依赖感知的发现:把扫描结果与仓库实际声明的依赖关联,输出落到包名、版本号和文件路径层面,方便开发者直接定位修复点。

最终产物是一份按仓库语境组织的结果摘要:哪些命中属于供应链面,哪些规则因未覆盖的语言或文件类型而跳过,哪些结论需要结合上游公告进一步确认。

适用边界

  • Semgrep 是静态分析,不做动态执行,因此运行期才暴露的行为不在检测范围内;
  • 规则包的效果取决于所选规则集与项目技术栈的匹配度,冷门语言或私有格式的供应链文件可能需要额外配置;
  • 依赖漏洞判定依赖上游数据源的时效性,扫描结果应作为当下快照使用,而不是长期合规证明。

使用场景

  • 提交代码前运行扫描,定位requirements.txt中带已知漏洞的依赖版本
  • CI流水线触发检查,判断Dockerfile是否引入未固定版本的不安全基础镜像
  • 审计锁文件中的包变更,标记近期新增或替换的第三方依赖来源
  • 梳理仓库供应链面,生成按文件路径和包名分组的风险项列表

适合人员

  • 后端开发者,想在代码合入主分支前排除供应链相关隐患
  • 供应链安全工程师,需要把Semgrep扫描结果整理成可落地的修复清单
  • CI/CD流水线维护者,要给构建流程添加依赖与构建脚本的自动化检查
  • 小团队技术负责人,希望用低成本工具覆盖仓库的供应链风险点