Compose a pipeline
Pick the domains you are responsible for. Every control the graph holds for them is placed into the lifecycle phase where it belongs, with the frameworks it evidences and the attacks it stops.
Domains
- Static Code Analysis20
- Dependency Management24
- Container Security24
- Exposure & Vulnerability Management15
- Endpoint Protection6
- Secrets & Identity Security×
- Build Integrity & Cryptographic Trust19
- CI/CD Pipeline Security10
- Runtime Application Validation25
- Runtime & Kubernetes Protection24
- AI Model & Agent Security16
- Identity & Access Management16
- Cloud Security Posture14
- Package Registry & Provenance Security13
- API Security12
- Detection & Response12
- SBOM & Component Visibility12
- Vendor Governance12
- Infrastructure-as-Code Security11
- Developer Security & Secure Coding10
- Secure Design & Threat Modeling10
- Governance, Risk & Compliance8
- Source Control Security8
- Data Protection2
- Email & Collaboration Security1
Maturity ceiling
Controls carry the maturity level a program needs to run them. Raising the ceiling adds depth and volume; level 3 is a realistic target for most teams.
- GOV Governance and assurance
- The stream that decides what blocks, and proves it blocked.
- SUP Open source and third-party supply
- Everything you did not write, arriving faster than you can review it.
- DEV Design and development
- Where the cost of a fix is lowest and the attention is shortest.
- DEL Build and delivery
- The machine that makes the thing, and the largest single target in the chain.
- VER Testing and validation
- The stream that finds out whether any of the others worked.
- OPS Runtime and platform
- The last place to stop something, and the most expensive.
- OBS Detection and continuous observation
- The only stream whose answer changes while nothing else does.
The figure is how many controls the field places in that cell and the wash behind it is how much of the cell you have decided — 1 targeted, 0 ignored, 332 still open, of 333. A ring means the cell is closed. Your 1 controls account for 1 of those, because a control that belongs at build and again at deploy is two decisions about where it runs rather than one. Ignoring a control counts as decided and leaves the denominator, so coverage measures what you said you would do rather than everything that exists.
The dashed rules are the two boundaries every pipeline has, whatever its platform: intake at build and release at release. Both default open — nothing is refused unless something was configured to refuse it.
The columns are drawn as a row here and as a loop elsewhere, and the same eight phases are the eight color groups a player walks around the DevSecOpoly board, in these same colors. The shape is a convenience. What is real is that each phase is a set of activities, and an activity is only worth doing because it enables a capability.
Framework coverage
What this selection alone would let you evidence.
ASVS 5.0
1 of 17
OWASP Application Security Verification Standard (ASVS) 5.0.0
V13
CI/CD Top 10
1 of 10
OWASP Top 10 CI/CD Security Risks
CICD-SEC-6
SSDF 1.1
2 of 42
NIST Secure Software Development Framework 1.1 (SP 800-218)
PS.1.1 · PW.7.2
Coverage by phase
Code
0 countered · 4 open of 4
What this selection leaves open
Unauthorized Commit Injection
Open2 real incidentsCommon · Code
Nothing in this pipeline counters it. The graph knows 5 capabilities that would: Branch Protection & Ruleset Enforcement, Code Review Enforcement, Commit Signing & Verification, Unauthorized Code Change Detection, and others.
Malicious IDE Extension
OpenEmerging · Code
Nothing in this pipeline counters it. The graph knows 1 capability that would: Developer Workstation Hardening.
Slopsquatting (Hallucinated Package Squatting)
OpenEmerging · Code
Nothing in this pipeline counters it. The graph knows 3 capabilities that would: AI Coding Assistant Security Guardrails, AI-Generated Code Vulnerability Detection, Hallucinated Package Detection.
Typosquatting and Brandjacking
OpenVery Common · Code
Nothing in this pipeline counters it. The graph knows 3 capabilities that would: Dependency Curation & Allowlisting, Namespace & Package Name Reservation, Typosquatting Detection.
Not in this comparison
- Does not apply to this kind of pipeline
- stages A composed pipeline has no authored stages; its capabilities are grouped by lifecycle phase.
- gaps Gap analysis compares a stage's capabilities against the products that stage uses, and only a client pipeline records products in use. A composed pipeline models the design, not an estate.
How this was produced
Every figure above was read from the Gantry knowledge graph, version 7.1.0, and computed when you opened this page — in 201 ms on 2026-10-27. Nothing here is a cached verdict or a dataset assembled for marketing: it is the same model our engagements run on.