Vicedomini Softworks

DevOps

7 Steps to Build a DevSecOps Pipeline Engineers Can Operate

8 September 2026

Decorative DevSecOps pipeline title card

A DevSecOps pipeline is a CI/CD pipeline with automated security controls and supply-chain protections built into every stage rather than bolted on at the end. The single most important decision a team makes is adopting shift-left continuous security: automated checks that run from the first commit, with enforceable gates that block a release when severity crosses a defined threshold. Standards from OWASP and NIST anchor this approach, and platforms like GitHub Actions make it operational without heavy tooling investment.


TL;DR:

  • Automated security checks run at multiple pipeline stages, with quick tests on every commit and deeper scans before deployment to reduce exposure time.
  • SAST, SCA, container, and IaC scanning are essential on every commit and PR, with blocking enforced for critical or high severity issues to prevent vulnerable code from advancing.
  • Building a practical DevSecOps pipeline involves local pre-commit checks, automated Gate checks during PRs, signing, staged deployments, and manual approval gates for production releases.
  • Progression from ad-hoc scanning to policy enforcement and zero-trust mechanisms offers measurable improvements, with audit-ready outputs embedded in every pipeline run.
  • Overcoming cultural resistance requires security champions within teams and direct engineering collaboration to ensure trust, observability, and rapid response to pipeline security findings.

Vicedomini Softworks
Build Security Into Your Software
Vicedomini Softworks helps organizations engineer secure, scalable software with direct collaboration from discovery through ongoing support.

Table of Contents

What are the stages of a DevSecOps pipeline?

Every DevSecOps pipeline moves code through five recognisable stages, and each one carries its own security workload. Treating these as a single “security phase” bolted before deployment is the most common design mistake teams make, and it defeats the purpose of shifting left in the first place.

The source stage is where branch protection rules, mandatory pull request reviews, and secret scanning catch problems before code even reaches a build server. The CI/build stage compiles the application and runs static analysis, dependency checks, and starts generating a software bill of materials (SBOM). The artifact stage is where builds get signed and provenance metadata gets attached, so nothing unverified moves forward. The deploy/CD stage applies infrastructure-as-code scanning and container scanning before anything touches an environment. The operate stage covers runtime monitoring, dynamic testing against live or staging endpoints, and continuous vulnerability rescanning.

Cadence matters as much as placement. OWASP’s DevSecOps Guideline describes embedding controls across design, develop, build, test, release, deploy and operate, which means checks fire on different triggers:

  • On commit: linting, secret scanning, fast SAST rules
  • On pull request: full SAST, SCA, policy checks, code review gates
  • On build: SBOM generation, artifact signing, container scanning
  • On deploy: DAST against staging, IaC validation, provenance verification

Fast checks stay under a couple of minutes so they don’t punish developers for committing often. Deeper scans, the kind that take fifteen minutes or more, belong later in the pipeline where a short wait is acceptable.

Which automated security tests belong in the pipeline?

Six test types cover most of the attack surface a modern pipeline needs to defend, and each has a natural home in the workflow described above.

SAST (static application security testing) reads source code without executing it, catching injection flaws, insecure API usage, and hardcoded logic errors. It runs on every pull request and typically finishes in one to five minutes for a mid-sized service. SCA (software composition analysis) inspects third-party dependencies for known vulnerabilities and licence conflicts, and it runs alongside SAST on the same trigger. DAST (dynamic application security testing) probes a running application from the outside, the way an attacker would, and needs a live or staging target, so it runs later, typically post-deploy to a test environment. OWASP ZAP is the most widely adopted open-source DAST tool for this stage, since it integrates cleanly into pipeline scripts and produces machine-readable output.

IaC scanning checks Terraform, CloudFormation, or Kubernetes manifests for misconfigurations before infrastructure gets provisioned. Container scanning inspects image layers for vulnerable base images and exposed secrets. Secret scanning catches credentials accidentally committed to the repository, and it should run continuously, not just at merge time.

  • SAST and SCA typically block merges on critical or high severity issues, flag medium severity for review, and log low severity findings. Container and IaC scanning generally block deployment on critical findings and may require sign-off on high severity. DAST findings are usually tracked with remediation timelines depending on severity.

Continuous security in numbers: Running SAST, SCA, container, and IaC scans on every commit and pull request collapses the exposure window from months to minutes compared with periodic audits, because vulnerable code never accumulates unnoticed between review cycles.

Open-source components now make up the majority of most commercial codebases, which is why SBOMs and SCA scanning have become non-negotiable rather than optional extras.

How do you build a practical implementation pattern?

A tool-agnostic pipeline template works across GitHub Actions, GitLab CI, or Jenkins with only syntax changes. The sequence matters more than the specific vendor.

  1. Pre-commit hooks run linting and lightweight secret detection locally, before code ever reaches the repository.
  2. Pull request checks run SAST, SCA, and policy-as-code validation, blocking merge on failed gates.
  3. Build stage compiles the artifact, generates an SBOM, and runs container or IaC scanning against the build output.
  4. Signing attaches a cryptographic signature and provenance attestation to the artifact so downstream stages can verify origin.
  5. Staged deployment pushes to a test or canary environment first, using blue-green or canary patterns so a failed rollout affects a fraction of traffic.
  6. DAST against staging runs before promotion, with a manual approval gate for production-facing releases when severity thresholds are close to the line.
  7. Promotion to production happens only after every prior gate passes, with rollback scripted and ready.

Secrets management deserves its own discipline separate from the rest of the pipeline. Store credentials in a dedicated vault rather than pipeline variables, use OIDC tokens for short-lived, workload-specific credentials instead of long-lived API keys, and apply least-privilege scoping so a compromised job token can’t reach unrelated systems. Guidance on managing credentials and privileged access in automated environments is worth reviewing before you wire secrets into any pipeline.

Pro Tip: Cache dependency resolution and container layers aggressively, and run SAST, SCA, and container scans in parallel jobs rather than sequentially. A pipeline that takes twenty minutes because scans run one after another will get bypassed by developers looking for shortcuts.

How do you map pipeline controls to compliance standards?

Pipeline security maturity runs across four recognisable stages, and knowing where a team sits determines what to fix next rather than attempting everything at once.

  • Basic: ad-hoc scanning, no consistent gating, manual review for everything
  • Integrated: automated scans on every commit and PR, defined severity thresholds
  • Policy-enforced: policy-as-code blocks non-compliant builds automatically, exceptions require documented approval
  • Zero-trust: cryptographic attestation and provenance verification enforced at every promotion step

This progression follows the maturity spectrum described in Open Security Architecture’s secure pipeline pattern, which recommends embedding checks incrementally rather than in one large rollout.

Audit evidence should come out of normal pipeline runs, not a separate compliance exercise. SBOMs, signed artefacts, and standardised test output formats turn every build into a record an auditor can inspect without asking a developer to reconstruct history. NIST’s NCCoE guidance recommends mapping these outputs directly to control frameworks and keeping logs immutable. The Secure Pipeline Verification Standard gives a stage-by-stage roadmap for exactly this kind of evidence generation. Exceptions to any gate need a named approver, usually an information system security officer or engineering manager, and a documented reason with an expiry date.

What challenges slow DevSecOps adoption?

Cultural resistance is usually the real blocker, not tooling. A security champions model, where one engineer per team owns pipeline security without becoming a bottleneck, tends to work better than mandating change from a central security function.

  • Legacy systems: apply strangler patterns, wrapping old services with new gated pipelines rather than rewriting everything at once
  • False positives: triage by exploitability and business impact, not raw severity score alone
  • Cost and performance: run deep scans only on release branches, keep fast checks on every commit
  • Noise fatigue: tune rulesets per repository rather than applying one global policy everywhere

Pro Tip: Give every blocked build a one-line remediation hint in the failure message. Teams that see “SQL injection risk on line 42, use parameterised queries” fix issues far faster than teams that just see “SAST failed”.

How do you monitor and prove a pipeline is secure?

A handful of metrics tell you whether the pipeline is doing its job: time-to-detect, time-to-fix, the percentage of builds blocked by high or critical CVEs, SBOM coverage across services, and the proportion of artefacts carrying valid attestations.

  • Log every pipeline run’s inputs, findings, and gate decisions for traceability
  • Feed blocked-build data and vulnerability trends into SOC or incident response dashboards
  • Script rollback procedures so a bad promotion reverts automatically, not manually
  • Automate playbooks for common findings so response doesn’t wait on a human triage queue

Fast, actionable feedback at commit time reduces friction far more than late-stage, noisy security reports that arrive after developers have already moved on to other work.

What has engineering-first delivery taught us about pipeline security?

Pipelines succeed when the people building them can also see the security findings directly, without a layer of account management translating between engineers and security teams. Peer-reviewed code and direct observability into build failures cut the time between a finding and a fix, because the person who wrote the code is also the person who sees the alert.

Manual gates still earn their place at points where automation cannot judge business risk, a production database migration, for instance. Everywhere else, automation should own the decision. Real project outcomes are documented in Vicedomini Softworks’ case studies, where engineering-first collaboration shaped how gates and observability were tuned per client.

— Pepe F.

Build your secure pipeline with engineers who operate it, not just design it

Some companies provide direct collaboration with the engineers writing the CI/CD configuration, the SAST rules, and the deployment gates, rather than an account manager relaying requests between clients and a delivery team.

Vicedomini Softworks

That direct line matters most when a pipeline breaks at 2am or a gate blocks a release nobody expected. Certain providers design custom pipeline architecture, integrate SBOM generation and artifact signing, and offer ongoing support once the pipeline is live, covering aspects such as cloud-native infrastructure and Zero Trust security patterns. If your team is stuck between ad-hoc scanning and a genuinely policy-enforced pipeline, view our services and get a scoped conversation about what your next stage of maturity should look like.

Sources

FAQ

What does DevSecOps stand for?

DevSecOps stands for Development, Security, and Operations, describing the practice of integrating security controls across the entire software lifecycle rather than treating it as a separate final stage.

What are the phases of a DevOps pipeline?

A typical pipeline runs through plan, code, build, test, release, deploy, and operate, with a DevSecOps pipeline adding automated security checks like SAST, SCA, and DAST at each relevant phase.

Is DevSecOps better than DevOps?

DevSecOps isn’t a replacement for DevOps; it extends the same automation principles to security, catching vulnerabilities during development instead of after release, which reduces both risk and the cost of late fixes.

What are DevOps pipelines used for?

DevOps pipelines automate the build, test, and deployment of software, and when security scanning is embedded into that automation, the same pipeline becomes the primary control point for catching vulnerabilities before they reach production.

How do I choose severity thresholds for pipeline gates?

Most teams block merges or deploys on critical and high severity findings, route medium severity to manual review, and log low severity for tracking, following MITRE’s guidance on setting explicit acceptance criteria rather than leaving gate decisions to individual judgement.