惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
GbyAI
GbyAI
Stack Overflow Blog
Stack Overflow Blog
Recent Announcements
Recent Announcements
D
DataBreaches.Net
量子位
C
Cybersecurity and Infrastructure Security Agency CISA
G
Google Developers Blog
小众软件
小众软件
Application and Cybersecurity Blog
Application and Cybersecurity Blog
MyScale Blog
MyScale Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Cisco Talos Blog
Cisco Talos Blog
P
Proofpoint News Feed
V
Vulnerabilities – Threatpost
Security Latest
Security Latest
T
Tenable Blog
Vercel News
Vercel News
AWS News Blog
AWS News Blog
Forbes - Security
Forbes - Security
M
MIT News - Artificial intelligence
S
Security Affairs
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Hacker News - Newest:
Hacker News - Newest: "LLM"
美团技术团队
L
Lohrmann on Cybersecurity
博客园 - 司徒正美
Last Week in AI
Last Week in AI
罗磊的独立博客
Project Zero
Project Zero
Cyberwarzone
Cyberwarzone
S
Schneier on Security
S
Secure Thoughts
T
Threatpost
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Google DeepMind News
Google DeepMind News
B
Blog RSS Feed
Y
Y Combinator Blog
F
Full Disclosure
N
Netflix TechBlog - Medium
博客园 - 叶小钗
A
Arctic Wolf
腾讯CDC
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
T
The Exploit Database - CXSecurity.com
Jina AI
Jina AI
Apple Machine Learning Research
Apple Machine Learning Research
C
Check Point Blog
C
CERT Recently Published Vulnerability Notes
www.infosecurity-magazine.com
www.infosecurity-magazine.com

Aikido Security's Blog

GlassWorm goes native: New Zig dropper infects every IDE on your machine Aikido Attack finds multiple 0-days in Hoppscotch The cybersecurity doomerism around Mythos doesn't match what we see on the ground axios compromised on npm: maintainer account hijacked, RAT deployed Popular telnyx package compromised on PyPI by TeamPCP Aikido × Lovable: Vibe, Fix, Ship CanisterWorm Gets Teeth: TeamPCP's Kubernetes Wiper Targets Iran TeamPCP deploys CanisterWorm on NPM following Trivy compromise Security testing is validating software that no longer exists Aikido Recognized by Frost & Sullivan with the 2026 Customer Value Leadership Award in ASPM GlassWorm Hides a RAT Inside a Malicious Chrome Extension fast-draft Open VSX Extension Compromised by BlokTrooper Glassworm Strikes Popular React Native Phone Number Packages Glassworm Is Back: A New Wave of Invisible Unicode Attacks Hits Hundreds of Repositories How Security Teams Fight Back Against AI-Powered Hackers Introducing Betterleaks, an open source secrets scanner by the author of Gitleaks Trump’s 2026 cybersecurity strategy: From compliance to consequence How does AI pentesting work with compliance? What continuous pentesting actually requires Rare Not Random: Using Token Efficiency for Secrets Scanning Persistent XSS/RCE using WebSockets in Storybook’s dev server Why Determinism Is Still a Necessity in Security WAF vs. RASP vs. ADR Introducing Aikido Infinite: A new model of self-securing software How Aikido secures AI pentesting agents by design Astro Full-Read SSRF via Host Header Injection How to Get Your Board to Care About Security (Before a Breach Forces the Issue) What is Slopsquatting? The AI Package Hallucination Attack Already Happening SvelteSpill: A Cache Deception Bug in SvelteKit + Vercel Top 6 Wiz Code Alternatives Aikido recognized as Platform Leader in Latio Tech's 2026 Application Security Report From detection to prevention: How Zen stops IDOR vulnerabilities at runtime npm backdoor lets hackers hijack gambling outcomes Introducing Upgrade Impact Analysis: When breaking changes actually matter to your code Why Trying to Secure OpenClaw is Ridiculous Claude Opus 4.6 found 500 vulnerabilities. What does this change for software security? Introducing Aikido Expansion Packs: Safer defaults inside the IDE International AI Safety Report 2026: What It Means for Autonomous AI Systems Self-Securing Software: What It Is, Why It Matters, and How It Works npx Confusion: Packages That Forgot to Claim Their Own Name What Is Continuous Pentesting? Introducing Aikido Package Health: a Better Way to Trust Your Dependencies AI Pentesting: Minimum Safety Requirements for Security Testing Secure SDLC for Engineering Teams (+ Checklist) Fake Clawdbot VS Code Extension Installs ScreenConnect RAT G_Wagon: npm Package Deploys Python Stealer Targeting 100+ Crypto Wallets Gone Phishin': npm Packages Serving Custom Credential Harvesting Pages Malicious PyPI Packages spellcheckpy and spellcheckerpy Deliver Python RAT Top 10 AI Security Tools For 2026 Agent Skills Are Spreading Hallucinated npx Commands Understanding Open-Source License Risk in Modern Software The CISO Vibe Coding Checklist for Security Top 6 Graphite alternatives for AI code review in 2026 From “No Bullsh*t Security” to $1B: We Just Raised Our $60m Series B Critical n8n Vulnerability Allows Unauthenticated Remote Code Execution (CVE-2026-21858) Top 14 VS Code Extensions for 2026 AI-Driven Pentesting of Coolify: Seven CVEs Identified Top Continuous Pentesting Tools in 2026 SAST vs SCA: Securing the Code You Write and the Code You Depend On JavaScript, MSBuild, and the Blockchain: Anatomy of the NeoShadow npm Supply-Chain Attack How Engineering and Security Teams Can Meet DORA’s Technical Requirements IDOR Vulnerabilities Explained: Why They Persist in Modern Applications Shai Hulud strikes again - The golden path MongoBleed: MongoDB Zlib Vulnerability (CVE-2025-14847) and How to Fix It First Sophisticated Malware Discovered on Maven Central via Typosquatting Attack on Jackson The Fork Awakens: Why GitHub’s Invisible Networks Break Package Security Top 10 Cyber Security Tools For 2026 SAST in the IDE is now free: Moving SAST to where development actually happens AI Pentesting in Action: A TL;DV Recap of Our Live Demo The Top 7 Threat Intelligence Tools in 2026 React & Next.js DoS Vulnerability (CVE-2025-55184): What You Need to Fix After React2Shell OWASP Top 10 for Agentic Applications (2026): What Developers and Security Teams Need to Know DAST vs Pentesting v AI Pentesting: Why DAST Cannot Replace Modern Pentesting PromptPwnd: Prompt Injection Vulnerabilities in GitHub Actions Using AI Agents Top 7 Cloud Security Vulnerabilities Critical React & Next.js RCE Vulnerability (CVE-2025-55182): What You Need to Fix Now How to Comply With the UK Cybersecurity & Resilience Bill: A Practical Guide for Modern Engineering Teams Shai Hulud 2.0: What the Unknown Wonderer Tells Us About the Attackers’ Endgame SCA Everywhere: Scan and Fix Open-Source Dependencies in Your IDE Safe Chain now enforces a minimum package age before install Shai Hulud Attacks Persist Through GitHub Actions Vulnerabilities Shai Hulud Launches Second Supply-Chain Attack: Zapier, ENS, AsyncAPI, PostHog, Postman Compromised CORS Security: Beyond Basic Configuration Revolut Selects Aikido Security to Power Developer-First Software Security The Future of Pentesting Is Autonomous How Aikido and Deloitte are bringing developer-first security to enterprise Secrets Detection: A Practical Guide to Finding and Preventing Leaked Credentials Invisible Unicode Malware Strikes OpenVSX, Again AI as a Power Tool: How Windsurf and Devin Are Changing Secure Coding Building Fast, Staying Secure: Supabase’s Approach to Secure-by-Default Development OWASP Top 10 2025: Official List, Changes, and What Developers Need to Know Top 10 JavaScript Security Vulnerabilities in Modern Web Apps The Return of the Invisible Threat: Hidden PUA Unicode Hits GitHub repositorties Top 7 Black Duck Alternatives in 2026 What Is IaC Security Scanning? Terraform, Kubernetes & Cloud Misconfigurations Explained AutoTriage and the Swiss Cheese Model of Security Noise Reduction Top Software Supply Chain Security Vulnerabilities Explained The Top 7 Kubernetes Security Tools Top 10 Web Application Security Vulnerabilities Every Team Should Know What Is CSPM (and CNAPP)? Cloud Security Posture Management Explained
Supply Chain Security: The Ultimate Guide to Software Composition Analysis (SCA) Tools
2026-05-19 · via Aikido Security's Blog

Software Composition Analysis (SCA) is the frontline tool for securing open-source dependencies across your codebase, containers, and cloud. This guide explains what SCA does, why it matters, how modern tools reduce noise, and practical steps to find and fix real risks — not just noisy alerts.

TL;DR

  • About 70–90% of application code often comes from open-source dependencies. That creates a large attack surface.
  • SCA tools scan your dependencies (including transitive ones), match them to CVE databases, and generate remediation guidance or SBOMs.
  • False positives are common — modern SCA uses reachability analysis and dev-vs-prod detection to cut noise by ~80%.
  • Fix strategy: auto-upgrade non-breaking changes, triage breaking upgrades, and use autofix/PR generation to speed remediation.

SCA, also called dependency scanning or open-source dependency scanning, identifies every open-source package your app uses, then checks whether those packages (and specific versions) are linked to known vulnerabilities. The output helps teams decide what to patch, update, or ignore.

Why SCA matters

Modern applications are layered: apps depend on libraries, which depend on other libraries — a Russian-doll of dependencies. A vulnerability in a foundational project can ripple across the entire supply chain. The Log4j incident is a prime example: a critical remote-code-execution flaw in a widely used logging library made vast parts of the internet exploitable.

Log4j logo with the text 'LOG4J' and the Java cup icon centered on a purple grid background.

Log4j — a reminder of widespread supply-chain risk.

How SCA works — the basics

  1. Inventory: SCA parses dependency manifests (package.json, package-lock.json, requirements.txt, Pipfile.lock, Gemfile.lock, etc.) to list direct and transitive dependencies.
  2. Matching: It compares package names and versions against vulnerability feeds (NVD, MITRE CVE, GitHub Advisory Database and other sources).
  3. Prioritization: Modern SCA adds context — reachability, environment (dev vs production), and exploitability — to prioritize findings.

Common dependency files

  • Node: package.json (direct deps) and package-lock.json (transitive deps)
  • Python: requirements.txt, pipfile.lock
  • Ruby: Gemfile and Gemfile.lock

SBOMs — the useful side quest

A Software Bill of Materials (SBOM) is a machine-readable inventory of the components and versions used in your software.

SBOMs are required by many compliance regimes and government contracts. Most SCA tools can generate SBOMs (SPDX, CycloneDX) alongside vulnerability reports.

CVEs and vulnerability feeds

When security researchers discover an issue they assign a CVE identifier and publish details including affected versions. SCA tools aggregate CVE data from sources like NVD, MITRE, and GitHub Advisories to determine whether your dependency versions match any known vulnerable ranges.

Quick scan example — scanning dependencies

Lightweight scanners (e.g., a Trivy-style CLI) can enumerate dependencies and report matches to vulnerability databases in seconds. Scan output can be exported as JSON and fed into dashboards or automated workflows.

Terminal window showing the command prompt with 'trivy fs' typed and a small presenter thumbnail overlay.

Running a quick Trivy filesystem scan in the terminal to enumerate dependencies.

Interpreting results: fixes, breaking changes, and scale

At first glance remediation looks simple — upgrade to a non-vulnerable version. In practice, upgrades can introduce breaking changes that cause regressions or require extensive testing. When an application has hundreds of vulnerable transitive packages, blind upgrading is often unrealistic.

Close-up of a 'Breaking Changes' modal showing a 'Found breaking changes' warning and a table of versions and descriptions in an SCA tool; presenter inset at bottom-right.

Breaking changes summary for a dependency — use this to triage breaking upgrades.

Two remediation buckets

  • Non-breaking upgrades: straightforward upgrades that don’t change behavior — prioritize and autofix these first.
  • Breaking upgrades: require deeper triage, compatibility testing, or code changes. These are the smaller but heavier lift items.

False positives and reachability analysis

Many flagged vulnerabilities are not exploitable in your context. Two common reasons:

  • Dev-only dependencies: packages used only at build time are not reachable in production.
  • Unreachable functions: A vulnerable function may exist in a package, but your app (and other dependencies) never call it.

Reachability analysis (call-tree analysis) maps how a top-level dependency pulls in downstream packages and whether the vulnerable code paths are actually invoked by your runtime. This removes noise and focuses teams on real risk.

SCA dashboard showing y18n issue overview with 'Does this affect me?' reachability result and autofix suggestion plus presenter thumbnail

Reachability analysis shows the vulnerability cannot affect our environment.

Practical example: a prototype pollution alert that isn't exploitable

Consider a widely used Node package that has a prototype-pollution vulnerability in a function called setLocale. If none of the code paths in your call tree invoke setLocale, the vulnerability is effectively not exploitable for your application — and can be safely deprioritized after verification.

Modern SCA features that change the game

  • Auto-ignore with reasons: Tools can auto-suppress findings when a dependency is only used in dev or when the affected function is not reachable, drastically cutting false positives.
  • Reachability / call tree visualization: Visualize the dependency path from your project to the vulnerable package to verify exploitability.
  • Breaking-change flags: Mark fixes that may introduce compatibility issues so teams can prioritize safe upgrades first.
  • Autofix / PR generation: Automatically generate dependency upgrade commits or pull requests for fixes that are low-risk.

Table titled 'Reasons for ignoring' showing entries such as 'Linux distro is not affected', 'Dependency not used in production', counts of issues, and a short description, with a presenter thumbnail.

Top reasons the SCA tool auto-ignores findings, used for triage and noise reduction.

Recommended remediation workflow

  1. Run SCA scans as part of CI to catch issues early.
  2. Auto-apply non-breaking fixes via autofix/PR generation and run tests.
  3. Triage breaking changes: create tickets, schedule compatibility testing, or plan phased upgrades.
  4. Use reachability analysis for triage: ignore verified non-reachable CVEs and document the justification.
  5. Maintain SBOMs for compliance and faster incident response.

Tooling choices — a pragmatic take

Open-source CLI scanners (Trivy, Grype) are excellent for quick checks and CI integration. Enterprise platforms add reachability analysis, automated prioritization, PR-based autofixes, and centralized dashboards to manage noise and scale remediation across teams. Choose based on the size of your codebase, compliance needs, and how much automation you want in remediation.

Key takeaways

  • SCA is essential because most modern apps rely heavily on open-source components.
  • Not every flagged CVE is exploitable — reachability analysis and dev/prod context are crucial to separate real risk from noise.
  • Prioritize non-breaking upgrades and automate them where possible. Reserve manual effort for breaking updates that require deeper engineering work.
  • Generate and maintain SBOMs for transparency and compliance.

Get started

Make SCA part of your CI/CD pipeline today: run regular scans, generate SBOMs, and enable autofix for safe, fast remediation. Start by scanning your repo with a lightweight CLI scanner, review reachability results for the highest-severity alerts, then incorporate automated fixes into pull-request workflows.

Protecting your software supply chain is both a technical and a process challenge. The right SCA tooling + a practical remediation workflow reduces risk and keeps engineering moving fast. Try out Aikido Security today!