supply-chain-review SKILL.md skillA
supply-chain-review from perrylink/dsh-skill-pack-security is an agent skill: a SKILL.md folder an AI agent loads when a task calls for it.
mdr add perrylink/dsh-skill-pack-security/supply-chain-review@v2.2.25Pins v2.2.25 in mdr.lock. Pin the fingerprint instead.
- Audit grade
- A, 17 of 17 checks passed
- Kind
- SKILL.md skill
- Repository
- perrylink/dsh-skill-pack-security
- Path
skills/supply-chain-review/SKILL.md- Versions recorded
- 13
- Latest version
- v2.2.25, committed Oct 31, 2026
- First version recorded
- Sep 7, 2026
- Size
- 5,987 bytes
- Repository stars
- 22
- License
- Apache-2.0
PR/新依赖快速供应链评审:危险 install/postinstall 脚本检查、typosquat 相似名判断、可复现构建验证,每项附误报判据与通过/要求修改/阻断三档决策阈值。评审引入新依赖的 PR 或需快速给出新增依赖风险结论时用;与新增依赖无关的普通代码评审不用。.
Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.
What the file says
# 新增依赖快速评审(supply-chain-review)
目标:在 PR 评审时间内(几分钟)对新增依赖给出 **通过 / 要求修改 / 阻断** 三档结论;每条结论必须附命令证据与误报排除说明。
## 自动化预检:plugin_vet 工具
`plugin_vet` 已自动执行本技能第 1/2/3 节的静态部分(危险 install 脚本、网络回传、混淆载荷、commit/action 锁定),其结果逐条引用本技能小节编号。自动化命中后,按各节的误报判据与放行判据人工确认,再下三档结论。
## 0. 确认范围
```sh
git diff <base>...HEAD --stat -- package.json pnpm-lock.yaml
git diff <base>...HEAD --unified=0 -- package.json | grep '^+'
```
样例输出:
```
package.json | 4 ++++
pnpm-lock.yaml | 12 ++++++++++++
+ "example-lib": "^2.3.0",
```
判据:无 manifest 变更 → 本技能不适用,停止;只有 devDependencies 变更 → 按"不进生产产物"整体降一档风险,但脚本检查照做。
`<base>` 用 PR 的真实 base(`git merge-base <base> HEAD` 可先确认),不要猜。
## 1. 危险 install 脚本检查(阻断级候选)
对每个新包执行:
```sh
npm view <包> scripts --json
```
样例输出:`{ "postinstall": "node scripts/download.js" }`。
危险特征清单(完整版与复核 grep 见 `references/install-script-checks.md`):
- `curl`/`wget`/`Invoke-WebRequest` 下载可执行文件后执行;
- `base64 -d`/`eval`/`child_process.exec`/`os.system` 配合外部输入或拼接载荷;
- 写入 `~/.ssh`、`.npmrc`、`.gitconfig`、credentials、全局 shell 配置。
复核命令(解包看真实内容,不只信 manifest 描述):
```sh
npm pack <包> --pack-destination .tmp
tar -xzf .tmp/<包>-<版本>.tgz -C .tmp
…Read the whole file at its exact version.
How to install
mdr add perrylink/dsh-skill-pack-security/supply-chain-review@sha256:f9653c74769d5d4dThe line at the top of this page pins the label v2.2.25, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.
[](https://markdownregistry.com/a/art_ees6j7ixpxarxu4t)
2 badge image fetches in 30 days. What the badge shows.
Versions
The registry has recorded 13 versions of this file, between Sep 7, 2026 and Oct 31, 2026, about one every 5 days.
| version | committed | commit | size | audit | |
|---|---|---|---|---|---|
| v2.2.25 latest | 2026-10-31 | af6b35f | 5,987 B | A | view · diff |
| v2.2.24 | 2026-10-10 | 0c1deb8 | 5,987 B | A | view · diff |
| v2.2.23 | 2026-10-10 | a5f8d45 | 5,987 B | A | view · diff |
| v2.2.22 | 2026-10-05 | 008bf2e | 5,987 B | A | view · diff |
| v2.2.20 | 2026-10-05 | 6b2adfe | 5,987 B | A | view · diff |
| v2.2.19 | 2026-10-04 | 380880e | 5,987 B | A | view · diff |
| v2.2.18 | 2026-10-04 | 8761f0d | 5,987 B | A | view · diff |
| v2.2.17 | 2026-09-24 | f926448 | 5,987 B | A | view · diff |
| v2.2.16 | 2026-09-12 | 8e74c4d | 5,987 B | A | view · diff |
| v2.2.14 | 2026-09-10 | d6120c8 | 5,987 B | A | view · diff |
| v2.2.13 | 2026-09-09 | 6ffdda7 | 5,987 B | A | view · diff |
| v2.2.12 | 2026-09-09 | dd3da11 | 5,987 B | A | view · diff |
| v2.2.10 | 2026-09-07 | 4430c52 | 5,987 B | A | view |
Audit of the latest version
- pass: Frontmatter block present
- pass: Frontmatter declares a name
- pass: Frontmatter declares a description
- pass: Size between 200 bytes and 200 KB (5987 bytes)
- pass: No zero-width or bidi control characters
- pass: No instruction hidden inside an HTML comment
- pass: No link to an exfiltration or paste host
- pass: No credential-shaped string
- pass: No instruction to send local credentials anywhere
- pass: No text hidden with inline styles
- pass: No prompt-injection phrasing
- pass: No curl or wget piped into a shell
- pass: No recursive delete of root, home or parent
- pass: No instruction to read or print local credentials
- pass: No base64 blob over 200 characters
- pass: No link to a raw IP address
- pass: No script tag
Source
perrylink/dsh-skill-pack-security · 22 stars · license Apache-2.0 · pushed 2026-11-01 · branch main
API
GET https://markdownregistry.com/api/v1/artifacts/art_ees6j7ixpxarxu4t GET https://markdownregistry.com/api/v1/resolve?ref=perrylink/dsh-skill-pack-security/supply-chain-review GET https://markdownregistry.com/api/v1/blob/f9653c74769d5d4d002c38321220e6a10f30a60ea4dbf9a0f923bad32b3aff2f
Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.
Guides: the SKILL.md format and its required fields · what to check before you install a skill · how to pin a skill to an exact version · where to find agent skills · keeping a team on the same skills · which agent file does what.
More from perrylink/dsh-skill-pack-security
Every file in perrylink/dsh-skill-pack-security