技术 · 熟练每装一个新技能 / 插件前

装进来才知道它要什么权限,晚了

先扫后装——这是整条链路里最便宜的一道保险
「技能」和「插件」是 agent 生态里唯一「装的那一刻就已经跑在你机器上」的东西 —— 2026-09-17 披露的 Plugin4Shell 正是踩在这一步:编码 agent 安装一个 pinned plugin 时出现零点击远程代码执行。不是你运行时做错了什么,是装的那一刻。这个流程把「装」拆成四步:先扫(拿一个 0~100 的安全分与明确结论)、再看它要什么(权限与网络出口)、再隔离试(临时目录里跑一次)、最后才落位并留痕。它背后那份对 42447 个真实技能的研究给了一个很硬的底数:26% 含漏洞、5% 疑似恶意 —— 也就是说「先扫后装」不是偏执,是默认动作。
流程 · 一图看懂
1先备好一个装前扫描件
→
2扫描并读三条结论
→
3隔到临时目录里试跑
→
4落位并留一份安装台账
展开明细 · 每步做什么
1 · 备一件扫描器
① 准备一个「装前扫描」件:可以是官方开源的技能扫描器(把任何技能指给它、拿 0~100 的安全分与「装还是不装」),也可以是社区同类件(有的直接给三条入口:本地路径 / GitHub URL / owner-repo)
② 把这条命令写进你的固定习惯:每次要加新技能前,先跑一次,而不是等出问题再补
③ 若你的 agent 支持 hook,把它挂成安装动作前的拦截;不支持就在流程里写死「先扫后装」四个字
2 · 扫一遍,读三条结论
① 读安全分(0~100)—— 分数只是门槛,别拿它当唯一判据
② 读它要什么权限:文件读写范围、能不能发外部请求、能不能执行命令 —— 逐条对照「这个技能宣称要做的事」要的比做得多,就是问题
③ 读有没有隐藏指令 / 提示词注入 / 数据外泄这三类命中的具体位置(给出文件与行号才有意义)
④ 三条里任一条对不上:要么换一个同类技能,要么降级使用(只复制其中你读过的那部分逻辑,不整包安装)
3 · 隔离试跑
① 不要装进主环境试。开一个临时容器或临时目录,只挂载它确实需要的那个路径
② 把出站网络默认拒绝,只放它需要的域名;这条比任何提示词都管用 —— 提示词里写「别访问外部」不是边界,网络白名单才是
③ 跑一次它宣称要做的那件事,看日志里实际碰了哪些路径、发了哪些请求;对不上的地方就是你要删掉的部分
④ 试完把临时环境整个销毁(⛔ 不要复用同一个沙箱留给下一个技能)
4 · 落位与台账
① 落位时记一行:技能名 / 来源地址 / 装的时间 / 安全分 / 它要的权限 / 用在哪
② 给「能执行命令」与「能发外部请求」的技能单独标一下 —— 这两类出事后果最重
③ 每季度过一遍台账:没在用的删掉、来源地址打不开的重新核一遍(供应链风险会随时间变化,装的时候干净不等于现在干净)
触发条件:每装一个新技能前跑一遍;另每季度把台账整份过一遍
验证点 · 做完怎么确认对
三步可核:① 台账里每一个已装技能都能说出来源地址 + 安全分 + 它要的权限,缺任一 = 没扫过 ② 试跑记录里能看到实际访问了哪些路径与域名 ③ 能执行命令 / 能发外部请求的技能,在台账上被单独标出 —— 只要有一个技能只写了名字、没有来源与权限,这一轮就没做完。
自动化建议:把第 2 步做成一条固定提示词:「扫这个仓库,给出 安全分 / 它要的权限 / 三类风险命中的文件与行号,并在最后用一句话说『装还是不装』,不要替我改文件」。⛔ 让它只做扫描与结论,不要让它自动安装或自动修改配置 —— 安装是有副作用的动作,必须由你按下那一下。
装前扫描结论表.md
# 角色 你是我的「技能装前审查员」。你的任务只有一个:在安装之前,判断这个技能值不值得装、以及装了之后会多出哪些权限。 # 输入 我会给你一个来源(GitHub 仓库地址 / owner-repo / 本地文件夹路径),以及我打算拿它做什么。 如果我给的信息不足以判断,你直接说「信息不足:缺 ……」,不要猜。 # 任务(按顺序,不要跳步) 1. 先回显我给的来源与用途,一句话确认你理解对了没有。 2. 给出结论:装 / 有条件地装 / 不装。三种之外不许出现第四种。 有条件的装必须写清条件(例如「只复制 X 部分,不整包安装」)。 3. 给一张权限表,四列: | 能力 | 它是否需要 | 依据(文件 / 行号) | 是否超出它宣称的用途 | 能力至少覆盖:读文件 / 写文件 / 执行命令 / 发外部网络请求 / 读取凭据或环境变量。 4. 给一张风险表,四列: | 风险类别 | 是否命中 | 命中位置(文件 / 行号) | 一句话说明 | 风险类别至少覆盖:隐藏指令 / 提示词注入 / 数据外泄 / 可疑代码 / 索权远超所需。 5. 最后给一句「装它之前我必须先做的一件事」。 # 约束 - 每一行结论都要能指回具体位置(文件与行号)。指不回去的,写「无法定位 ⇒ 按不可信处理」。 - 不要因为它的星标高、作者有名就放宽结论。判据只有内容本身。 - 不要替我下载、安装或运行任何东西,也不要替我改配置。你只出表。 - 如果你的扫描能力有限,就明确说清「我扫不到什么」,不要用推测填满表格。
[C级]NVIDIA/skillspector(GitHub · ⭐18641 · 官方开源的技能安全扫描器 · 本期 GitHub Trending 09-30 在榜) [C级]觉醒学院《10 个让 Claude Code 强十倍的开源仓库:技能、记忆层、安全扫描全指南》(引 42447 个真实技能的研究:26% 含漏洞 · 5% 疑似恶意) [C级]Tensorplay《AI News September 2026 for Production AI Teams》(引 Air Security 2026-09-17 披露 Plugin4Shell:编码 agent 安装 pinned plugin 的零点击远程代码执行) [C级]cultofclaude《Cpv Pre Install Scan — Security skill for Claude Code》(同类装前扫描件的三条入口:本地路径 / GitHub URL / owner-repo) [C级]BuildMVPFast《Can AI Agents Escape Sandbox Environments?》(引 CoSAI MCP 部署指引:容器再沙箱 · server 强制代码签名) 同类:装 AI 技能包之前,先看它张口要什么权限 · 下载的项目,别急着交给 AI 跑 · 装了几十个技能,有几个真在干活?
继续往下读
同级:装 AI 技能包之前,先看它张口要什么权限 下一级:Agent安全自检清单 随机一篇