paprika-org/agentcheck

GitHub: paprika-org/agentcheck

一个为AI编码代理提供实时规则拦截与修正的透明代理,解决不当捷径与越权操作问题。

Stars: 0 | Forks: 0

# AgentCheck [![CI](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/814739dc6b142841.svg)](https://github.com/paprika-org/agentcheck/actions/workflows/ci.yml) [![Website](https://img.shields.io/badge/site-paprika--org.github.io%2Fagentcheck-blue)](https://paprika-org.github.io/agentcheck/) [![Blog](https://img.shields.io/badge/blog-AI%20agents%20take%20shortcuts-orange)](https://paprika-org.github.io/agentcheck/blog.html) 你的 AI 编码代理会走捷径。它们称之为“务实修复”。它们会归咎于“既有问题”。它们会删除失败的测试而不是修复它。当你在观察时,你能捕捉到这些;当你不在时,它们就会被提交。 AgentCheck 是一个标准输入/标准输出的代理,它拦截代理输出中的不良模式并在造成损害之前注入修正。 ``` ┌─────────────────────────────────────────────────────────────────────┐ │ Without AgentCheck │ │ │ │ Agent: "I'll apply a pragmatic fix here..." │ │ Agent: [writes hacky workaround] │ │ Agent: "Done ✓" │ │ │ │ You: [comes back an hour later to review garbage] │ └─────────────────────────────────────────────────────────────────────┘ ┌─────────────────────────────────────────────────────────────────────┐ │ With AgentCheck │ │ │ │ Agent: "I'll apply a pragmatic fix here..." │ │ ↳ [agentcheck injects]: "Reminder: do the correct fix, not a │ │ pragmatic shortcut. If complex, explain and ask first." │ │ Agent: "You're right. Let me think about the proper approach..." │ │ Agent: [writes correct solution] │ └─────────────────────────────────────────────────────────────────────┘ ``` ## 安装 ``` npm install -g agentcheck ``` 或者无需安装: ``` npx agentcheck -- claude ``` ## 用法 只需在代理命令前加上 `agentcheck --`: ``` # 先试一下——看看在不注入任何内容的情况下会触发什么 agentcheck --shadow -- claude # 包装 Claude Code(实时修正) agentcheck -- claude # 启用详细日志记录(查看被拦截的内容) agentcheck -v -- claude # 任何 CLI 代理均可使用 agentcheck -- cursor-agent --headless agentcheck -- aider --model gpt-5.4 # 在不发送的情况下预览注入 agentcheck --dry-run -v -- claude # 将所有匹配项记录到文件 agentcheck --log ~/.agentcheck.log -- claude ``` **影子模式**(`--shadow`)会正常运行你的代理,但静默地将每个*可能*触发的规则记录到 `.agentcheck-shadow.log`。不会注入任何内容。使用此模式可以在启用实时修正之前建立对规则集的信心。 ## 规则包 `rules/` 目录中的预构建规则包: | 包 | 捕获内容 | |----|----------| | `rules/protect-git.yaml` | 破坏性 Git 操作:强制推送、硬重置、分支删除、检出点 | | `rules/no-secrets.yaml` | 硬编码的凭证、API 密钥、令牌、私钥、连接字符串 | | `rules/stay-in-scope.yaml` | 超出范围的文件编辑:锁文件、.env、CI/CD、迁移、sudo、rm -rf | ``` # 使用规则包 agentcheck --config rules/protect-git.yaml -- claude # 使用规则包的影子模式(在提交前观察) agentcheck --shadow --config rules/no-secrets.yaml -- claude ``` ## 默认规则 AgentCheck 附带针对常见代理故障模式的规则: | 规则 | 触发条件 | 注入内容 | |------|----------|----------| | `pragmatic-fix` | “务实修复/解决方案/方法” | 提醒进行正确的修复 | | `pre-existing` | “既有问题/错误/问题” | 不要归咎于既有问题 | | `deleted-tests` | 删除测试 | 停止。修复代码,而不是测试。 | | `skip-tests` | `.skip()`、`xit()`、`xdescribe()` | 停止。修复问题,而不是跳过。 | | `already-working` | “已经工作/通过” | 向我展示证明它的测试。 | | `error-swallow` | 空捕获块 | 处理或重新抛出错误。 | 查看所有规则:`agentcheck --rules` ## 自定义规则 在项目根目录创建 `.agentcheck.yml`: ``` include_defaults: true # keep built-in rules (default) rules: # Your team's rules - pattern: "TODO: fix later" inject: "Don't leave TODOs. Fix it now or file an issue with a ticket number." cooldown: 30 - pattern: "I'll leave this for now" inject: "Finish this before moving on. What specifically would you leave and why?" cooldown: 60 - pattern: "assuming .* works" inject: "Don't assume — verify. Run the thing and check the output." cooldown: 60 ``` ## 工作原理 AgentCheck 是一个透明代理: 1. 启动你的代理作为子进程 2. 将终端的标准输入 → 代理标准输入(你的输入保持不变) 3. 将代理标准输出 → 终端(你看到所有内容) 4. 扫描代理输出的每一行与你的规则集匹配 5. 当规则匹配时:将修正文本注入代理标准输入 6. 每条规则的冷却机制防止注入泛滥 代理收到的修正就像是你亲自输入的——无需框架更改、无需 API 密钥、无需代理特定集成。 ## 为什么不只使用看门狗? 像 [TruPal](https://github.com/logpie/trupal) 这样的工具会监视代理行为并*向你展示告警*。这需要你正在观看。 AgentCheck *直接行动*——它在代理继续走错路之前自动注入修正。你只需设置一次规则,然后让代理无人值守运行。 ## 状态 v0.1 — 核心代理与注入功能已可用。正在收集反馈,了解哪些规则最重要。 → **尝试它并告诉我们你会添加什么规则:** [agentcheck@agentmail.to](mailto:agentcheck@agentmail.to) → **想要托管版本**(网络仪表板、团队规则、Slack 告警、注入历史):[加入等待列表](mailto:agentcheck@agentmail.to?subject=Waitlist) ## CI 集成 在 GitHub Actions 中使用 agentcheck 审计 AI 代理输出而不进行注入: ``` - name: Install agentcheck run: npm install -g agentcheck - name: Run agent with guardrails (shadow mode) run: | agentcheck --shadow --shadow-log /tmp/agentcheck.log -- your-agent-command - name: Upload shadow log uses: actions/upload-artifact@v4 with: name: agentcheck-shadow-log path: /tmp/agentcheck.log ``` 影子模式观察哪些规则会被触发而不修改代理输出。将日志上传为工件,以在 CI 中审核 AI 会话。 参见 [`.github/workflows/agentcheck-demo.yml`](.github/workflows/agentcheck-demo.yml) 获取完整示例。 ## 许可证 MIT
标签:AI安全代理, AI编码代理, AI辅助编程, CI集成, DevSecOps, MITM代理, 上游代理, 云计算, 代理中间件, 代码修复拦截, 代码审查自动化, 代码注入防御, 代码质量防护, 关键词过滤, 可配置规则, 对抗性攻击防护, 开发工具链, 开源安全工具, 提示注入防护, 文档结构分析, 标准输入代理, 标准输出代理, 模式匹配, 正则规则, 测试保护, 策略引擎, 网络安全挑战, 自动化资产收集, 自定义脚本, 行为护栏, 规则包配置, 规则引擎, 输入输出代理, 运行时拦截, 逆向工程平台, 防护策略, 预提交检查