AI News HubLIVE
站内改写2 分钟阅读

Show HN: CommitGate – 自动扫描提交中的漏洞

CommitGate 是一个 AI 驱动的 Git 预提交安全门,在每次 git commit 时自动扫描暂存区差异,阻止包含密钥、令牌或危险代码的提交进入历史记录。它结合 Gitleaks 确定性扫描和 LLM 语义分析,支持 OpenAI、DeepSeek、Groq 等 AI 提供商,并可将审计日志发送到 Splunk。

来源Hacker News AI作者: ductrl

近日,开发者 Mike Ly 发布了 CommitGate,一个由 AI 驱动的 Git 预提交安全网关工具。该工具旨在防止敏感信息或危险代码在开发者提交时意外进入版本历史。每当执行 git commit 时,CommitGate 会自动激活,对暂存区中的代码差异执行两层安全检查:第一层使用 Gitleaks 进行确定性扫描,捕捉 API 密钥、令牌、密码等已知格式的秘密;第二层通过兼容 OpenAI 的 AI 模型(如 DeepSeek、Groq、Gemini 等)进行语义分析,识别正则表达式难以发现的漏洞,例如内部 URL、非标准凭据、eval 或 os.system 调用以及数据泄露逻辑。两层扫描结果会合并去重,由决策引擎根据预设阈值给出允许、警告或阻止的决定,并在终端中生成详细的 Rich 报告。

CommitGate 的安装和使用非常简单。用户需要先安装 Python 3.10 以上版本、Git 以及 Gitleaks 二进制文件。之后通过 pip 安装 CommitGate,在项目根目录创建 .env 文件配置 AI 密钥等环境变量,然后运行 commitgate init 初始化。该命令会在仓库根目录生成 commitgate.yaml 配置文件,并自动安装 pre-commit 钩子。此后每次提交都会自动触发扫描。用户也可以通过 commitgate scan 手动执行扫描,或通过环境变量 SKIP=all 临时绕过钩子。

除了基本的扫描功能,CommitGate 还支持可选的 Splunk 审计日志记录。用户可以配置 Splunk HTTP Event Collector(HEC),每次扫描后将审计事件发送到 Splunk,从而实现可搜索的提交决策历史。CommitGate 提供了多个 Splunk 搜索示例,用于构建安全门仪表板,例如随时间变化的决策图、今日阻止数、触发类别排行等。

在数据隐私方面,CommitGate 默认启用 AI 评审,这意味着代码差异会被发送到外部 AI 提供商。开发者可以根据组织政策选择禁用 AI 评审(仅运行 Gitleaks),从而确保数据不离开本地机器。项目计划未来支持本地 LLM(如 Ollama)和自托管 Splunk,以实现完全隔离运行。

CommitGate 采用 MIT 开源许可证,目前已在 GitHub 上获得 6 颗星,项目仓库包含完整的文档、架构说明和贡献指南。对于希望加固开发流程的团队,CommitGate 提供了简单而强大的预提交安全防护,帮助避免因意外泄露敏感信息而引发的安全事件。