Software supply chain attacks exploit the trust relationships between your code and its dependencies — compromised packages, typosquatted libraries, dependency confusion, poisoned CI/CD pipelines, and tampered build artifacts. You audit lockfiles, scan container images, generate SBOMs, detect misconfigured CI/CD pipelines, and validate package integrity with Kali tools. Each engagement surfaces concrete attack paths an adversary would use to pivot through your client's dependency graph into production.
Note: On this Kali system, syft is at /tmp/bin/syft — alias it or reference the full path. trivy, pip-audit, and npm are installed and ready.
When to Use
Trigger phrases:
"supply chain attacker"
"Testing dependency management security"
"Assessing CI/CD pipeline security"
"Finding dependency confusion vulnerabilities"
"Supply chain risk assessment"
"SBOM generation and compliance"
Testing dependency management security
Assessing CI/CD pipeline security
Finding dependency confusion vulnerabilities
Testing package publishing processes
Evaluating third-party risk
SBOM generation for compliance (EO 14028, NTIA minimum elements)
CI/CD pipeline configuration audit
Pre-M&A technical due diligence on target's software supply chain
When NOT to Use
When you lack proper authorization for testing (written scope required)
For production CI/CD systems without change management / rollback plan
When the task requires legal or compliance expertise beyond technical scope (consult a lawyer for vendor contract review)
When the target has no package manager or dependency tree — a blank repo generates a blank report, not a billable engagement
trivy installed (brew install trivy or apt install trivy)
syft installed (or use /tmp/bin/syft on this system)
pip-audit installed (pip install pip-audit)
npm with audit capability (bundled with Node.js)
Access to client's CI/CD pipeline config (.github/workflows/, .gitlab-ci.yml, Jenkinsfile, Dockerfile)
Written authorization for dependency tree analysis and access to source repositories
Internet access for vulnerability database lookups
Money-Making Overview
Target Buyer
SaaS companies preparing for SOC 2 / ISO 27001 audits, DevOps teams hardening CI/CD pipelines, compliance officers needing SBOM artifacts, and startup CTOs doing pre-launch security review. Regulated industries (fintech, healthtech, critical infrastructure) are the highest-value leads.
How You Make Money
Supply Chain Risk Assessment — Scan dependency trees, generate SBOMs, identify known vulnerabilities (CVEs), detect dependency confusion risks, and produce a prioritized fix roadmap.
CI/CD Pipeline Security Audit — Review GitHub Actions, GitLab CI, Jenkins, and Docker build pipelines for compromised actions, credential leaks, script injection, and artifact tampering risks.
Compliance SBOM-as-a-Service — Generate CycloneDX/SPDX SBOMs for clients who need them for EO 14028, NTIA, or FDA pre-market submission compliance. Hosted plus monthly refresh retainer.
Service Tiers
Tier
Scope
Price
Delivery
Basic — Dependency Scan
Single project, trivy+syft+pip-audit+npm audit, CVE report with fix recommendations
Up to 10 repos, monthly SBOM refresh, CI/CD integration with automated scanning gates, Slack alerts on new CVEs, retest after fixes, quarterly review call
Target 3-5 local SaaS companies or DevOps agencies via cold email/LinkedIn → offer a free 30-minute "supply chain health check" → convert 1 in 5 to a paid Basic scan → first payment within 7-14 days.
SBOM Generation — Run syft on the project directory to produce CycloneDX and SPDX SBOMs. Verify SBOM covers all transitive dependencies.
Vulnerability Scan — Scan SBOM with trivy. Cross-reference findings against OSV.dev, NVD, and GitHub Advisory Database. Flag reachable vs. unreachable CVEs.
Dependency Confusion Test — For each private/internal package name, query public registries (npm, PyPI, RubyGems) to check if the name is available — if it is, an attacker could publish a malicious version and your client's build would install it.
Typosquatting Scan — Generate typosquatted variants of each dependency name using Levenshtein distance and check public registries for squatting packages with similar names.
CI/CD Pipeline Audit — Review CI config for: pinned action versions vs. @main / @v1 (floating tags), exposed secrets in workflow files, shell script injection via ${{ github.event.issue.title }}, untrusted artifact publishing, and missing code signing.
Reporting — Deliver per-finding with CVE reference, severity, dependency path, and exact fix command (e.g., npm audit fix, pip install --upgrade). Attach SBOM files as machine-readable artifacts.
SBOM + Vulnerability Scan — Run syft + trivy to generate SBOM and identify known CVEs. Prioritize by reachability and exploitability (EPSS score).
Dependency Confusion + Typosquatting — Check each private package name against public registries. Scan for lookalike package names with edit-distance ≤ 2.
Fix Roadmap — For each finding: affected package, current version, fixed version, severity, CVSS score, EPSS percentile, exact upgrade command, and test impact notes.
Report Generation — Combine findings into a single report JSON + markdown executive summary. Attach SBOM (CycloneDX JSON + SPDX JSON) as machine-readable deliverables.
First Action in 60 Minutes
Run this script against any project directory to get an instant supply chain risk assessment — SBOM, CVE scan, dependency confusion check, and CI/CD pipeline audit in one pass.
Fix commands provided for every vulnerability (exact npm install, pip install, etc.)
SBOM artifacts attached as machine-readable files (not just printed in report)
Recommendations prioritized by effort vs. risk reduction
Invoice attached
Anti-Rationalization Table
Rationalization
Reality
"We pin all our dependencies"
Pinning to a version that itself has a critical CVE is still vulnerable. You also need scanning, not just pinning.
"Our CI/CD is secure — only admins can merge"
The 2024 SolarWinds-style attack compromised the build server itself, not the merge queue. Pipeline config drift is invisible until something deploys cryptominers to production.
"We use open source, that's battle-tested"
Open source is battle-tested by attackers too. The event-stream incident (a malicious package with 2M weekly downloads) injected a bitcoin stealer into copay wallets. Popularity ≠ security.
"We have a small team, we don't need this"
Automated supply chain attacks don't care about team size. A typosquatted package or dependency confusion attack takes 15 minutes to exploit and 3 weeks to detect.
"We already use Dependabot"
Dependabot only alerts on known CVEs in direct dependencies. It misses: dependency confusion, typosquatting, CI/CD script injection, artifact tampering, and transitive vulnerabilities blocked by reachability.
"We don't use open source packages"
You use a compiler, a language runtime, a CI/CD platform, and an operating system. Every one of those is a supply chain.
"SBOM is just extra paperwork"
The FDA now requires SBOMs for medical device software pre-market submission. Your SaaS clients' enterprise customers will start demanding it in procurement RFPs this year. Make SBOMs sellable, not a checkbox.
"I need to be a certified DevSecOps engineer to charge for this"
You need to run three commands (syft, trivy, npm audit) and explain the output. Certs are nice. The report that finds an exploitable CVE in production is nicer.
'{
project: $project,
scan_timestamp: $timestamp,
tool_version: {
trivy: "0.71.2",
syft: "1.46.0",
pip_audit: "2.10.1",
npm: "10.9.8"
},
sections: $sections,
recommendations: [
"Pin all CI/CD action versions to SHA commit hashes, not floating tags",
"Enable Dependabot / Renovate for automated dependency updates",
"Use a private package registry with namespace verification",
"Implement signed commits and artifact signing (Sigstore/Cosign)",
"Add `npm audit` and `pip-audit` as CI pipeline gates",
"Scan all container images with trivy before deployment",
"Regularly rotate CI/CD secrets — never hardcode in workflow files",
"Generate SBOMs at build time and store alongside deployment artifacts"
]
}'