Plugin 在平台沙箱里运行,有声明式权限控制(类似手机 App 的"是否允许访问相机?")。
CLI 直接执行系统命令。 AI 一旦能运行某个 CLI,就能用这个身份做任何该 CLI 支持的操作。没有"只读不写"的细粒度控制。
这是 CLI 最大的结构性缺陷,目前靠 --dry-run 和人工确认来补救。
本列表中的工具是 策展收录,非安全审计。
- 我们验证了工具的来源和基本功能
- 我们 没有 做代码安全审计
- 工具可能随时被原作者更新、修改
- 使用任何工具前,请自行评估风险
| 操作类型 | 风险等级 | 示例 | 建议 |
|---|---|---|---|
| 只读查询 | 🟢 低 | 查日程、搜文件、查状态 | 可直接使用 |
| 数据导出 | 🟡 中 | 导出邮件、下载文件 | 注意数据去向 |
| 写操作 | 🟡 中 | 发消息、创建文档 | 用 --dry-run 预览 |
| 破坏性操作 | 🔴 高 | 删除文件、清空数据 | 必须人工确认 |
| 认证/密钥 | 🔴 高 | 配置 API Key、OAuth | 不要让 AI 管理密钥 |
| 付款/交易 | 🔴 高 | 支付、转账 | 严禁 AI 自动执行 |
# 先预览,再执行
stripe payment_intents create --amount 1000 --currency usd --dry-run
# 确认没问题后去掉 --dry-run
stripe payment_intents create --amount 1000 --currency usd# 正确:使用环境变量
export STRIPE_API_KEY=sk_test_xxx
stripe listen
# 错误:在提示词中暴露密钥
# "用 API Key sk_test_xxx 调用 Stripe" ← 千万别这么做- 能用只读 Token 就别用读写 Token
- 能用测试环境就别用生产环境
- 能限制 IP 白名单就限制
特别注意:
rm -rf/del类删除命令- 包含
sudo的命令 - 涉及网络传输的命令(
curl -X POST) - 修改系统配置的命令
如果你发现本列表中某个工具存在安全风险:
- 不要公开披露 —— 先联系工具维护者
- 在本仓库提 Issue(标记为
security) - 我们会评估并更新工具状态