Agent Canary

8 阅读2分钟

你的 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 是否触碰高风险工具;
  • 为安全研究、红队演练或私有部署增加审计链路。

项目地址

项目目前处于持续完善阶段,欢迎提交可复现的问题、集成建议或合作需求。请不要在公开 Issue/Discussion 中提交付款凭证、激活码、私钥、客户数据或未公开漏洞。

本文只介绍检测和审计能力,不保证替代完整的权限控制、沙箱、密钥管理或人工审批流程。

推荐标签: AI MCP Prompt Injection Agent AI安全 Node.js 开源项目