implementing-secrets-scanning-in-ci-cd

将 gitleaks 和 trufflehog 集成到 CI/CD 管道中,在部署前检测泄露的机密信息

9 stars

Best use case

implementing-secrets-scanning-in-ci-cd is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

将 gitleaks 和 trufflehog 集成到 CI/CD 管道中,在部署前检测泄露的机密信息

Teams using implementing-secrets-scanning-in-ci-cd should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/implementing-secrets-scanning-in-ci-cd/SKILL.md --create-dirs "https://raw.githubusercontent.com/killvxk/cybersecurity-skills-zh/main/skills/implementing-secrets-scanning-in-ci-cd/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/implementing-secrets-scanning-in-ci-cd/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How implementing-secrets-scanning-in-ci-cd Compares

Feature / Agentimplementing-secrets-scanning-in-ci-cdStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

将 gitleaks 和 trufflehog 集成到 CI/CD 管道中,在部署前检测泄露的机密信息

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

## 概述

本技能涵盖使用 gitleaks 和 trufflehog 在 CI/CD 管道中实施自动化机密扫描。它使安全团队能够检测意外提交到源代码仓库的 API 密钥、令牌、密码和其他凭证,提供阻止包含高严重性发现的部署的 CI 门禁。

Gitleaks 使用正则表达式模式和熵分析扫描 git 仓库和目录中的硬编码机密。TruffleHog 对文件系统和 git 历史进行扫描,并可选择对实时服务进行机密验证。两者共同为机密检测提供全面覆盖。

## 前置条件

- Python 3.9 或更高版本
- 已安装 gitleaks v8.x 并在 PATH 中可用
- 已安装 trufflehog v3.x 并在 PATH 中可用
- 要扫描的 git 仓库或目录
- CI/CD 平台访问权限(GitHub Actions、GitLab CI、Jenkins)

## 步骤

1. **安装扫描工具**:通过包管理器或二进制下载安装 gitleaks。通过 `brew install trufflehog` 或从 GitHub releases 下载安装 trufflehog。

2. **配置 gitleaks**:在仓库根目录创建 `.gitleaks.toml` 配置文件,以定义自定义规则、允许列表和路径排除。使用 `--config` 标志指向自定义配置。

3. **运行 gitleaks 目录扫描**:执行 `gitleaks dir --source . --report-format json --report-path gitleaks-report.json` 以扫描工作目录并生成 JSON 报告。

4. **运行 trufflehog 文件系统扫描**:执行 `trufflehog filesystem /path/to/repo --json > trufflehog-report.json` 以扫描文件并将 JSON 发现输出到报告文件。

5. **解析和过滤发现**:使用代理脚本解析两个 JSON 报告,按严重性(严重、高危、中危、低危)过滤发现,并确定 CI 管道是否应通过或失败。

6. **集成到 CI 管道**:将扫描步骤添加到 GitHub Actions 工作流、GitLab CI 配置或 Jenkins 管道中,作为预部署门禁。使用 gitleaks 中的 `--exit-code` 标志控制管道行为。

7. **配置预提交钩子**:使用 `gitleaks protect --staged` 将 gitleaks 设置为预提交钩子,以在提交之前捕获机密。

8. **审查和分类发现**:检查 JSON 输出中的误报,将合法条目添加到 `.gitleaksignore`,并立即轮换任何已确认泄露的凭证。

## 预期输出

代理脚本生成包含以下内容的 JSON 报告:
- 每个扫描器的总发现数
- 按严重性级别分组的发现
- 包含文件路径、行号、规则 ID 和已编辑机密的单个发现详情
- 基于配置严重性阈值的 CI 门禁裁定(通过/失败)
- 包含扫描时长和工具版本的执行元数据

```json
{
  "scan_summary": {
    "tool": "both",
    "total_findings": 3,
    "critical": 1,
    "high": 1,
    "medium": 1,
    "low": 0,
    "ci_gate": "FAIL",
    "fail_reason": "Found 1 critical and 1 high severity findings"
  },
  "findings": [...]
}
```

Related Skills

scanning-network-with-nmap-advanced

9
from killvxk/cybersecurity-skills-zh

使用 Nmap 的脚本引擎、时序控制、规避技术和输出解析,对授权目标网络执行高级网络侦察, 发现主机、枚举服务、检测漏洞并识别操作系统。

scanning-kubernetes-manifests-with-kubesec

9
from killvxk/cybersecurity-skills-zh

使用 Kubesec 对 Kubernetes 资源清单执行安全风险分析,识别错误配置、权限提升风险以及与安全最佳实践的偏差。

scanning-infrastructure-with-nessus

9
from killvxk/cybersecurity-skills-zh

Tenable Nessus 是业界领先的漏洞扫描器,用于识别网络基础设施(包括服务器、工作站、网络设备和操作系统)中的安全弱点。

scanning-docker-images-with-trivy

9
from killvxk/cybersecurity-skills-zh

Trivy 是 Aqua Security 开源的综合性漏洞扫描器,用于检测容器镜像中操作系统软件包、语言特定依赖项的漏洞、错误配置、密钥和许可证违规,并集成到 CI/CD 流水线,支持 SARIF、CycloneDX 和 SPDX 等多种输出格式。

scanning-containers-with-trivy-in-cicd

9
from killvxk/cybersecurity-skills-zh

本技能涵盖将 Aqua Security 的 Trivy 扫描器集成到 CI/CD 流水线中,用于全面的容器镜像漏洞检测。包括扫描 Docker 镜像中的操作系统包和应用依赖 CVE、检测 Dockerfile 中的错误配置、扫描文件系统和 Git 仓库,以及建立基于严重性的质量门禁以阻止有漏洞的镜像部署。

scanning-container-images-with-grype

9
from killvxk/cybersecurity-skills-zh

使用 Anchore Grype 扫描容器镜像的已知漏洞(Vulnerability),支持基于 SBOM 的匹配和可配置的严重性阈值。

performing-web-application-scanning-with-nikto

9
from killvxk/cybersecurity-skills-zh

Nikto 是一款开源 Web 服务器和 Web 应用程序扫描器,可针对超过 7,000 个潜在危险文件/程序进行测试,检查超过 1,250 个服务器的过期版本,并识别超过 270 个服务器的版本特定问题。

performing-vulnerability-scanning-with-nessus

9
from killvxk/cybersecurity-skills-zh

使用 Tenable Nessus 执行认证和未认证漏洞扫描,识别网络基础设施、服务器和应用程序中的已知漏洞、 错误配置、默认凭据和缺失补丁。扫描器将发现与 CVE 数据库和 CVSS 评分关联,生成优先级修复指导。 适用于漏洞扫描、Nessus 评估、补丁合规检查或自动化漏洞检测等请求场景。

performing-sca-dependency-scanning-with-snyk

9
from killvxk/cybersecurity-skills-zh

本技能涵盖使用 Snyk 实施软件成分分析(SCA, Software Composition Analysis),在 CI/CD 流水线中检测存在漏洞的开源依赖项。内容包括扫描包清单和锁文件、自动修复拉取请求生成、许可证合规检查、已部署应用程序的持续监控,以及与 GitHub、GitLab 和 Jenkins 流水线的集成。

performing-ot-vulnerability-scanning-safely

9
from killvxk/cybersecurity-skills-zh

使用被动监控、原生协议查询和经过精心控制的Tenable OT Security主动扫描,在OT/ICS环境中安全执行漏洞扫描,在不破坏工业过程或导致旧版控制器崩溃的情况下识别漏洞。

performing-container-security-scanning-with-trivy

9
from killvxk/cybersecurity-skills-zh

使用 Aqua Security Trivy 扫描容器镜像、文件系统和 Kubernetes 清单,检测漏洞(Vulnerability)、错误配置、暴露的密钥和许可证合规问题,并生成 SBOM(Software Bill of Materials,软件物料清单)及集成到 CI/CD 流水线。

performing-agentless-vulnerability-scanning

9
from killvxk/cybersecurity-skills-zh

配置并执行无代理漏洞扫描(agentless vulnerability scanning),利用网络协议、云快照分析和基于 API 的发现方式评估系统安全,无需在端点安装 Agent。