你的 AI Agent 被提示注入了吗?用 Agent Canary 做一次真实的运行时检测
AI Agent 能读取文件、调用工具、执行命令,也正因为如此,提示注入不一定会立刻表现为明显报错。
很多防御方案是在判断“这段文字像不像攻击”,但判断结果可能有误报。Agent Canary 采用另一种思路:放置正常业务流程永远不会主动触碰的诱饵,一旦被调用,就产生明确的安全信号。
Agent Canary 能做什么?
- 注册惰性的诱饵 MCP 工具,不执行真实转账、命令或密钥读取;
- 在蜜罐文件中植入唯一金丝雀令牌;
- 监控诱饵工具调用和令牌泄露;
- 记录工具、参数、调用链和追踪令牌;
- 支持本地审计、桌面通知、Webhook,以及 JSONL 日志;
- 支持 Claude Code、Cursor、Cline、Windsurf 等 MCP 客户端;
- 非 MCP Agent 也可以通过 SDK 接入。
核心原则很简单:正常流程不应该碰到诱饵,因此告警信号比单纯的文本分类更容易复现和审计。
一个最小使用流程
环境要求:Node.js 20+。
npm install -g https://github.com/DorianChn/agent-canary/releases/download/v2.0.0-personal/agent-canary-2.0.0.tgz
agent-canary init
agent-canary install claude
agent-canary tokens plant .env.canary --label demo
agent-canary watch .
如果 Agent 触碰诱饵工具或泄露令牌,可以通过以下命令查看事件:
agent-canary status
agent-canary report --out incident.md
agent-canary export --format json --out events.jsonl
V1 和 V2 的区别
公开测试线 V1 永久免费,包含核心防护能力:诱饵工具、金丝雀令牌、泄露扫描、监控告警和 MCP 安装。
V2 Personal 是付费版本,增加可复现的注入评测、攻击链面板、SIEM 导出和 SDK 接入。付款确认后发放一次性激活码,激活码按购买时长授权,并绑定首次激活设备。
V2 源码、签名私钥和付款配置不会放入公开仓库。个人用户可以先使用 V1 验证效果,再根据需要购买 V2。
适合哪些场景?
- 调试 Claude Code、Cursor 等编程 Agent;
- 为内部 MCP 工具增加运行时安全信号;
- 做 Prompt Injection 的可复现实验;
- 在 CI 中验证 Agent 是否触碰高风险工具;
- 为安全研究、红队演练或私有部署增加审计链路。
项目地址
- GitHub:github.com/DorianChn/a…
- 在线介绍:dorianchn.github.io/agent-canar…
- Glama:glama.ai/mcp/servers…
- MCP Registry:registry.modelcontextprotocol.io/v0.1/server…
项目目前处于持续完善阶段,欢迎提交可复现的问题、集成建议或合作需求。请不要在公开 Issue/Discussion 中提交付款凭证、激活码、私钥、客户数据或未公开漏洞。
本文只介绍检测和审计能力,不保证替代完整的权限控制、沙箱、密钥管理或人工审批流程。
推荐标签: AI MCP Prompt Injection Agent AI安全 Node.js 开源项目