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

推荐订阅源

H
Help Net Security
T
ThreatConnect
SecWiki News
SecWiki News
F
Future of Privacy Forum
AWS News Blog
AWS News Blog
C
Cisco Blogs
A
Arctic Wolf
Vercel News
Vercel News
The GitHub Blog
The GitHub Blog
Scott Helme
Scott Helme
V
V2EX
博客园 - 叶小钗
阮一峰的网络日志
阮一峰的网络日志
K
Kaspersky official blog
G
Google Developers Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
P
Privacy International News Feed
C
Cyber Attacks, Cyber Crime and Cyber Security
N
News | PayPal Newsroom
Schneier on Security
Schneier on Security
NISL@THU
NISL@THU
Microsoft Azure Blog
Microsoft Azure Blog
量子位
The Hacker News
The Hacker News
Stack Overflow Blog
Stack Overflow Blog
Security Latest
Security Latest
M
Microsoft Research Blog - Microsoft Research
Google Online Security Blog
Google Online Security Blog
博客园_首页
C
CXSECURITY Database RSS Feed - CXSecurity.com
I
InfoQ
Google DeepMind News
Google DeepMind News
Y
Y Combinator Blog
The Cloudflare Blog
Microsoft Security Blog
Microsoft Security Blog
Martin Fowler
Martin Fowler
Cisco Talos Blog
Cisco Talos Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Troy Hunt's Blog
F
Fox-IT International blog
S
Security @ Cisco Blogs
博客园 - 司徒正美
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
C
Comments on: Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
L
LINUX DO - 最新话题
GbyAI
GbyAI
Project Zero
Project Zero
腾讯CDC
T
Tailwind CSS Blog

DEV Community

What I Learned Exploring AI-Generated 3D: A Hands-On Tour of Meshy, Tripo, and Three.js Contributing Upstream Instead of Forking: My grape-swagger-rails Story Behind The Badge: How We Built 2,000 Hackable Badges For Temporal Replay Access Control Doesn't Scale Linearly -- Part 3 33x faster than Rust: Why I stopped waiting for my compiler and built my own. I Built My First Production AWS Project as a Career Changer Why Detecting PII Matters More Than Ever JSON Schema in 10 Minutes — Validation, Types & Real Examples Python Tasks How I Started My Cybersecurity Journey as an SQA Engineer 🔐 Why "fancy fonts" in Discord and Instagram bios turn into boxes ☁️ GKE private cluster setup — common mistakes and how to avoid them I Thought a Username Didn’t Matter… Until I Saw How Much People Care About It Claude for Small Business: 382K Day-One Buyer's Guide I Built a Diagnostic Toolkit for PyTorch Because I Was Tired of Guessing Why Models Fail How I Built an AI-Powered Incident RCA Platform with LangGraph and RAG The Paywall Was a Painted Door Sonnet hallucinated. My agent stored it as fact. How React-Style Time-Slicing Keeps UIs Responsive 这个 Princeton 开源项目让 AI 自己修 Bug,19K Stars 但 90% 的人只用了 1% 功能 🔥 SWE-agent's 5 Hidden Uses Nobody Told You About 🔥 Decompiling Serial Number U-36: Python TERCOM Reconstruction, Cryptographic Logistical Forensics, and Swarm Consensus Fault Tolerance Microservices Patterns You Cannot Outrun a Wave I Fired My Entire Node.js Stack — Rust Rebuilt It in 3 Weeks (The Ugly Truth) BoxAgnts Introduction (2) — AI Agent Toolbox Cursor 3 ships parallel AI agents. Here is the multi-agent workflow that actually works. Prisma-7 A Complete Beginners Guide (With Free Cloud Database!) Akses HDD Rumah dari Laptop Kantor Pakai Tailscale + SMB (Tanpa VPN Ribet) Content Pipeline in MonoGame: Why I Don't Use It Debug Log #1 — The Pipeline That Looked Broken Data Structures in JavaScript: When to Use What (2026) BGP Route Flap Damping: A Solution or a New Problem? First look at AWS DevOps Agent The Next Big “Cult App” Probably Isn’t Another Social Media Platform From Template to Production-Shaped: An AI-Native Dev Flow for Go Side Projects Idempotency Keys: The API Pattern That Saves You From Duplicate Payments and Phantom Records Everyone's Building Jarvis. Nobody's Even Close. The Moment the Jaeger Tracer Exhausted Itself and What We Switched To How to Fix Tool-Use Loops in Autonomous Coding Agents Months of self-testing: Citations shine, other features remain unproven. Claude Code for Canary Deployments: How I Ship to 1% of Users Before Breaking Everything Your recurring scraper is re-downloading data that didn't change. Here's the 15-line fix (conditional GET) 20 Years of GPUs in Numbers: How FLOPS & TDP Grew, and Who Led the NVIDIA vs AMD Race (open dataset, 13.5k GPUs) Espressif Reveals CoreBoard and Korvo Dev Kits for ESP32-S31 Composable Abstraction Layer: o pattern que faltava entre Pinia e seus componentes Vue Your GitHub Actions Logs Are Leaking LLM Keys and Your SIEM Isn't Catching It Solving Complex Logic with Claude and Research Papers Building TheEpicBook: A Deep Dive into a Node.js Monolithic Web Application Haber yazilimi, haber scripti, haber sistemi: ayni urun, uc ayri arama niyeti Predicting Blood Glucose Fluctuations: Building a Transformer-based CGM Forecaster with PyTorch & InfluxDB Pre-task hooks: the one-line wire-up that gives your Hono agent shared memory Concurrent writes to a shared agent memory: what we shipped, what we punted on Building a Production Serverless URL Shortener on AWS — 21 Articles, Every Test Run for Real My CKA Cheat Sheet: Commands, Aliases, and Documentation Tricks I Used During the Exam Frontend Engineering Beyond Pixels: The Architecture of Digital Accessibility VLA or IL? A Controlled Dataset for Testing Whether Finetuning Turns Your VLA into a Fancy Imitation Learner Fabric AI Functions Turn GenAI Into a Data Pipeline Step Proximate vs Ultimate: The Bug Is Never Just the Bug The Treasure Hunt Engine That Broke Before the Traffic Did Reset Windows Update: The Definitive MSP Guide to RWU Your Resume Was Never Built for This AI Writes 46% of Code Now: What Snap's Layoffs Mean for Developers in 2026 From Chatbot to Agent — Tool Calling with NVIDIA NIM Fatigue and Fracture Mechanics: Why Parts Break Below Their Yield Strength I built a token-level debugger for comparing two LLMs VCP-Virtual Private Cloud Embedding sing-box in an iOS messenger to bypass Russian DPI (no VPN) Microsoft Copilot just exfiltrated a company's files. The attack was one email. Here's the mechanism. RAG 시스템 실전 구축 (v42) copilot cloud agent is becoming an automation api Cx Dev Log — 2026-04-23 Why Tesla Is Becoming the AI Enterprise Case Study Every Leader Should Understand ORA-00214 오류 원인과 해결 방법 완벽 가이드 SpecAgnt v2.0: The Agent Lifecycle Framework for AI-Native Engineering Optimizing Signal Latency and Weight Allocations in Algorithmic Pipelines SSH Under the Hood: Protocols, Mechanisms, and the Full Technical Story دليل بوابات الدفع للتاجر العربي في 2026 (وكيف تختار المناسبة لمتجرك) Cómo Mi Configuración de Docker Me Salvó de un Ataque de Supply Chain (Y Por Qué la Tuya Debería Hacerlo También) How My Docker Setup Saved Me From a Supply Chain Attack (And Why Yours Should Too) Astro: The epitome of SEO Technical Update I Gave My AI Agent the Ability to Research Before It Writes — Here’s What Changed Kubernetes sem Cloud Provider (Parte 2): Criando Operators em Go para automação e self-service de plataforma AI Memory Needs an Authority Policy, Not Just More Context You've done tutorial after tutorial. Your GitHub is still empty. (Free 1‑page PDF, no signup) TypeScript 7.0: The Go Compiler That Makes TS 10x Faster Connecting Wallets the Right Way: wagmi v2 and EIP-6963 The 5-Layer Architecture Every Production Multi-Agent System Needs (And Why Most Skip Layers 4 and 5) CSS Scroll-Driven Animations: No JavaScript Required Vite 8 + Rolldown: Rust-Powered Builds That Are 10–30x Faster Core Architectural Components of Azure My Skills How I Use AI as a Senior Engineer Construí um motor ATS determinístico porque estava cansado de adivinhar por que meu currículo era rejeitado SCS-Lab1 — CloudTrail: Trail + S3 + KMS + Log Validation LuisCore MCP server — daily syndication · 2026-05-25 Cursor vs JetBrains Rider for C#/.NET in 2026: which to pay for I built a local-first movie recommender with Corrective-RAG (cited explanations, hybrid retrieval, runs entirely on Ollama) Scaling to 1 Million Users : Load Balancing & Caching Strategies
Day 15 - Software Composition Analysis(SCA)
Rahul Joshi · 2026-05-26 · via DEV Community

Modern applications are no longer built completely from scratch.

Today’s software is heavily dependent on:

  • Open-source libraries
  • Third-party packages
  • Public repositories
  • Container images
  • Framework ecosystems

A modern application may contain:

10% Custom Code
90% Open Source Dependencies

Enter fullscreen mode Exit fullscreen mode

And that creates one of the biggest security risks in modern software engineering.

This is where Software Composition Analysis (SCA) becomes critical.


🔗 Resources


🚨 The Open-Source Dependency Problem

Modern developers install packages instantly:

npm install express
pip install flask
mvn dependency:resolve

Enter fullscreen mode Exit fullscreen mode

But every dependency introduces risk.

And dependencies often contain:

  • Vulnerabilities
  • Malware
  • Backdoors
  • Abandoned packages
  • License violations

One vulnerable dependency can compromise an entire organization.


🧠 What is Software Composition Analysis (SCA)?

Software Composition Analysis (SCA) is the process of:

  • Identifying open-source dependencies
  • Detecting known vulnerabilities (CVEs)
  • Monitoring licenses
  • Finding outdated packages
  • Analyzing transitive dependencies
  • Detecting supply chain risks

Think of SCA as:

"Security Scanner for Open-Source Dependencies"

Enter fullscreen mode Exit fullscreen mode


📦 What Does SCA Scan?

SCA tools analyze:

Component Example
Package Managers npm, pip, Maven, Gradle
Containers Docker images
Infrastructure Packages OS libraries
Transitive Dependencies Nested libraries
SBOMs Software Bill of Materials

⚠️ Why SCA Matters

Open-source software powers nearly every application today.

But attackers now target:

  • Package ecosystems
  • CI/CD pipelines
  • Build systems
  • Dependency chains

Instead of attacking your code directly.


🔥 Real Security Risks in Open Source

🧨 1. Vulnerable Dependencies

Example:

Log4Shell

The Log4Shell vulnerability changed the entire industry.


☠️ 2. Malicious Packages

Attackers upload fake packages to public registries.

Example:

requests → safe package
reqeusts → typo-squatting malicious package

Enter fullscreen mode Exit fullscreen mode

One typo can compromise systems.


🕵️ 3. Supply Chain Attacks

Instead of attacking companies directly,
attackers compromise trusted dependencies.


🚨 Famous Supply Chain Attacks

Attack Impact
SolarWinds Massive enterprise compromise
Codecov CI/CD credential theft
event-stream npm attack Cryptocurrency theft
ua-parser-js compromise Malware injection

🔍 What is Dependency Scanning?

Dependency scanning means:

Checking all packages against vulnerability databases

Enter fullscreen mode Exit fullscreen mode

SCA tools compare dependencies with databases like:

  • NVD
  • CVE databases
  • GitHub Security Advisories
  • Vendor advisories

🧠 Example of Dependency Scanning

package.json
      ↓
SCA Tool Scans Dependencies
      ↓
Matches CVEs
      ↓
Risk Report Generated

Enter fullscreen mode Exit fullscreen mode


🔄 Where SCA Fits into DevSecOps Pipeline

SCA should happen continuously across the pipeline.

modern pipeline

SCA is a core part of modern DevSecOps.


⚙️ Popular SCA Tools

🟢 1. Snyk

One of the most popular developer-first SCA platforms.

Features:

  • Dependency scanning
  • Container scanning
  • IaC scanning
  • License compliance
  • PR integrations

🟣 2. Trivy

Lightweight and extremely popular in cloud-native environments.

Features:

  • Container scanning
  • Filesystem scanning
  • SBOM generation
  • Kubernetes scanning

Very popular in Kubernetes ecosystems.


🔵 3. OWASP Dependency-Check

Open-source dependency vulnerability scanner.

Features:

  • CVE analysis
  • Maven/Gradle support
  • CI/CD integrations
  • HTML reports

Maintained by OWASP.


📊 SCA Tool Comparison

Comparison

🧱 Understanding Transitive Dependencies

Dependencies often install more dependencies automatically.

Example:

Your App
   ↓
Express.js
   ↓
body-parser
   ↓
qs library

Enter fullscreen mode Exit fullscreen mode

Even if your direct dependency is safe,
nested dependencies may contain vulnerabilities.

SCA tools analyze the entire dependency tree.


📦 What is an SBOM?

SBOM = Software Bill of Materials.

Think of it as:

"Ingredient list for software"

Enter fullscreen mode Exit fullscreen mode

An SBOM contains:

  • Libraries
  • Versions
  • Licenses
  • Dependencies
  • Suppliers

SBOMs are becoming mandatory in many industries.


🔐 SCA + Container Security

Containers often contain vulnerable OS packages.

Example:

Ubuntu Base Image
       ↓
Old OpenSSL Package
       ↓
Critical Vulnerability

Enter fullscreen mode Exit fullscreen mode

Modern SCA tools scan:

  • Container layers
  • Base images
  • Installed packages
  • Runtime risks

☸️ SCA in Kubernetes Environments

Kubernetes environments introduce extra risks:

  • Vulnerable container images
  • Public Helm charts
  • Insecure operators
  • Misconfigured dependencies

This is why tools like Trivy became extremely popular in cloud-native security.


🧪 Example: Scanning Dependencies with Trivy

📌 Scan Filesystem

trivy fs .

Enter fullscreen mode Exit fullscreen mode


📌 Scan Docker Image

trivy image nginx:latest

Enter fullscreen mode Exit fullscreen mode


📌 Scan Kubernetes Cluster

trivy k8s cluster

Enter fullscreen mode Exit fullscreen mode


🧪 Example: Snyk Dependency Scanning

📌 Authenticate

snyk auth

Enter fullscreen mode Exit fullscreen mode


📌 Scan Project

snyk test

Enter fullscreen mode Exit fullscreen mode


📌 Monitor Project

snyk monitor

Enter fullscreen mode Exit fullscreen mode


🧪 Example: OWASP Dependency-Check

📌 CLI Scan

dependency-check.sh \
--project "MyApp" \
--scan .

Enter fullscreen mode Exit fullscreen mode


🚨 Challenges in SCA

SCA is powerful but imperfect.

Common issues include:

Challenge Description
False Positives Vulnerabilities may not be exploitable
Dependency Explosion Thousands of nested packages
Upgrade Complexity Fixing one package may break app
Alert Fatigue Too many warnings
Legacy Systems Old software hard to patch

🔥 Modern Supply Chain Security Trends

The industry is rapidly evolving toward:

  • SBOM enforcement
  • Signed artifacts
  • Secure package registries
  • Zero-trust pipelines
  • Provenance verification
  • Dependency pinning

🛡️ Best Practices for SCA

✅ Scan Dependencies Early

Shift-left security into development.


✅ Continuously Monitor Dependencies

New CVEs appear daily.

Continuous monitoring is critical.


✅ Pin Dependency Versions

Avoid:

latest

Enter fullscreen mode Exit fullscreen mode

Prefer:

nginx:1.27.2

Enter fullscreen mode Exit fullscreen mode


✅ Remove Unused Dependencies

Every package increases attack surface.


✅ Use Trusted Registries

Avoid downloading random packages.


✅ Generate SBOMs

Critical for compliance and incident response.


☁️ SCA in Modern Cloud-Native Pipelines

Modern pipelines integrate SCA everywhere:

GitHub Actions
      ↓
SCA Scan
      ↓
Container Scan
      ↓
Policy Check
      ↓
Kubernetes Deployment

Enter fullscreen mode Exit fullscreen mode

This reduces vulnerable deployments dramatically.


📈 Why SCA is Exploding in Popularity

SCA adoption is rapidly increasing because:

  • Open-source usage is exploding
  • Supply chain attacks are increasing
  • Compliance requirements are stricter
  • Kubernetes/container adoption is growing
  • Enterprises require dependency visibility

SCA is no longer optional.

It is now a core pillar of DevSecOps.


🧠 Final Thoughts

Modern applications depend heavily on open-source software.

And attackers know it.

Software Composition Analysis helps organizations:

  • Detect vulnerable dependencies
  • Prevent supply chain attacks
  • Secure CI/CD pipelines
  • Improve compliance
  • Protect cloud-native applications

Whether you're working with:

  • Kubernetes
  • Docker
  • Cloud-native apps
  • CI/CD pipelines
  • Enterprise applications

SCA is one of the most important security practices in modern software engineering.


🔗 Useful Resources