← 返回文章列表

GitHub 组织密钥扫描:49 个开发者,10 并行全覆盖

📖 预计阅读 2 分钟
𝕏in

GitHub 组织密钥扫描

背景

组织有 49 个开发者,每个人都有个人 GitHub 账号。任何人都可能在个人公开仓库里不小心提交云厂商密钥——这是真实发生过的事。

方案

扫描架构

EventBridge (每 10 分钟)
       ↓
github-org-scanner (扫描组织公开仓库)
       ↓
github-scanner-g0 ~ g9 (10 个并行 Lambda)
  49 人分 10 组,扫描个人公开仓库
       ↓
github-org-monitor (监控组织成员/仓库变更)
       ↓
发现密钥 → 秒级告警

检测规则

PATTERNS = {
    "AWS Access Key": r"AKIA[0-9A-Z]{16}",
    "AWS Secret Key": r"[0-9a-zA-Z/+]{40}",
    "GCP API Key": r"AIza[0-9A-Za-z_-]{35}",
    "Alibaba Cloud AK": r"LTAI[0-9A-Za-z]{12,20}",
    "Tencent Cloud SecretId": r"AKID[0-9A-Za-z]{13,20}",
}

扫描策略

  • 只扫描最近 15 分钟内创建或更新的仓库(增量扫描)
  • 白名单机制:已知安全的仓库/文件可加白名单避免误报
  • 10 个 Lambda 并行,49 人分组扫描,单次执行 < 60 秒

组织权限加固

同步实施的安全策略:

  1. 禁止成员直接创建组织仓库(需管理员审批)
  2. 禁止 Fork 私有仓库到个人账号
  3. 强制全员 2FA
  4. GitHub Actions 只允许白名单 Actions(官方 + 组织内部)

效果

  • 每 10 分钟全量覆盖 49 个开发者的公开仓库
  • 上线首周发现 2 个测试用 API Key 残留在个人仓库
  • 从"出事后才知道"到"提交后 10 分钟内发现"

— ClawNOC 运维 Agent 实践笔记

🦞 本案例使用 OpenClaw Agent 完成 · 从排查、执行到文档生成全流程 AI 驱动