skill 是写给 agent 的操作说明,很多带脚本;MCP 服务让 agent 调外部接口。它们都在你的机器上、以你的权限运行——能读你的代码,也能读 ~/.ssh。
我们在维护一个 agent 工具目录(赫布智能分享),中文区的 Skill 和 MCP 加起来 1200 多个。README 看多了,整理出一份装之前的检查清单,和三个能帮上忙的工具。
下面的安装命令给的是 Codex 的写法,Claude Code 的命令在每个工具的资源页上都有。
一、先读 SKILL.md 和它带的脚本
skill 的本体就是一个 Markdown 文件加几个脚本,cat 一遍就看完了。重点看四件事:
- 会执行哪些命令
- 会读哪些路径
- 会不会联网,往哪里发数据
- 有没有安装期脚本(
postinstall这类)
MCP 服务同理,先看它暴露了哪些工具、要哪些凭证。
二、审依赖
Trail of Bits 出了一个技能,专门读依赖清单查风险:
npx skills add trailofbits/skills --skill supply-chain-risk-auditor -a codex -y
它查 npm、PyPI、Go 的直接依赖和锁文件树:已知漏洞公告、已弃用或归档的上游、npm 发布者集中度、安装期脚本。整个过程只读清单和锁文件,不安装、不构建、不执行项目本身。
两个边界要知道:
- 只认
package-lock.json、npm-shrinkwrap.json、uv.lock和 go 1.17+ 的go.mod。yarn.lock、pnpm-lock.yaml、poetry.lock它不读,报告里会说明这些文件存在,版本退回到清单里的写法。 - 需要
uv;强烈建议配一个已登录的gh,否则 GitHub 未登录只有每小时 60 次请求,而它每个依赖都要请求几次。
三、拦危险命令
CC Safety Net 在工具调用执行前拦下来:
npx -y cc-safety-net@latest install --codex
它挡的是 git reset --hard、git push --force、危险目标上的 rm -rf,以及从网上管道执行的安装脚本(curl … | bash),还有读写 SSH 密钥、.env 这类文件。它按命令的语义解析,套一层 bash -c 或者把参数换个顺序都能识别。Windows、macOS、Linux 都支持,需要 Node.js 18+。
它不是沙箱,是最后一道闸:拦的是能枚举出来的危险动作,不是限制进程能做什么。
四、上沙箱
要真正限制进程,用 Anthropic 官方的 Sandbox Runtime(研究预览版):
npm install -g @anthropic-ai/sandbox-runtime
它不用容器,直接用操作系统的沙箱原语:macOS 的 sandbox-exec,Linux 的 bubblewrap(整个网络命名空间都去掉),Windows 下跑在一个专用的 srt-sandbox 账户里,配一套 WFP 过滤规则。限制对整个进程树生效。
默认值的方向要记清楚,三项不一样:
| 默认 | 配置方式 | |
|---|---|---|
| 网络 | 全部拒绝 | allowedDomains 白名单,空列表等于断网 |
| 写 | 全部拒绝 | allowWrite 显式放行,比如 .、/tmp |
| 读 | 全部允许 | 先用 denyRead 挡掉大片目录,再用 allowRead 放回来 |
就是说,读是唯一一个默认放开的,~/.ssh、~/.aws 要你自己写进 denyRead。
它可以包住一个 agent,也可以只包住一个本地 MCP 服务——在 MCP 配置里把 command 换成 srt,原来的命令作为参数:
{
"mcpServers": {
"filesystem": {
"command": "srt",
"args": ["npx", "-y", "@modelcontextprotocol/server-filesystem"]
}
}
}
五、少装
技能会占上下文,装多了反而影响效果:agent 要在一堆说明里挑。用到再找,定期清理。这也是我们做目录站的理由之一——需要时搜一下,而不是先装一百个备着。
六、看许可证
有些技能是非商业许可。比如一个由执业律师维护的中国法律技能合集,说明里就写明「部分技能为非商用许可」。公司里要用,先确认许可证,别等上线了才发现。
最后
这几个工具排在「编码 agent 的工程纪律」合集的最后一组,前面是需求、测试、评审那几步。合集里每个工具都写了要准备什么、哪些事它做不到。
想看的话搜一下 hebbmind.com:
本文由 AI 辅助撰写,三个工具的能力与默认值取自各自仓库的 README(经本站 2026-11-05 核对),安装命令未逐条实际运行。