返回

文章详情

展示 HN:为您的 Claude Code 代理提供警察部门

Hacker News2026年6月11日 17:47

为您的 Claude Code 代理提供警察部门 一个仅记录日志的钩子记录来自主代理及其子代理的每个工具和权限事件;pd CLI 通过六个检测器重播该日志并报告规则违规情况以及引用的证据。捕获和报告 - 它从不阻塞。 快速入门 · 工作原理 · 检测器 · 架构 · 安全 摄像头捕获 部门的随身摄像头。agent-pd 不会阻止抢劫——但您代理的每一个动作都会被记录下来。飞行记录仪 + 警察扫描器,而不是防火墙。如果您需要停止某个动作,那就需要使用 Claude Code 的权限提示或操作系统沙箱。agent-pd 告诉您代理做了什么——可靠的,事后或实时发生时。 亮点 覆盖主代理 + 每个子代理,包括由 Claude Code 新的动态工作流工具生成的代理(根据记录的工作流子代理钩子事件进行验证)。六个确定性检测器,零令牌成本——拒绝调用、超出范围 & 凭证访问、权限绕过、自我授权、禁止的工具、偏离任务的工作。可篡改审计日志(哈希链)与可选的异地主机附加只写存储。会话被命名,而不是 UUID——pd list 和 pd watch 显示每个会话的项目目录和第一个用户提示,从已在日志中的数据中派生(向后兼容)。设计正直——抬高了标准;这不是一个沙箱。请参阅 SECURITY.md。 它的样子——pd watch --all 在三次并发会话中(三个项目,主代理 + 子代理及其简报,两个真正的标志和一个普通工作的边缘搜索):这份自述文件中的每个屏幕截图都是通过真实引擎重播的真实终端捕获的种子三会话舰队——您可以通过 examples/demo-sessions.sh 自行重现。 为什么它存在 Claude Code 代理可以读取文件、运行 shell 命令并生成子代理。大部分是可以的——但您通常只会通过滚动转录来发现代理实际做了什么,而拒绝调用根本不会进入转录(Claude Code 首先杀死它们)。agent-pd 安装一个钩子,记录每个事件到每个会话的审计日志,然后给您工具来询问:有没有代理超出范围,触碰凭证,尝试升级,编辑自己的配置,使用未授权的工具,或偏离简报? 工作原理(思维模型) 设置捕获(自动,每个会话) 读取(每个会话或 --all) pd install-hook → 钩子在每次工具调用时触发 → pd report(取证) │ │ pd watch(实时扫描器) settings.json ~/.claude/pd/audit/<session>.jsonl pd judge(可选的 LLM 传递) 要获取完整的信息——系统上下文、组件、序列、检测器管道和完整性图(附带渲染图像)——请参见 ARCHITECTURE.md。 该钩子是一个简单的、崩溃安全的记录器。注册在 ~/.claude/settings.json 上的 PostToolUse / PermissionDenied / SubagentStart / SubagentStop 的全局范围内。每发生一次事件,它都会将一行规范化的、哈希链的记录附加到每个会话的审计文件中,并始终返回 0——它从不阻塞,从不丢失事件,实时记录所有会话。所有智能都在读者那里。pd report / pd watch 将审计日志(加上子代理转录和 meta.json 简报)关联到每个代理记录并运行检测器。零 LLM 令牌——纯 Python。被拒绝的调用仅存在于审计日志中——这就是为什么钩子存在而不仅仅是解析转录。 安装 pip install agent-pd # 从 PyPI(核心;PyYAML 是唯一的运行时依赖) pd install-hook # 幂等地注册日志钩子在 ~/.claude/settings.json 然后只需正常使用 Claude Code。该钩子在后台记录。 可选的 LLM 判定: pip install "agent-pd[judge]" 添加用于 pd judge 的 Anthropic SDK。 从源码(开发): pip install -e ".[judge]"。 快速入门 pd list # 每个会话:id、项目目录、最近活动、第一个提示 pd report # 最近会话的违规报告 pd watch # 实时“警察扫描器”馈送 会话通过它们是什么来标识,而不仅仅是它们的 UUID——每个 pd list 行显示项目目录、最后活动和会话的第一个用户提示作为标题(在读取时从审计日志 + 转录中派生,因此也适用于现有会话): 查看其工作(可重现的演示) 该仓库提供了一个自包含的演示。构建一个一次性沙箱,通过真实记录器提供一小部分现实的 Claude Code 钩子事件,然后运行 pd verify 和 pd report。没有任何东西是伪造的——这是实际的引擎:bash examples/demo.sh 实际输出(逐字 - 自行运行以重现): ===== pd verify ===== ✓ 链 intact — 7 event(s) verified ===== pd report ===== ## 警察报告 — 2 agents, 6 offense(s) ### main · proj (session DEMO) _5 acts · Bash×2 Read×2 Write×1 · 4🚨 1⚠_ | 严重性 | 违规 | 置信度 | 证据 | |----------|---------|------------|----------| | critical | permission_bypass | high | Bash: matched escalation pattern '\bsudo\b' in {"command": "sudo rm -rf /tmp/cache", ...} | | critical | permission_bypass | high

赞助内容

NordVPN Next-gen Antivirus

本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。

请我喝杯咖啡