Embed Trivy, Semgrep, TruffleHog, and Syft into every commit with a single workflow file. Works with GitHub Actions, GitLab CI, and Bitbucket Pipelines. Audiencia: DevOps engineers, platform engineers, and security engineers. Tiempo típico de configuración: 2 minutes.
Antes de comenzar
Create an ingestion API key in Settings → API Keys with Ingestion scope only.
Confirm your CI runner can pull images from ghcr.io and reach your API URL.
For TruffleHog secret scanning: ensure fetch-depth: 0 is set in your checkout step.
Paso a paso
Paso 1
Create an ingestion API key
Generate a scoped key for the pipeline scanner and store it in your CI secret manager.
Open Settings → API Keys → New Key.
Set scope to Ingestion only.
Name it after the repository or pipeline (e.g. pipeline-my-repo).
Add SECPLATFORM_API_KEY as a masked CI secret and SECPLATFORM_API_URL as a CI variable.
Paso 2
Add the workflow file
Drop one file into your repository. The matrix strategy runs all four scanners in parallel.
Copy developer_guide/github/security-scan.yml or developer_guide/gitlab/gitlab-ci.yml from the Developer Guide.
The matrix runs trivy, semgrep, trufflehog, and syft in parallel — no extra configuration.
TruffleHog automatically uses fetch-depth: 0 to scan all commit history.
The optional gate job blocks PR merges when critical findings are open.
Paso 3
Validate and expand
Confirm findings appear in the platform, then roll out to more repositories.
Trigger a pipeline run and check the platform Findings view.
Filter by scanner and repository to confirm metadata is correct.
Copy the workflow to additional repositories — each uses the same API key.
For GitLab: copy .gitlab-ci.yml snippet; for Bitbucket: copy bitbucket-pipelines.yml snippet.
Obtén el bundle de código fuente
Descarga los archivos exactos usados en esta guía o ejecuta el instalador de un solo comando para escribirlos localmente antes del despliegue.
GitHub Actions workflow
Writes `.github/workflows/security-scan.yml` into the current repository so the pipeline scanner can run immediately.