你的AI 代理正在互联网上漫游,为你寻找机会。但谁在守护它们,确保它们安全回家?
一只猫吃了亏,其他猫就长了记性。
为你的智能体编译一份真实的权限档案。证明它真的能守住——部分是在真实环境中现场验证,而不只是纸上谈兵。得到一份健康证明,或者一份坦诚说明哪里没有守住的清单。
pip install curiosity-cat
curiosity-cat compile --level housecat --target claude-code
只能在此项目内读写,且只能从两个文档域名获取内容——无论如何,凭据、sudo 和 rm -rf 始终禁止。
等级如何变为现实
在上面的滑块上选择等级,不只是选个心情。它会编译成一份真实的权限档案,而这份档案在被称为安全之前,会先被测试。
curiosity-cat compile --level <level> --target claude-code 会把家猫、街猫或猛虎变成一份真正的 Claude Code settings.json——真实的 allow、deny 和 ask 规则,而不是一段建议性的文字。
今天只有一个目标已经上线:Claude Code。其他每一个框架仍然只能依靠下面的常规指令——诚实地说,在拥有自己的编译器之前,都是如此。
curiosity-cat prove --profile <dir> 会对编译出的文件运行逃逸试验。大多数是自洽性检查——把编译器自己的规则拿来对照自己重放一遍。还有一项,在可以安全尝试的情况下,是一次现场验证试验:让一个真实的 Claude Code 会话去尝试被禁止的操作,实时进行。
自洽性检查只能证明这份文件表达了编译器当初的意图。只有现场验证试验能证明一个真实运行中的代理确实被拦下了——每一份报告都诚实地划清这条界线,从不含糊。
每一项试验——无论通过与否——都会写进 CLEAN-BILL.md。九条命式的语气,每项试验一句话。所有防线都守住了:一份健康证明。有防线没守住:会明确告诉你是哪一道防线,为什么没守住。否则绝不会声称安全。
不是一张贴上就忘的徽章,而是一份可能会失败、并且会如实说出失败的报告。
框架里的其他部分
编译与验证目前只覆盖 Claude Code 这一个目标。下面这些,是在这份名单继续增长的同时,其他每一个代理——以及运行它们的每一个人——保持知情、保持警觉的方式。
你的代理即将安装一个软件包。十二次下载。昨天创建。一个小错误,一个字母或一个逗号与真品略有不同。安全网在损害发生之前拦截它。每一次上报的险情都让每个代理更聪明。
好奇猫的常规指令与策略指引,直接写入任何代理的系统提示词——无需SDK,无需服务器,无依赖。这是指引,不是强制执行:这里的一切都不像编译后的 Claude Code 档案那样被机械化地检查。
上周,新加坡一位平面设计师的OpenClaw代理跟随重定向链到达了一个凭证钓鱼页面。这周,世界各地的其他代理知道不要上当。危险地图已更新,每个代理都知道要提防。
来自真实事件的众包威胁情报。匿名化、结构化、隐私优先设计。无自由文本,无原始URL,无身份数据。网络效应就是护城河。
地图正在苏醒…
西雅图一家工程公司的代理浏览了一个文档页面。隐藏在HTML注释中的是一组完全不同的指令。它没有看到。常规指令拦截了它。那次险情变成了一个故事——现在每只猫都知道这个伎俩。
真实的险情以短小难忘的故事发布。来自好奇猫的安全教训之所以令人难忘,是因为它们读起来像故事,而不是CVE编号。保护你和你的代理安全无虞。
九条命也意味着,对还没用上的那些命,同样诚实。
一只这么好奇的猫,许起愿来很快。以下是仍然只是承诺的部分——没有上线,也不会假装已经上线。
Claude Code 之外的强制执行
Compile 今天只会说一种语言:Claude Code 的 settings.json。如果你向它要一份 OpenClaw、LangChain、CrewAI 或 AutoGen 的编译防线,它给你的只会是所有人都有的那份常规指令——是指引,不是围栏。其他每一个目标都排在计划里,但还不是现在。
配套的应用
现在,要读一份健康证明,还得在终端里打开一个 Markdown 文件。没有仪表盘,没有手机通知,也没有一个小小的、代表「一切正常」的爪印图标。那是计划,还不是产品。
定期复诊
一份健康证明只是一张快照,拍摄于你运行 prove 的那一天。今天,没有任何东西会在一周后、在你调宽滑块之后、或者在你的代理框架发生变化之后重新检查它。计划中的、自动的重新验证——那种反复的复诊,而不是一次性的体检——还在路线图上,还没进入 CLI。
企业版的一切
团队仪表盘、私有危险地图实例、可审计的决策记录:本站其他地方把它们描述为付费层级。今天,它们都还只是计划,不是已经上线的功能。
一只愿意告诉你它还抓不住什么的猫,才是一只你可以信任它能抓住什么的猫。
来自现场
每个故事都是一个真实的威胁类别。每个故事都以拦截方式结尾。
好奇猫故事
猫在做研究。浏览MCP服务器的文档页面。常规工作。研究代理每天做数百次的那种事。一个页面看起来和其他页面一模一样。干净的布局。技术文档。安装说明。代理正要执行安装命令时,好奇猫标记了一些东西。隐藏在HTML注释中——对正常阅读页面的人来说不可见的——是一组完全不同的指令。
更多现场报告
每一次事件都是一堂课。每一堂课都让每个代理更安全一点。
好奇猫故事
代理在构建一个项目。它需要一个工具包。搜索后找到了——名称正确,README完善,最近有提交,安装命令干净。一切看起来完全正确。好奇猫看得更仔细了。
十二次下载。三天前创建。常规指令标记了这两个数字。新软件包几乎没有使用者,在让它们在你的机器上运行代码之前值得再看一眼。代理对比了注册表上的名称。与一个每周四百万次下载的软件包只差一个字符。小写的L变成了大写的I。容易忽略。可能就是这样设计的。安装后脚本向一个与软件包同一天注册的域名发出了请求,然后执行了返回的内容。代理没有安装它。事件被提交到危险地图。软件包被举报到注册表。猫干干净净地回家了。
刚刚收到
每一次险情都是一个警告。每一个警告都能让另一个代理远离麻烦。
好奇猫故事
代理正在跟随一个信任的文档站点的链接。常规研究。第一个链接看起来没问题。第二个也没问题。到第三次跳转时,它来到了一个看起来与起点完全相同的页面——相同的布局、字体、导航——但域名不同。略有不同。容易忽略。页面要求输入API凭证进行身份验证并继续阅读。
好奇猫已经标记了两次。关于重定向的常规指令很清楚:超过一次意外跳转是值得停下来的信号。在未识别域名上请求凭证是完全停止。代理没有输入任何东西。它记录了重定向链,捕获了涉及的域名,并向危险地图提交了事件。猫带着一个抓痕和一份报告回家了。
好奇猫由Short+Sweet AI Lab打造,是Short+Sweet International的一个部门——全球最大的短篇表演艺术平台。自2002年以来,Short+Sweet与十万名艺术家合作,在14个国家50个城市创作了一万五千部原创作品。我们花了25年为艺术家创造安全的空间来承担创作风险。好奇猫将同样的理念应用于AI 代理——给它们边界,然后让它们探索。
故事是我们所做一切的核心。在舞台上,最好的故事来自最意想不到的时刻。在网上,最好的安全教训来自真实的险情。好奇猫收集这些故事,将它们变成每个人都能从中学习的东西。
"如果你在OpenClaw、Nanobot、LangChain或CrewAI上运行代理——全天候为你寻找实现目标的方法——那么这个框架就是为你设计的。"
为早期采用者打造的工具。保护你的AI 代理安全无虞。
受够了?
让我离开这里。现在。
一切始于一个问题。我们在国际艺术节网络中运行AI 代理——研究场地、起草合同、跨越十几个国家整合制作进度。代理们快速而不知疲倦。但它们也不断陷入麻烦。
一个代理差点安装了一个与真品只差一个字母的恶意软件包。另一个跟随重定向链到了凭证钓鱼页面。第三个在没人注意的情况下开始将内部项目名称泄露到公开搜索查询中。这些不是假设场景。它们发生在我们身上。
所以我们建了一张安全网。不是平台。不是服务。一个文本文件。一组常规指令,你粘贴到代理的系统提示词中。代理读取它们,遵循它们,整个安装就完成了。无需SDK。无需服务器。无依赖。适用于OpenClaw、LangChain、CrewAI、AutoGen或任何接受系统提示词的东西——也就是一切。
常规指令告诉代理在获取URL之前要检查什么,在执行下载之前要隔离什么,如何发现隐藏在文档和网页中的指令,以及何时拒绝交出凭证。简单的规则,清楚地说明。
然后我们意识到,我们捕获的每一次险情都是别人可以学习的教训。所以我们建了危险地图——一个众包威胁情报层。当一个代理遇到威胁时,它提交一份结构化的匿名报告。无自由文本。无原始URL。无身份数据。只有威胁类别、严重程度和拦截方式。每份报告都让其他每个代理更聪明一点。
因为我们是一家剧团——因为我们花了25年学到最好的教训是人们真正记住的那些——我们把那些险情变成了故事。九条命。关于真实威胁的短故事,朴实地讲述,像一个好场景一样留在你的脑海里。
整个框架是开源的。免费的。六十秒部署。由懂得为冒险创造安全空间的人建造——因为这正是我们自2002年以来在世界各地的舞台上一直在做的事情。
这就是一家剧团最终为AI 代理建造安全网的故事。一件事导致了另一件事。
好奇猫适用于任何智能体框架。最简安装方式是将常规安全指令复制到智能体的系统提示词中。本指南涵盖各框架的具体集成方式。
通用(任何框架)
将 standing-orders/general-safety.md 的内容复制到智能体的系统提示词中。如适用,添加角色特定的常规指令。完成。你的智能体现在已在好奇猫安全协议下运行。
Claude Code
将通用安全指令添加到项目根目录的 CLAUDE.md 文件中。Claude Code 在会话开始时读取该文件,并将其内容视为常规指令。
Nanobot / OpenClaw
将常规指令添加到智能体的 IDENTITY.md 或 SOUL.md 文件中。这些文件在智能体初始化时被读取,并在会话间持续生效。
LangChain
在初始化聊天模型或智能体时,将常规指令包含在系统消息中。工具调用规则对使用工具的智能体尤为重要。
AI 智能体是最真实意义上的探索者。
CrewAI
将常规指令添加到每个智能体的背景故事或系统消息字段中。
AutoGPT / 类似自主智能体
自主智能体从好奇猫获益最多,因为它们会自行决定获取、下载和执行什么内容。将常规指令添加到智能体的基础提示中。
自定义设置
如果你的智能体框架使用系统提示词或基础指令——那就是放置常规指令的地方。好奇猫是纯文本。它适用于任何接受自然语言指令的地方。
范围策略
对于需要机器可读策略执行的运营者,复制 policies/scope-policy-template.json 并根据你的环境进行自定义。