Module 03

Code security

SAST, dependencies, infrastructure as code, secrets and public leak monitoring — one module, one scan, one queue. Findings are filtered down to what is genuinely reachable, and live credentials outrank everything else in the list.

/code/secrets/active
AWS key — validated live payments-api · in use 2h ago Revoke
SQL injection · reachable from route orders-service · source to sink shown Critical
CVE in transitive dependency vulnerable function is actually called High
1,847 findings suppressed unreachable code paths · not exploitable Hidden
Live secrets rank first Always, regardless of CVSS
What it covers

Six surfaces, no separate products

Most teams buy SAST from one vendor, SCA from another and secret scanning from a third, then spend a year reconciling three dashboards. This is one module.

Repositories

Connected repos with default branch, language mix, scan cadence and honest coverage percentage — plus team and codeowner mapping so findings route without manual triage.

  • App install or token, org-level or repo-level scope
  • Scan history with duration and rules version
  • Ownership resolved before the first finding lands

Application findings

SAST filtered to reachable and exploitable, with the data flow drawn from source to sink so a developer can argue with it.

  • Dependencies: transitive depth, and whether the bad function is called
  • Licence obligations and conflicts, grouped by distribution risk
  • Suppressed findings with reason and reviewer, never silently dropped

Primary action: open a pull request with the fix.

Infrastructure as code

Terraform, CloudFormation, Kubernetes and Helm checked before deploy — and reconciled against what is actually running.

  • Modules ranked by how many downstream repos inherit a defect
  • Drift to cloud: deployed state versus the code that defines it
  • Policy as code, versioned alongside the platform's own rules

Secrets

Detected credentials that validated as live, ranked above every other finding in the platform — because they are the only ones an attacker can use without writing any code.

  • History scanning: secrets removed from HEAD but still in commits
  • Rotation state per secret and the system it authenticates to
  • Custom detectors for internal token formats

Primary action: revoke and rotate.

Leak watch

Your code, keys or internal identifiers found where they should not be — paste sites, public forks, package registries, model training corpora and shipped mobile bundles.

  • Fingerprints and strings you choose to monitor
  • Takedown requests raised and tracked to resolution
  • Source breakdown, so you learn where leaks actually start

Pipeline gates

Where a scan blocks a merge and where it only warns, per repo and per branch — with the override list kept short and visible.

  • Severity and count thresholds that trigger a block
  • Recent CI runs and what the gate decided
  • Bypasses: who overrode a gate, when, and why
Signal

Reachability is the whole difference.

A scanner that reports every theoretical weakness produces a backlog nobody opens twice. We ask a narrower question: can this actually be reached, from an entry point that exists, in the code you actually shipped? Everything else is filed, visible, and out of the way.

  • Source-to-sink flow. Every SAST finding shows the path, so a developer can confirm or dispute it in a minute.
  • Call-graph aware SCA. A CVE in a package you never call is not a critical, no matter what the CVSS says.
  • Suppression with a name on it. Nothing disappears; it moves to a tab with a reason and a reviewer.

orders-service · scan result

2,104 raw findings
Live secrets 2 · act now
Reachable and exploitable 19
Reachable, low impact 236
Unreachable — filed, not shown 1,847

Twenty-one items a team will actually work through this sprint, instead of two thousand they will not.

Cross-module

The secret in the repo is the key in your cloud.

Code security does not stop at the repository boundary. When a detected credential validates against a live cloud principal, and the browser module sees the same string pasted into a chat tool, that is one finding with three sources — ranked once, owned once, closed once.

  • Validated, not just matched. We check whether a detected credential is live before we call it critical.
  • Automations that finish the job. Live secret detected → revoke, rotate, notify owner, re-scan to verify.
  • IaC drift closes the loop. Fix in source, and the cloud finding verifies itself on the next scan.
See how correlation works

Automation · live secret detected

template
Detected in commit history step 1
Validated against provider step 2
Revoked and rotated step 3
Owner notified in Slack step 4
Re-scanned to verify step 5

Point it at one repository.

Live secrets first, reachable vulnerabilities second, noise never. See the difference on your own code.

No credit card. No agent on the endpoint. Nothing leaves your network.