AI安装防护
一个Claude Code mod在后台运行。每次安装一次 /plugin install,市场和MCP服务器,你或克劳德的,以及克劳德所做的每一个技能或设置更改,在它登陆之前都会被检查:没有什么要运行的,没有什么要记住的。
/plugin install ai-install-guard --marketplace ziniman/ai-install-guard
它是做什么的
你在Claude Code中添加的所有内容都以你的权限运行:插件的钩子在每个会话中运行,MCP服务器可以下载并启动包,技能可以携带隐藏指令。检查它通常是一个单独的步骤,你必须记住,它永远不会看到Claude自己安装了什么。
AI安装守卫住在克劳德代码。当要添加新内容时,它获取准确的版本,读取每个文件而不运行任何文件,并保持它,直到您按下按钮 安装 或者 拒绝.
- 自动的。 没有命令要先运行:从安装的那一刻起,它就会妨碍每次安装。
- 它也抓住了克劳德。 克劳德自己添加的东西会像你输入的一样被检查,并等待你,除非是克劳德自己写的东西,没有危险信号。
- 固定。 判定属于一个提交和内容散列,并且只安装该版本。
- 本地和开放。 没有账户和服务器,所有检查都在这个存储库中。
它拥有 /plugin install 和 /plugin marketplace add,并且,当Claude这样做时:插件安装,MCP服务器添加,技能,命令和代理它写了一个红旗,设置更改,扩大它可能运行的,和shell命令所做的相同的更改。加载你从未批准的文件的mod(从 /plugin 菜单,自己更新,在适当的地方改变)保持关闭,直到你批准它,一个没有安装的技能(从你克隆的存储库,手工复制)在第一次使用时被检查,一个插件是新的,但自上次查看以来改变了(自己更新,从终端安装)在会话开始时被检查,MCP服务器和钩子在你的配置中(由 git pull,由另一个程序的安装程序编写)。从菜单中选择的插件在安装之前不会被扫描,所以输入 /plugin install <name>@<marketplace> 代替。 它介入的地方 每种情况都有。
使用它
像往常一样安装插件。卫兵在窗玻璃上写了一个结论:
- 没有危险信号没什么可疑的。“It can”这一行表示它将能够做什么,所以你可以判断它是否合适。
- 值得一看有些特别的东西值得先看一看。
- 请勿安装危险信号。无论如何,安装它都会要求两次。
- 无法验证警卫不知道会安装什么。无论如何,安装它都会要求两次。
新闻 安装 (i)或 拒绝 (r). 当它保存Claude运行的命令时,在窗格中批准它,然后告诉Claude再次运行它。
在安装某个东西之前检查它:
| 命令 | 它是做什么的 |
|---|---|
/guard scan <folder or repository> | 扫描它而不安装它 |
/guard report | 重新打开上一个报告 |
/guard list | 已批准和已拒绝的版本 |
/guard held | mod保持加载,插件和配置等待您的决定 |
/guard forget <name> | 忘记一个决定,所以它被再次审判 |
同样的扫描器也运行在Claude聊天,作为一个技能: 在Claude聊天中使用它. 至于其他的,请看 它是如何工作的, 命令和窗格 还有其他的 的文档.
回顾徽章
如果你发布了一个插件,扫描你的存储库并运行 /guard badge 为了一个徽章,上面写着判决书的名字和扫描的确切内容。徽章是一张任何人都可以粘贴的图片,所以警卫从不相信任何人:要想知道,你得自己扫描仓库。看到 回顾徽章.
守卫自己能做什么
安全工具应该遵守自己的规则。这个mod使用的一切,作为 claude plugin validate . 列表:
| 能力 | 为什么 |
|---|---|
process.run | 跑步 git 要获取正在扫描到其自己的临时文件夹中的准确提交 claude 命令来验证候选插件,查找插件来自何处并列出正在运行的插件, readlink 查看链接指向的位置,和 printenv 找到你的主文件夹。它从不从候选人那里得到任何东西。 |
fs.read, fs.list, fs.stat | 读取它扫描的文件(Claude将要写入的文件将真正着陆的地方),并在会话开始时读取配置文件。它自己不写文件。 |
command.run | 拦截 /plugin 保持一个安装,并运行自己的 /plugin 命令,一旦您同意,或者 /plugin disable 当你关闭一个插件时,它会打开。看到每一个其他斜杠命令,检查技能或命令的名称,在它运行之前,只回答它持有的一个。 |
tool.call | 读取Claude将要编写的每个shell命令和文件,并且只拒绝那些添加了Claude代码从哪里加载的命令和文件,直到您批准为止。检查每个技能克劳德即将运行相同的方式,并拒绝你拒绝的MCP服务器的工具。 |
classic.CwdChanged | 注意Claude的shell命令运行的文件夹,所以在它到达的地方读取一个相对路径。 |
plugin.register | 检查每个mod Claude Code即将加载,并保留一个文件不是你批准的版本。 |
skill.prompt | 在指令加载时再次检查没有安装的技能(您的,存储库的),查找在斜杠命令和技能工具没有查找的地方发现的技能,并保留一个红旗,直到您批准它。 |
http.fetch | 读取GitHub存储库的公共详细信息(年龄,星号,提交是否已签名),并且只有当您打开它们时,才会读取 查找外. |
store, state, ui, command.register | 记住您的决定,绘制窗格,并添加 /guard 命令。 |
每一个细节都在 守卫自己能做什么它所不能承诺的,就在里面 它不是什么.
卸载
/plugin uninstall ai-install-guard@ai-install-guard
要暂时关掉它,请使用 /plugin disable ai-install-guard@ai-install-guard. 守卫关不上了,所以一个窃听器可能藏着本该通过的东西。如果它挡了你的路,把它从克劳德代码外的终端关掉,它什么也看不见,然后 打开一个问题:
claude plugin disable ai-install-guard@ai-install-guard
更多,包括仅为一个项目存储的决策和安装: 卸载和故障排除.
状态
早期的发展。今天,上面的大门还在工作;接下来,更新将显示自您批准的版本以来发生的更改,并且可选的模型检查可以添加警告。看到 路线图.
贡献
欢迎发布和pull请求。看到 CONTRIBUTING.md.
许可证
Apache 2.0,参见 许可证.