跳到主要内容
哒哒星球DADA PLANET

Skill · 已公开版本

supply-chain-risk-auditor · 按锁文件检查依赖供应链风险

核查匹配版本的公告、弃用上游、发布权限集中和安装脚本风险。

先看看示例

作者提供的示例,实际效果取决于你的输入和使用工具。

输入

锁文件解析示例包tool-helper为1.2.3;package记录有postinstall;公告查询超时。

输出

编辑示例 · 未运行
需复核:tool-helper@1.2.3声明postinstall安装脚本。

影响路径:依赖安装阶段若未禁用且满足触发条件,可能执行包声明的脚本。

下一步:检查脚本实际内容、必要性和来源;在隔离环境评估。

漏洞状态:公告查询失败,标为未核实,不能写“无已知漏洞”。

方法说明

核查匹配版本的公告、弃用上游、发布权限集中和安装脚本风险。

具体任务

检查锁定版本风险:按实际解析版本匹配公告,不只看直接依赖名。

审查供应链信号:核对安装脚本、维护状态与发布者集中风险。

必需材料

npm、PyPI或Go项目的依赖清单及实际锁文件名称与内容

审计目录、生态与依赖版本解析范围

可选材料

包的业务用途和已有风险例外

已生成的findings.json、report.md与采集日志

可用的公告来源与GitHub读取权限

使用门槛

可运行固定源的采集与评估脚本,并保留数据获取失败。

这个 Skill 额外提供的方法

将确定版本证据与需要人工判断的维护信号分开,便于决定升级或替换。

编辑示例(未运行)

一个安装脚本是否值得关注

任务:为虚构包记录写风险条目

输入:
锁文件解析示例包tool-helper为1.2.3;package记录有postinstall;公告查询超时。

结果片段:
需复核:tool-helper@1.2.3声明postinstall安装脚本。

影响路径:依赖安装阶段若未禁用且满足触发条件,可能执行包声明的脚本。

下一步:检查脚本实际内容、必要性和来源;在隔离环境评估。

漏洞状态:公告查询失败,标为未核实,不能写“无已知漏洞”。

以下为官方编辑构造的示例,未运行上游 Skill。包名和版本为虚构示例,不构成对实际第三方项目的风险指控。

首次任务

任务:审计我提供项目在固定源支持范围内的依赖供应链风险,逐项标明版本解析依据和未覆盖范围。
任务重点:按实际解析版本匹配公告,不只看直接依赖名。

必需材料:
- npm、PyPI或Go项目的依赖清单及实际锁文件名称与内容:[填写或粘贴我的材料;未具备则说明]
- 审计目录、生态与依赖版本解析范围:[填写或粘贴我的材料;未具备则说明]

可选补充:
- 包的业务用途和已有风险例外:[可填写,未提供不应假定存在]
- 已生成的findings.json、report.md与采集日志:[可填写,未提供不应假定存在]
- 可用的公告来源与GitHub读取权限:[可填写,未提供不应假定存在]

请交付有材料依据的分析报告,列出发现、证据、建议与未覆盖范围。仅依据这些材料处理;缺少决定结果的信息时先说明缺口,不补造事实。未执行的检查、修改或外部操作明确标为未执行。

使用前提:可运行固定源的采集与评估脚本,并保留数据获取失败。
处理边界:仅支持npm、PyPI、Go。精确版本解析支持package-lock.json或npm-shrinkwrap.json、uv.lock及Go 1.17+的go.mod。;不解析yarn.lock、pnpm-lock.yaml、poetry.lock;回退到声明pin或最新版本时必须报告降级及未覆盖,不能称已按完整锁文件审计。;只读取注册表、公告和仓库元数据,不安装或执行依赖,也不审计依赖源码或许可合规;无命中与缺失数据均不能证明无风险。

验收要求:
1. 发现标明实际解析版本及依据;不支持的锁文件与回退范围单独列出。
2. 采集来源、失败项和不可评估项保留。
3. 升级或替换建议考虑项目使用方式,不把元数据风险视为已发生事件。

验收方法

发现标明实际解析版本及依据;不支持的锁文件与回退范围单独列出

采集来源、失败项和不可评估项保留

升级或替换建议考虑项目使用方式,不把元数据风险视为已发生事件

依赖与准备

需要uv与完整scripts/collect.py、scripts/render.py,以及授权清单/支持的锁文件、注册表/公告/GitHub网络读取能力。先核对gh认证状态;未认证可能因限额导致部分仓库指标不可评估,需据实记录,不自动登录。

使用边界

仅支持npm、PyPI、Go。精确版本解析支持package-lock.json或npm-shrinkwrap.json、uv.lock及Go 1.17+的go.mod。

不解析yarn.lock、pnpm-lock.yaml、poetry.lock;回退到声明pin或最新版本时必须报告降级及未覆盖,不能称已按完整锁文件审计。

只读取注册表、公告和仓库元数据,不安装或执行依赖,也不审计依赖源码或许可合规;无命中与缺失数据均不能证明无风险。

排错

报告的维护人数来源不清:使用规定采集器并注明测量口径。

公告服务不可达:保留未核实状态,不能当作零发现。

固定来源

https://github.com/trailofbits/skills/blob/0cc1c73a5e96749ab32d7ea5e14892fafa6972ae/plugins/supply-chain-risk-auditor/skills/supply-chain-risk-auditor/SKILL.md