Google Cloud Build
Cloud Build runs the scanner image directly as a build step, no plugin, no Docker-in-Docker, and it works in restricted pools with no egress. Your code never leaves the build.
2 steps.
Reference the scanner image as a step in your cloudbuild.yaml. Cloud Build runs it directly, no Docker-in-Docker.
steps:
- name: "ghcr.io/nirvahana/dpdp-scan@sha256:e0f57fe4eb8e507a994302b6cbf61e310a727ccc1af3f4a06265dd6b87eedd78"
args: ["scan", ".", "--no-ai",
"--frameworks", "dpdpa,hipaa",
"--fail-on", "high",
"--sarif-output", "scrutora.sarif"]Publish the SARIF to a GCS bucket with the build artifacts block so the report is kept alongside your build.
artifacts:
objects:
location: "gs://YOUR_BUCKET/scrutora/"
paths: ["scrutora.sarif"]After the first run.
The scanner image is the step. No plugin, no Docker-in-Docker.
A non-zero fail-on severity fails the build and blocks the pipeline.
Archive the report to a bucket via the artifacts block.
Fully offline, so it runs in VPC-SC and private pools with no egress.
The ones people actually ask.
View config on GitHubWire it into a build.
A public repository, read once and not kept. You get the data map: every personal-data field, where it lands, and who receives it. Or run the container on your own runner, and the source never reaches us.