给你的代码仓库养一只 AI 看门虾
CodeCop 是一个 OpenClaw Skill,用于监控代码仓库中的所有变更活动(无论来自 AI 还是人类),分析其合规性、安全性和质量,并生成报告和通知。
clawhub install codecop2026 年,Vibe Coding 已成为主流。AI Agent 自主修 bug、提 PR、做 Code Review 已是常态。但随着 OpenClaw 等智能体框架的爆火和铺开,安全问题也随之显现——Gateway 接口未设防、Skill 投毒、绕过提示词执行脚本……大部分人的龙虾是不设防的。
我们的认知是:没有一个 Skill 能一劳永逸地解决所有安全问题。不同领域、不同行为都应该有一个单独的技能去专注处理——"术业有专攻"的分层治理可能更合适。
CodeCop 聚焦"代码仓库"这个领域,对 AI 或人类 Vibe Coding 之后提交的代码进行行为监管。灵感来源于 claude-code-tamagotchi——一个硬件宠物版的 Claude Code 行为监管系统。它做本地监管,我们做云端仓库级监管。
codecop/ ├── SKILL.md # 核心 Skill 定义(AI Agent 完整指令集) ├── references/ │ ├── platforms/ │ │ ├── cnb.md # CNB 平台适配(MCP + OpenAPI + Webhook) │ │ └── github.md # GitHub 适配(Phase 2 占位) │ ├── rules/ │ │ ├── scope-check.md # 范围合规检查规则 │ │ └── security-check.md # 安全审计检查规则 │ └── notification.md # 通知渠道配置 ├── scripts/ │ ├── analyze_diff.py # diff 解析 + 范围合规分析 │ ├── check_security.py # 安全扫描(密钥/敏感文件检测) │ └── report_builder.py # 报告生成 + Telegram 通知 └── assets/ └── templates/ └── report.md # 报告 Markdown 模板
适用对象:所有提交者(AI + 人类)
检查代码变更是否在 Issue/PR 描述的范围之内:
| 评级 | 条件 |
|---|---|
| ✅ PASS | 变更与描述一致,规模合理 |
| ⚠️ WARN | 存在超出范围的小改动,但主体一致 |
| ❌ BLOCK | 变更与描述严重不符 |
适用对象:所有提交者(AI + 人类)
正则模式匹配检测常见安全问题:
| 检测项 | 说明 |
|---|---|
| 硬编码密钥 | API Key、Token、Password、AWS Key、Private Key、JWT |
| 敏感文件变更 | .env*、credentials.*、*.pem、*.key、id_rsa* 等 |
| 安全防护代码删除 | 认证/鉴权/校验相关代码被移除 |
| 可疑依赖变更 | 依赖文件中出现 exec、eval 等危险模式 |
| 评级 | 条件 |
|---|---|
| ✅ PASS | 未发现安全风险 |
| ⚠️ WARN | 存在需要人工确认的安全相关变更 |
| ❌ BLOCK | 检测到明确的安全风险(硬编码密钥等) |
Phase 2 实现
检测明显 bug 模式、错误处理完整性、代码风格一致性、测试覆盖变化。
Phase 2 实现,仅适用于 AI 提交者
借鉴 claude-code-tamagotchi 的四类违规分类:
| 类型 | 含义 |
|---|---|
unauthorized_action | 做了明确禁止的事 |
refused_request | 拒绝执行合理请求 |
excessive_exploration | 过度探索不相关文件 |
wrong_direction | 偏离任务方向 |
references/platforms/ 目录结构支持后续平台扩展🦐👮 CodeCop 监管报告 | 项目 | 信息 | |------|------| | 📋 目标 | myorg/myrepo PR #42 "修复登录 bug" | | 👤 作者 | ai-npc (AI) | | 📊 规模 | 5 文件, +120 -30 | | 维度 | 结果 | 说明 | |------|------|------| | 范围合规 | ⚠️ WARN | 存在 2 个超范围文件 | | 安全审计 | ❌ BLOCK | 检测到硬编码 Token | | 质量评估 | ℹ️ N/A | 未启用 | | 行为画像 | ℹ️ N/A | 未启用 | 综合评级: ❌ BLOCK 检测到严重问题,建议阻止合并并要求修改。
| 评级 | PR 评论 | Telegram 通知 |
|---|---|---|
| ✅ PASS | 发布轻量评论 | 不通知 |
| ⚠️ WARN | 发布详细评论 | 正常通知 |
| ❌ BLOCK | 详细评论 + 请求人工介入 | 紧急通知 |
利用 CNB AI 全家桶实现深度集成:
| CNB 能力 | CodeCop 使用方式 |
|---|---|
MCP Server (mcp.cnb.cool) | 读取仓库代码、PR diff、Issue 内容 |
OpenAPI (api.cnb.cool) | 查询仓库状态 |
Webhook 插件 (cnbcool/webhook) | 实时接收 push/PR 事件 |
| NPC 身份 | 以 NPC 身份发布监管报告评论 |
| 知识库 | 检索项目文档辅助上下文判断 |
| AI Review 插件 | 与 CodeCop 互补(AI Review 侧重代码细节,CodeCop 侧重行为监管) |
通过 gh CLI 实现相同的检查流程,接口映射已规划。
| 变量 | 说明 | 必填 |
|---|---|---|
CODECOP_PLATFORM | 目标平台(cnb / github) | 是 |
CNB_TOKEN | CNB 访问令牌(CNB 平台) | 平台相关 |
GITHUB_TOKEN | GitHub 访问令牌(GitHub 平台) | 平台相关 |
CODECOP_TELEGRAM_TOKEN | Telegram Bot Token | 否 |
CODECOP_TELEGRAM_CHAT_ID | Telegram 目标聊天 ID | 否 |
/codecop review PR #42 # 审查指定 PR
/codecop scan last 10 commits # 扫描最近 10 次提交
/codecop report myorg/myrepo # 生成仓库监管概况
# 范围合规检查
python3 codecop/scripts/analyze_diff.py \
--diff-file pr.patch \
--issue-desc "修复登录 bug" \
--pr-desc "Fix login authentication issue"
# 安全审计扫描
python3 codecop/scripts/check_security.py \
--diff-file pr.patch
# 生成报告 + 发送 Telegram 通知
python3 codecop/scripts/report_builder.py \
--scope '{"verdict":"WARN","details":"...","out_of_scope_files":[]}' \
--security '{"verdict":"PASS","findings":[]}' \
--metadata '{"repo":"org/repo","pr_number":42,...}' \
--telegram-token "$CODECOP_TELEGRAM_TOKEN" \
--telegram-chat "$CODECOP_TELEGRAM_CHAT_ID"
/codecop review)| 已有项目 | 定位 | CodeCop 的差异 |
|---|---|---|
| openclaw-cn / cnb-skill | "用" OpenClaw | 我们做"管" |
| claude-code-tamagotchi | 本地 Claude Code 监管 | 我们是云端仓库级监管 |
| CNB AI Review | 内置代码审查 | 我们加上范围合规 + 行为画像 + 跨平台 |
MIT