← Back to Home

Why DevSecOps is the New DevOps in the AI Coding Era

We shipped faster with AI. We also shipped a security risk.

That sentence took a while to sit right. For the first few months after the team adopted AI coding assistants into the workflow, everything felt like a win. Pull requests were moving faster. Features that used to take three days were done in one. Someone on the team joked that we had finally become a “10x team.” And statistically, the numbers backed it up. We went from pushing to production roughly once a day to doing it three times.

Nobody stopped to ask whether our security posture had kept up.

The Problem Nobody Named

Here is the thing about velocity: it does not come with a warning label. When your team starts shipping faster, it feels like progress, because it is. But it also means more code, more dependencies, more configuration files, more credentials, all moving at a pace that humans were not originally designed to review carefully.

Three things broke quietly before we noticed.

The first was secret leakage. Not a dramatic breach, just a developer committing a test config file with a database password baked in. Easy to do when you are moving fast. The password was rotated before anything happened, but only because someone caught it in a peer review two days later. That gap of two days is the problem.

The second was harder to see. Code written with AI assistance is often confidently written. It looks correct. It passes the eye test. But it does not understand your internal security policies, your compliance requirements, or the specific threat model of your system. A function that handles user input might be technically functional and still be missing input validation. A Dockerfile might work perfectly and still be running as root. The code does what it was asked to do. It just was not asked the right questions.

The third was dependency creep. New libraries get suggested, developers install them, and nobody checks CVEs. Not because engineers are careless, but because at 3x velocity, the moment you finish reviewing one new dependency someone else has already merged three more. The surface area of your supply chain quietly expands faster than any human can track manually.

The DevOps Question Changed

For most of the last decade, the central DevOps question was: how do we ship faster? Shorter feedback loops. Smaller batches. Continuous deployment. Kill the release bottleneck. The whole discipline was organized around removing friction between code and production.

That question got answered. Faster CI runners, better tooling, leaner review processes. And then AI coding assistants came along and compressed what remained. Suddenly the answer was not just “faster” but “much faster, with fewer people.” The friction mostly disappeared.

Now we are sitting with a follow-up question the original DevOps playbook never fully addressed: how do we ship fast safely?

That is not a security team question anymore. It is a DevOps question. Because the bottleneck is no longer deployment frequency. It is the gap between how fast code is being written and how thoroughly it is being checked. If your pipeline was designed around a team that shipped once a day, it was probably fine for engineers to eyeball dependencies and scan configs manually. At 3x velocity with that approach, things start slipping through.

DevSecOps used to feel like a compliance exercise, something you bolted on before an audit. What it actually is, when done right, is the engineering discipline that makes high velocity survivable. The question is not whether to add security to your pipeline. It is how to add it without creating the new bottleneck you spent years trying to remove.

What the Pipeline Needs to Look Like

The answer is not to slow down. The answer is to build a pre-check zone that runs before your code ever touches CI, a set of automated gates that catch the obvious things so humans can focus on the non-obvious ones.

The flow looks like this:

local commit → pre-commit hooks → push → SAST → SCA → PR gate → deploy

Every stage has a job. Pre-commit hooks are your first line: fast, local, zero infrastructure required. SAST catches code-level vulnerabilities before merge. SCA scans your dependency tree for known CVEs. The PR gate is where everything must be green before a human review even begins. Only then does code move toward deployment.

The critical thing is that this is not optional at any stage. A pipeline that only runs SAST in CI but skips pre-commit hooks gives developers an 8-minute feedback loop instead of a 30-second one. That difference changes behavior. People start ignoring the checks.

The Tool Stack

Here is what a practical setup looks like, split into what I consider non-negotiable and what you can add later:

Tool Category Required Notes
pre-commit Framework Yes Coordinates all local hooks
gitleaks Secret detection Yes Must run locally AND in CI
semgrep SAST Yes Catches code-level vulns
trivy SCA / image scan Yes CVE checks on deps and containers
commitlint Commit hygiene Yes Enforces consistent commit messages
detect-secrets Secret detection Optional Complements gitleaks
hadolint Dockerfile linting Optional If you ship containers
checkov IaC scanning Optional For Terraform, Helm, K8s manifests
osv-scanner SCA Optional Google’s alternative to trivy for deps
snyk SCA + monitoring Optional Better dashboard if you need reporting

One thing worth calling out: gitleaks needs to run in two places. Local pre-commit catches secrets before they are ever committed. CI catches anything that slipped through, maybe someone bypassed the hook, maybe they pushed from a machine without the hooks installed. Defense in depth is not paranoia, it is just engineering.

Semgrep is worth spending time on because it is configurable. The default rules cover a lot of ground, but you can write custom rules for your codebase. Things like “never call this internal function without this wrapper” or “always validate input before passing to this library.” That is where the real value shows up at scale.

What Comes Next

This is the architecture and the philosophy, the argument for why shifting security left is not just a buzzword but an operational necessity when your team is shipping at high velocity.

In the next article, I will set all of this up from scratch: gitleaks, semgrep, trivy, the whole pipeline, on Jenkins running in Kubernetes. Every config file, every hook, every CI stage. The kind of walkthrough you can actually follow, not just reference.

Because knowing what to build is step one. Building it is the part that matters.