02 / The five scan streams
SAST, DAST, SCA,
IaC, secrets —
plus human review.
Each stream has its own tooling, its own tuning cadence, its own failure mode, and its own class of finding. We run all five because a single scanner is a single point of missed coverage. The sixth stream — manual secure-code review — is the one that decides whether the engagement was worth the line-item.
Stream 01 · SASTStatic
Static analysis
Source-code scanning without execution. Tooling: Semgrep for pattern-matched rules and custom policy, SonarQube for quality plus security overlap, CodeQL for deep taint analysis, and Checkmarx for enterprise environments with compliance reporting needs. Tuned per-language; noise suppressed; rules versioned.
Stream 02 · DASTDynamic
Dynamic analysis
Running-target scanning against staging or production-equivalent. Burp Suite Professional for authenticated web-app testing, OWASP ZAP for automated baseline and CI integration, Invicti (formerly Netsparker) for large-surface automation. Authenticated passes, unauthenticated baseline, and API-centric scans for every endpoint you expose.
Stream 03 · SCADependencies
Software composition
Third-party dependency inventory, CVE triage, license risk, and supply-chain review. Snyk for open-source vulnerability depth, Dependabot for GitHub-native updates, Mend (formerly WhiteSource) for enterprise, GitHub Advanced Security where you already own the license. SBOM delivered in CycloneDX and SPDX.
Stream 04 · IaCInfrastructure
Infrastructure-as-code
Scanning Terraform, CloudFormation, Kubernetes manifests, Helm charts, and Pulumi against CIS baselines and organizational policy. Tooling: Checkov, tfsec, and Snyk IaC. Drift detection between declared state and deployed reality, and policy-as-code integration via OPA / Conftest when the stack is mature enough to support it.
Stream 05 · SecretsCredentials
Secrets scanning
Repository-wide and history-deep secrets detection. git-secrets as the pre-commit default, TruffleHog for deep historical scans across entire git history, GitGuardian for organization-wide continuous monitoring. Any finding triggers immediate rotation; pre-commit hooks roll out during the engagement.
Stream 06 · ManualHuman
Manual secure-code review
A reviewer with hands on the code, reading the repo end-to-end for business-logic flaws, authorization boundaries, crypto implementation, and integration trust. This is where most of the real findings come from. We scope by path and budget in hours; the deliverable is file-by-file annotated review, not a checklist.
Stream 07 · Threat modelDesign
Threat modeling
STRIDE, attack trees, and PASTA applied to new applications, major architecture shifts, and high-risk features before code is written. Scoping session with engineering lead, model drafted by the reviewer, mitigation mapping, walk-through with security and engineering leadership. Deliverable is portable: usable by the next engineer, readable by the next auditor.
Stream 08 · SDLCIntegration
SDLC + CI/CD integration
Security integrated into the development lifecycle. PR-time SAST, SCA, and secrets checks. Quality gates on critical and high findings. Signed commits. SBOM generation. Pipeline hardening for GitHub Actions, GitLab CI, Jenkins, CircleCI, Buildkite, Azure DevOps, and Bitbucket Pipelines. DevSecOps maturity assessment against BSIMM or SAMM as a separate deliverable when requested.