Wip Repo Permissions Hook

🔒 仓库公开前的智能门卫

GitHub仓库可见性守卫工具,强制要求公开仓库必须存在对应的私有版本,防止AI开发文档意外泄露

收藏
4.6k
安装
1.2k
版本
1.9.65
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

wip-repo-permissions-hook 是一款针对 GitHub 组织的仓库可见性管控工具,通过强制"双仓库策略"保护内部开发信息:

执行机制:运行 node cli.js check <org>/<repo> 验证目标仓库能否转为公开——系统会检测是否存在 {name}-private 对应仓库。若缺失则阻断操作,并输出合规提示。

批量审计node cli.js audit <org> 扫描整个组织,列出所有不符合"公开必有私有镜像"规则的仓库,生成整改清单。

集成形态

  • CLI 工具:直接命令行调用
  • MCP 服务:通过 .mcp.json 配置,向 Claude 等 AI 客户端暴露 repo_permissions_check / repo_permissions_audit 工具
  • Claude Code Hook:注入 ~/.claude/settings.jsonPreToolUse 阶段,在 Bash 工具执行前自动拦截危险操作
  • OpenClaw 插件:放置于 ~/.ldm/extensions/ 作为网关扩展

双仓库内容分工

  • -private 仓库:存放 ai/ 目录(计划、待办、开发日志、敏感笔记)
  • 公开仓库:同源代码,剔除 ai/ 目录

显著优点

1. 合规前置:在仓库转公开前强制校验,而非事后补救,从根本上杜绝敏感信息泄露
2. 零配置接入:支持 npm 全局安装,依赖仅为 Node.js 18+ 和 GitHub CLI

3. 多场景覆盖:CLI 适合 CI/CD 流水线,MCP/Hook 适合 AI 辅助开发场景

4. 开源豁免:自动识别外部项目 Fork,避免误拦截

5. 组织级视野audit 命令可批量扫描整个 GitHub 组织,适合安全合规团队

潜在缺点与局限性

  • 命名约定依赖:强制要求 {name}-private 严格匹配,拼写错误或连字符差异会导致验证失败
  • 无法检测内容:仅校验仓库存在性,不扫描实际文件内容,-private 仓库本身若配置错误仍可能泄露
  • GitHub 专属:深度依赖 gh CLI 和 GitHub API,不适用于 GitLab、Bitbucket 等平台
  • Hook 覆盖有限:Claude Code Hook 仅拦截 Bash 工具调用,若通过其他 MCP 工具或外部脚本操作则无法感知
  • 单点故障:若 gh 凭证失效或 API 限流,校验可能静默失败或阻塞正常流程

适合人群

  • AI 原生开发团队:使用 Claude Code、Cursor 等工具且担心 ai/ 提示词/计划泄露的开发者
  • 开源合规负责人:管理组织 GitHub 仓库,需强制执行"公开前审查"政策的 DevOps/安全工程师
  • 多仓库项目负责人:同时维护公私双版本仓库,需要自动化校验避免配置失误

常规风险

  • 凭证泄露gh CLI 依赖环境变量或配置文件中的 GitHub Token,若权限配置不当(如使用具有 org:write 的 token)可能扩大攻击面
  • 供应链风险:npm 包 @wipcomputer/wip-repo-permissions-hook 的完整性和作者可信度需额外验证
  • Hook 注入风险:修改 ~/.claude/settings.json 若被恶意篡改,可能拦截合法操作或植入后门
  • 误拦截风险:紧急 hotfix 场景下,严格的私有镜像要求可能延缓公开发布流程

Wip Repo Permissions Hook 内容

手动下载zip · 7.9 kB
cli.jstext/javascript
请选择文件