Pen TestingCloud PostureShadow-AI discoveryCI/CDContinuous PlatformReportsIdentity & accessAgent Trust Fabric
CI/CD
Scan from your pipeline. Gate the build on findings.
Run scans from your pipeline and gate builds on findings. The mechanism is a per-asset trigger key — a scoped secret that can start and read scans of one asset, without your account bearer token.
One asset
is all a trigger key can reach; it never touches the rest of your account
5 gates
fail-on critical, high, medium, low, or never
50 replays
the cap on an Attack Success Rate measurement
GitHub Action
bl014h/millenniums-scan-action@v1 · on the Marketplace
Three inputs, and the build fails on your threshold
The Action starts a scan of one asset, polls it, posts a job summary, and fails the build at the severity you choose. fail-on: never is notify-only.
Workflow
Poll status
A quota or verification block returns non-2xx, so CI sees it
Build fails
The gate
A pull request that would ship an attack path does not ship.
✓
push
✓
trigger key
•
scan runs
×
fail-on: high
×
merge blocked
max_severity: high
severity: { critical: 0, high: 1, medium: 2, low: 0 }
exit 1 → build fails
Set fail-on: never and the same run posts a job summary without failing anything.
How it runs
01
A key scoped to one asset
Reveal or mint the asset’s trigger key, then rotate it whenever you like — old CI secrets stop working immediately. Deleting the asset drops its keys.
02
The same path as a manual scan
A trigger runs through the same gate → scan → billing path, tagged triggered_by=webhook, so quota, concurrency and budget caps all still apply.
03
Attack Success Rate replay
Replay a behavioral finding’s re-runnable PoC up to 50 times and record its success rate. Marker and refusal judging use no LLM, so there is no model cost — just requests to your own target.