Software supply chain attacks are now one of the fastest-growing threat vectors globally, and Indian development teams are squarely in the crosshairs. A supply chain attack does not breach your perimeter directly — it poisons a dependency, build tool, or update mechanism that your code trusts implicitly. The result: attackers gain persistent access to your production systems through code you never wrote. Understanding what an SBOM is, why SCA tooling matters, and how to harden your CI/CD pipeline are no longer optional for any team shipping software at scale.
Why Supply Chain Attacks Have Exploded
The economics of supply chain attacks are brutally efficient. Instead of attacking one hardened target, an adversary compromises a single upstream package used by thousands of projects. The SolarWinds incident demonstrated this at nation-state scale: a build pipeline was compromised to inject malicious code into a legitimate software update, reaching thousands of organisations globally. The xz-utils backdoor in early 2024 showed a patient, multi-year social engineering campaign that nearly compromised SSH authentication on major Linux distributions worldwide. On the npm ecosystem, typosquatting packages — names deliberately one or two characters away from popular libraries — have repeatedly been used to steal credentials and environment variables from developer machines.
These are not theoretical risks. Every npm install, every pip install, every go get is a trust decision your team makes — often automatically, without review.
The Four Primary Attack Vectors
The supply chain threat surface spans four distinct zones:
- Dependency confusion — Attackers publish a public package with the same name as your private internal package but a higher version number. Package managers that check public registries first will silently pull the malicious version.
- Typosquatting — Packages named one character away from popular libraries, banking on developer typos during
npm install. - Compromised maintainer accounts — Legitimate packages whose maintainer credentials are stolen. The attacker publishes a malicious minor or patch update that passes through unchanged.
- Build pipeline poisoning — CI/CD systems, build scripts, or container base images are tampered with to inject malicious artefacts at compile or package time.
graph TD
A[Developer writes code] --> B[Pulls dependencies via npm/pip/maven]
B --> C{Registry resolution}
C -->|Public package| D[Upstream package registry]
C -->|Private package| E[Internal registry]
D --> F[Transitive dependency resolution]
F --> G[Compromised transitive package]
G --> H[Build pipeline]
E --> H
H --> I{CI/CD runs}
I -->|Tampered build image| J[Malicious artefact injected]
I -->|Clean image| K[Legitimate build output]
J --> L[Production deployment]
K --> L
L --> M[End users and production systems]
style A fill:#1e3a5f,stroke:#3B82F6,color:#e2e8f0
style B fill:#1e3a5f,stroke:#3B82F6,color:#e2e8f0
style C fill:#1e3a5f,stroke:#3B82F6,color:#e2e8f0
style D fill:#1e3a5f,stroke:#3B82F6,color:#e2e8f0
style E fill:#1e3d2f,stroke:#10B981,color:#e2e8f0
style F fill:#1e3a5f,stroke:#3B82F6,color:#e2e8f0
style G fill:#5f1e1e,stroke:#EF4444,color:#e2e8f0
style H fill:#1e3a5f,stroke:#3B82F6,color:#e2e8f0
style I fill:#1e3a5f,stroke:#3B82F6,color:#e2e8f0
style J fill:#5f1e1e,stroke:#EF4444,color:#e2e8f0
style K fill:#1e3d2f,stroke:#10B981,color:#e2e8f0
style L fill:#1e3a5f,stroke:#3B82F6,color:#e2e8f0
style M fill:#1e3a5f,stroke:#3B82F6,color:#e2e8f0What Is an SBOM and Why Does It Matter
An SBOM (Software Bill of Materials) is a formal, machine-readable inventory of every component in your software — open-source libraries, third-party dependencies, build tools, and their transitive dependencies — along with version numbers, licences, and provenance data.
The analogy is a food ingredient label. You would not trust a food product with no listed ingredients; the same logic applies to software shipped to customers, deployed to production, or procured by enterprise buyers. CISA (the US Cybersecurity and Infrastructure Security Agency) has mandated SBOMs for software sold to the US federal government, and this requirement is spreading to regulated sectors globally. The NIST Secure Software Development Framework (SSDF) explicitly calls for component transparency as a baseline practice.
SBOMs are produced in two standard formats:
- SPDX (Software Package Data Exchange) — ISO/IEC 5962:2021, backed by the Linux Foundation
- CycloneDX — OWASP-maintained, widely adopted in DevSecOps toolchains
Why Indian Dev Teams Should Act Now
India's IT sector ships software consumed globally. As international enterprise buyers and regulators demand SBOMs as a procurement requirement, Indian product and services companies without SBOM capability will face friction in sales cycles. The DPDP Act 2023 does not mandate SBOMs explicitly, but its requirement to implement "reasonable security safeguards" for personal data processing creates implicit pressure — a breached application that had a known-vulnerable dependency will face difficult questions about what "reasonable" means. More detail on DPDP compliance obligations is available at /dpdp-compliance.
Software Composition Analysis: Your First Line of Defence
SCA (Software Composition Analysis) tools scan your dependency manifest files (package.json, requirements.txt, go.sum, pom.xml) and cross-reference every component against public vulnerability databases (NVD, OSV, GitHub Advisory). They identify known CVEs, licence risks, and outdated packages — automatically, at every build.
Key SCA tools used in production environments:
| Tool | Type | Language Support | SBOM Export | Notable Strength |
|---|---|---|---|---|
| Dependabot | SaaS / GitHub native | JS, Python, Ruby, Java, Go | Partial | Auto-PRs for updates |
| Snyk Open Source | SaaS + CLI | 20+ ecosystems | CycloneDX, SPDX | Prioritised fix guidance |
| OWASP Dependency-Check | Open source, self-hosted | Java, .NET, JS, Python | Yes | No SaaS data sharing |
| Syft + Grype | Open source CLI | 15+ ecosystems | CycloneDX, SPDX | Container + filesystem SBOMs |
| Trivy | Open source CLI | Containers, IaC, code | CycloneDX, SPDX | All-in-one scanner |
Integrate SCA into your CI/CD pipeline at two points: on every pull request (to catch new vulnerabilities before merge) and on every production build (to catch vulnerabilities introduced by upstream patch releases between your own code changes).
Know your vulnerabilities before attackers do
Run a free VAPT scan — takes 5 minutes, no signup required.
Book Your Free ScanSecuring Your CI/CD Pipeline
The build pipeline is an attractive target because it has privileged access: source code, secrets, signing keys, and deployment credentials. Key hardening steps:
Pin your dependencies. Use lockfiles (package-lock.json, poetry.lock, go.sum) and commit them. Without lockfiles, npm install resolves to whatever the latest compatible version is at build time — a window for dependency confusion and version substitution attacks.
Use private registries with namespace reservation. If your organisation uses internal packages, register those names on public registries (even as empty stubs) to prevent dependency confusion attacks. Tools like Artifactory and Nexus can proxy public registries while enforcing allow-lists.
Isolate build environments. Build jobs should run in ephemeral, minimal containers. No persistent home directories, no cached credentials from previous jobs, no access to production systems during build.
Restrict secret access to deployment jobs only. Secrets (cloud credentials, signing keys, API tokens) should be scoped to the specific pipeline stage that needs them, not available to every job in the pipeline.
Audit your CI/CD tool itself. GitHub Actions, GitLab CI, and Jenkins are not immune. Third-party GitHub Actions (especially unpinned @latest references) are a vector. Pin Actions to a specific commit SHA rather than a tag.
xychart-beta
title "Supply Chain Attack Vectors — Distribution of Incidents"
x-axis ["Malicious Packages", "Compromised Accounts", "Dependency Confusion", "Build Pipeline", "Typosquatting"]
y-axis "Percentage of incidents" 0 --> 40
bar [36, 26, 17, 13, 8]Illustrative distribution based on attack-vector categories tracked by Sonatype and CISA research — relative proportions reflect the broader industry consensus on incident distribution, not exact published percentages.
Signing and Provenance: SLSA and Sigstore
Knowing what is in your software is necessary but not sufficient. You also need to know where it came from and that it has not been tampered with in transit. This is the domain of software provenance.
SLSA (Supply-chain Levels for Software Artefacts) — pronounced "salsa" — is a security framework developed by Google and now stewarded by the OpenSSF. It defines four levels of provenance assurance, from basic build-system hygiene (Level 1) to hermetic, reproducible builds with verified provenance (Level 4). The framework documentation is at slsa.dev. Most production teams should target SLSA Level 2 as a near-term goal: automated, tamper-evident provenance attached to every build artefact.
Sigstore is an open-source project (backed by Google, Red Hat, and Purdue University) that provides free, transparent, and keyless signing for software artefacts, containers, and SBOMs. Its cosign tool allows you to sign container images and verify signatures before deployment — in a GitHub Action or Kubernetes admission controller. The npm ecosystem now uses Sigstore-based provenance by default for packages published through GitHub Actions.
Practical adoption path for Indian dev teams:
- Week 1 — Inventory: Run Syft or Trivy on your production container or repo. Generate your first SBOM in CycloneDX format. Review what you find.
- Week 2 — SCA in CI: Add Trivy or OWASP Dependency-Check to your CI pipeline. Block merges on Critical/High severity findings with no fix available.
- Month 1 — Lockfiles and pinning: Enforce lockfiles in all repos. Pin CI/CD Action references to SHA. Register internal package names on public registries.
- Month 2 — Private registry: Route all dependency pulls through an internal proxy (Artifactory, Nexus, or Verdaccio for npm). Enforce namespace policies.
- Month 3 — Signing: Implement
cosignfor container image signing. Verify signatures in deployment pipelines before any image reaches production. - Quarter 2 — SLSA Level 2: Attach provenance attestations to every build. Store SBOMs alongside build artefacts. Integrate SBOM diff into your release review process.
The Specific Risks for Indian Product Companies
Indian SaaS and product companies face a compounding risk: they often consume large volumes of open-source dependencies (common in Node.js and Python stacks), operate smaller security teams relative to their codebase size, and are increasingly shipping to regulated enterprise customers in BFSI, healthcare, and government sectors — all of whom are beginning to ask for SBOM attestations as part of vendor security questionnaires.
The CERT-In guidelines on incident reporting (CERT-In Directions 2022) require organisations to report software supply chain compromises within six hours of detection. Without SCA tooling that monitors for new vulnerability disclosures against your existing dependency inventory, detecting a supply chain compromise in that window is operationally impossible for most teams.
Bachao.AI's automated VAPT scanning surfaces dependency vulnerabilities and misconfigured build pipelines as part of a broader infrastructure and application security assessment. If you have not assessed your dependency exposure recently, a free VAPT scan is a practical starting point. The platform is built and maintained by Dhisattva AI Pvt Ltd.
References
- CISA SBOM resources: https://www.cisa.gov/sbom
- SLSA framework: https://slsa.dev
- NIST SSDF (SP 800-218): https://csrc.nist.gov/Projects/ssdf
- OWASP Dependency-Check: https://owasp.org/www-project-dependency-check/
- Sonatype State of the Software Supply Chain 2023: https://www.sonatype.com/state-of-the-software-supply-chain