Gitleaks是什么?
Gitleaks是一款功能强大且快速的开源静态分析安全工具(SAST),旨在检测和防止git仓库中硬编码的秘密,如密码、API密钥和令牌。它扫描仓库的整个历史记录,而不仅仅是当前状态,以查找可能被意外提交的敏感信息。它用Go语言编写,性能卓越,可以轻松集成到CI/CD管道中以自动化安全检查。
主要功能
- 历史扫描: 扫描整个git历史,包括所有提交,以揭示过去泄露的秘密。
- 高性能: 使用Go构建,Gitleaks非常快速高效,适用于大型仓库和CI/CD自动化。
- 可扩展规则: 使用一套全面的默认规则来检测各种秘密,并允许通过TOML配置进行自定义规则。
- 多种输出格式: 以多种格式(包括JSON、SARIF和CSV)生成报告,便于与其他工具和平台集成。
- CI/CD集成: 设计为DevSecOps工作流程的核心部分,可以作为pre-commit钩子或CI管道中的一个步骤添加(例如,GitHub Actions、Jenkins)。
- 低误报率: 采用熵检查和其他启发式方法来最小化误报,专注于可操作的发现。
使用案例
- CI/CD中的自动化安全: 在您的持续集成管道中运行Gitleaks作为一个步骤,如果检测到新的秘密,则构建失败。
- Pre-commit钩子: 通过在本地作为pre-commit钩子运行Gitleaks,从一开始就防止开发人员意外提交秘密。
- 仓库审计: 对现有代码库执行安全审计,以查找和修复提交历史中暴露的任何秘密。
- 合规与治理: 使用Gitleaks报告来证明您的代码库已经扫描了硬编码的凭据,有助于满足合规性要求。
入门指南
开始使用Gitleaks非常简单。您可以使用各种包管理器安装它,或直接下载二进制文件。
1. 安装 (macOS): ```bash brew install gitleaks
2. 运行检测:
导航到您本地git仓库的目录并运行detect命令。--source .标志告诉Gitleaks扫描当前目录。
```bash
检测当前仓库中的秘密
gitleaks detect –source . -v
3. 生成报告: 您可以将发现结果输出到文件以供进一步分析或集成。
```bash
检测并将结果保存到JSON文件
gitleaks detect –source . –report-path gitleaks-report.json
这个简单的工作流程使您能够快速识别和解决项目中与硬编码秘密相关的安全漏洞。
定价
Gitleaks是完全免费和开源的,根据MIT许可证分发。这使其成为个人、初创公司和大型企业的易于获取且经济高效的选择。