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

推荐订阅源

MyScale Blog
MyScale Blog
爱范儿
爱范儿
The Register - Security
The Register - Security
小众软件
小众软件
D
DataBreaches.Net
雷峰网
雷峰网
S
Secure Thoughts
L
LINUX DO - 最新话题
M
MIT News - Artificial intelligence
Application and Cybersecurity Blog
Application and Cybersecurity Blog
罗磊的独立博客
F
Fortinet All Blogs
博客园 - 叶小钗
TaoSecurity Blog
TaoSecurity Blog
博客园 - Franky
aimingoo的专栏
aimingoo的专栏
S
SegmentFault 最新的问题
Hacker News: Ask HN
Hacker News: Ask HN
Help Net Security
Help Net Security
N
News and Events Feed by Topic
S
Security Affairs
The Last Watchdog
The Last Watchdog
Forbes - Security
Forbes - Security
S
Security @ Cisco Blogs
Latest news
Latest news
O
OpenAI News
N
Netflix TechBlog - Medium
云风的 BLOG
云风的 BLOG
Blog — PlanetScale
Blog — PlanetScale
Google Online Security Blog
Google Online Security Blog
S
Securelist
博客园 - 司徒正美
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
P
Proofpoint News Feed
T
Threat Research - Cisco Blogs
C
CXSECURITY Database RSS Feed - CXSecurity.com
P
Palo Alto Networks Blog
T
The Blog of Author Tim Ferriss
Stack Overflow Blog
Stack Overflow Blog
I
InfoQ
阮一峰的网络日志
阮一峰的网络日志
AI
AI
SecWiki News
SecWiki News
G
GRAHAM CLULEY
Cloudbric
Cloudbric
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
L
LINUX DO - 热门话题
C
Cybersecurity and Infrastructure Security Agency CISA
B
Blog RSS Feed

Step Security Blog

Announcing Dependabot Configuration Enhancements: Cooldown and Group Support - StepSecurity Securing Vibe Coding and AI Coding Agents: An End-to-End Approach with StepSecurity - StepSecurity Introducing StepSecurity Dev Machine Guard: Protecting Developer Machines from Supply Chain Attacks - StepSecurity Top 2024 Predictions for CI/CD Security - StepSecurity Dev Machine Guard Is Now Open Source: See What's Really Running on Your Developer Machine - StepSecurity Datadog's DevSecOps 2026 Report Validates What We've Been Building - StepSecurity hackerbot-claw: An AI-Powered Bot Actively Exploiting GitHub Actions - Microsoft, DataDog, and CNCF Projects Hit So Far - StepSecurity Cline Supply Chain Attack Detected: cline@2.3.0 Silently Installs OpenClaw - StepSecurity StepSecurity’s Unified Protection Across the SDLC Infrastructure Threat Framework (SITF) - StepSecurity @velora-dex/sdk Compromised on npm: Malicious Version Drops macOS Backdoor via launchctl Persistence - StepSecurity axios Compromised on npm - Malicious Versions Drop Remote Access Trojan - StepSecurity Behind the Scenes: How StepSecurity Detected and Helped Remediate the Largest npm Supply Chain Attack - StepSecurity 10 Layers Deep: How StepSecurity Stops TeamPCP's Trivy Supply Chain Attack on GitHub Actions - StepSecurity Malicious IoliteLabs VSCode Extensions Target Solidity Developers on Windows, macOS, and Linux with Backdoor - StepSecurity TeamPCP Plants WAV Steganography Credential Stealer in telnyx PyPI Package - StepSecurity litellm: Credential Stealer Hidden in PyPI Wheel - StepSecurity Checkmarx KICS GitHub Action Compromised: Malware Injected in All Git Tags - StepSecurity CanisterWorm: How a Self-Propagating npm Worm Is Spreading Backdoors Across the Ecosystem - StepSecurity Trivy Compromised a Second Time - Malicious v0.69.4 Release, aquasecurity/setup-trivy, aquasecurity/trivy-action GitHub Actions Compromised - StepSecurity bittensor-wallet 4.0.2 Compromised on PyPI - Backdoor Exfiltrates Private Keys - StepSecurity Malicious npm Releases Found in Popular React Native Packages - 130K+ Monthly Downloads Compromised - StepSecurity Malicious Polymarket Bot Hides in Hijacked dev-protocol GitHub Org and Steals Wallet Keys - StepSecurity ForceMemo: Hundreds of GitHub Python Repos Compromised via Account Takeover and Force-Push - StepSecurity xygeni-action Compromised: C2 Reverse Shell Backdoor Injected via Tag Poisoning - StepSecurity kubernetes-el Compromised: How a Pwn Request Exploited a Popular Emacs Package - StepSecurity How StepSecurity Caught a Release Storm in Microsoft’s @types Packages - StepSecurity Harden Runner Now Supports Windows and macOS GitHub Actions Runners - StepSecurity 10,000 Open-Source Projects Now Secured by Harden-Runner Community-Tier: A Milestone Three Years in the Making - StepSecurity 20+ Popular NPM Packages Compromised (Chalk, Debug, Strip-ANSI, Color-Convert, Wrap-ANSI...) - StepSecurity 2024 in Review: The Evolution of CI/CD Security & What's Next - StepSecurity How to Use Docker in Actions Runner Controller (ARC) Runners Securely - StepSecurity Celebrating 1000 Repositories Secured with Harden Runner: A Journey of Growth and Collaboration - StepSecurity StepSecurity Detects Early Supply Chain Risk Signals in kilocode npm - StepSecurity Another npm Supply Chain Attack: The 'is' Package Compromise - StepSecurity anthropics/claude-code-action Security: How to Secure Claude Code in GitHub Actions with Harden-Runner - StepSecurity Harden-Runner detection: tj-actions/changed-files action is compromised - StepSecurity StepSecurity's Catalog of Fixes - StepSecurity Orchestrating Security: StepSecurity's Impact on 400+ Repositories and Future Plans - StepSecurity Announcing Anomalous Outbound Call Detection Using Machine Learning - StepSecurity Announcing GitHub Actions Advisor and StepSecurity Maintained Actions - StepSecurity Analysis of Backdoored XZ Utils Build Process with Harden-Runner - StepSecurity Announcing General Availability of Harden Runner - StepSecurity Milestone Achieved: 2500+ Public Repositories Secured with Harden-Runner - StepSecurity Build secretless CI/CD pipelines using wait-for-secrets - StepSecurity Introducing Apps & PATs: Centralized Visibility for GitHub Apps and Personal Access Tokens - StepSecurity CVE-2026-22709: Critical Sandbox Escape Vulnerability in vm2 - StepSecurity StepSecurity Now Supports Dark Mode - StepSecurity 2025 in Review: The Evolution of Supply Chain Security & What's Next - StepSecurity Bake Harden-Runner Into GitHub's Custom Runner Images for Organization-Wide CI/CD Security - StepSecurity StepSecurity Is Now Available on Azure Marketplace - StepSecurity Critical Remote Code Execution Vulnerabilities Discovered in React Server Components and Next.js - StepSecurity How Harden Runner Detected the Sha1-Hulud Supply Chain Attack in CNCF's Backstage Repository - StepSecurity Sha1-Hulud: The Second Coming - Zapier, ENS Domains, and Other Prominent NPM Packages Compromised - StepSecurity Supply Chain Security Alert: eslint-config-prettier Package Shows Signs of Compromise - StepSecurity 9,000 Open-Source Projects Now Secured by Harden-Runner - StepSecurity Shai-Hulud: Self-Replicating Worm Compromises 500+ NPM Packages - StepSecurity Introducing npm Package Search: Find Where Any Package Was Introduced Across Your GitHub Organizations - StepSecurity StepSecurity Is Sponsoring GitHub Universe 2025 - StepSecurity s1ngularity: Popular Nx Build System Package Compromised with Data-Stealing Malware - StepSecurity Introducing StepSecurity Threat Intelligence: Real-Time Supply Chain Attack Alerts for Your SIEM - StepSecurity 8,000 Strong: Harden-Runner's Growing Impact on CI/CD Security - StepSecurity Securing Google Gemini in GitHub Actions with Harden-Runner - StepSecurity GhostAction Campaign: Over 3,000 Secrets Stolen Through Malicious GitHub Workflows - StepSecurity Introducing the NPM Package Cooldown Check - StepSecurity Securing GitHub Copilot in GitHub Actions with Harden-Runner - StepSecurity Calculate Your CI/CD Security ROI with StepSecurity's New ROI Calculator - StepSecurity How StepSecurity Harden Runner Detected Unexpected Microsoft Defender Installation on GitHub-hosted Ubuntu Runners - StepSecurity StepSecurity Harden Runner: Detect source code tampering during the build process - StepSecurity Suspicious Tag Movement in AWS’s GitHub Action: What Happened and Why It Matters - StepSecurity Lessons from AWS CodeBuild’s Memory-Dump Incident (CVE-2025-8217) - StepSecurity Supply Chain Security Alert: num2words PyPI Package Shows Signs of Compromise - StepSecurity When AI Meets CI/CD: Coding Agents in GitHub Actions Pose Hidden Security Risks - StepSecurity The GitHub Warning Everyone Ignores: 'This Commit Does Not Belong to Any Branch' - StepSecurity 8 GitHub Actions Secrets Management Best Practices to Follow - StepSecurity reviewdog GitHub Actions are compromised - StepSecurity 7,000 Open-Source Projects Now Secured by Harden-Runner - StepSecurity Replace Third-Party Actions with StepSecurity Maintained Actions via Automated Pull Requests - StepSecurity StepSecurity Is Now Available on AWS Marketplace - StepSecurity Introducing StepSecurity Artifact Monitor: Detect Unauthorized Software Releases in minutes, not months - StepSecurity Introducing Workflow Run Policies: Guardrails for Blocking Non-Compliant GitHub Actions Runs - StepSecurity Harden-Runner Detects New Traffic to release-assets.githubusercontent.com Across Multiple Customers - StepSecurity Grafana GitHub Actions Security Incident - StepSecurity Export Harden-Runner Security Insights and Detections to Amazon S3 - StepSecurity Evolving Harden-Runner’s disable-sudo Policy for Improved Runner Security - StepSecurity Announcing Policy-Driven Automated Pull Requests for CI/CD Misconfiguration Remediation - StepSecurity Announcing StepSecurity’s Integration with RunsOn: Secure and Optimized CI/CD Pipelines - StepSecurity Secure Repo Just Got Better: New Features for GitHub Actions Security Best Practices - StepSecurity Why Compliance Auditors Are Looking at Your CI/CD Runners - And How to Prepare - StepSecurity Harden-Runner Flags Anomalous Outbound Call, Leading to Docker Documentation Update - StepSecurity StepSecurity Harden-Runner Now Secures GitHub Actions Workflows for Over 5,000 Open Source Projects - StepSecurity GitHub Actions Pwn Request Vulnerability - StepSecurity Prevent Ultralytics Style CI/CD Security Attacks with Network Security Controls - StepSecurity PyTorch Supply Chain Compromise - StepSecurity Unified Network Egress View: Centralize GitHub Actions Network Destinations for Your Enterprise - StepSecurity Uniting Developers and Security: Celebrating the Success of 500+ Open Source Projects Using StepSecurity's Orchestration Platform - StepSecurity 5 Effective Third-Party GitHub Actions Governance Best Practices - StepSecurity StepSecurity Recognized Among CRN’s "10 Hottest DevOps Startups Of 2024" - StepSecurity Streamline Your GitHub Actions Workflows with StepSecurity’s Latest Feature - StepSecurity StepSecurity Steps Up the Security Game with SOC 2 Type 2 Compliance - StepSecurity StepSecurity's Alignment with CISA's CI/CD Security Guidance - StepSecurity
When 'Changed Files' Changed Everything: Our Black Hat 2025 Presentation on the tj-actions Supply Chain Breach - StepSecurity
2025-08-15 · via Step Security Blog

Getting a talk accepted at Black Hat is a defining moment for any security company, and we're thrilled to share the key insights from our presentation at Black Hat USA 2025 in Las Vegas. Our 40-minute briefing detailed how we detected and responded to one of the most significant CI/CD supply chain breaches of 2025.

The Friday Afternoon That Changed Everything

Our presentation began with a story that resonated with every security professional in the room. It was Friday afternoon, March 14th, when we were wrapping up our last meeting of the week. Then came the Slack notification that would consume our weekend – and ultimately expose a supply chain attack affecting thousands of organizations worldwide.

The tj-actions/changed-files GitHub Action, a seemingly innocuous tool used to detect file changes in pull requests, had been weaponized. This wasn't just any component – it was actively used in over 23,000 public repositories, including those belonging to GitHub, Hugging Face, HashiCorp, Meta, and Microsoft.

The Attack: Hiding in Plain Sight

The sophistication of this attack was remarkable. The attackers didn't just compromise the action – they employed a technique called "imposter commits." These are commits that don't actually exist in the target repository but instead live in a fork. Through GitHub's API architecture, release tags can point to these ghost commits, making them accessible while remaining invisible in the repository's commit history.

During our presentation, we demonstrated the attack chain:

  1. Attackers created a fork of the legitimate repository
  1. Added malicious code to their fork
  1. Updated all release tags (v35, v44, etc.) to point to their malicious commit
  1. Every workflow using these tags automatically executed the backdoor code

The malicious code itself was elegantly simple yet devastating. It downloaded a Python script called memdump.py from a public GitHub Gist, which then dumped the memory of the Runner.Worker process – the component that holds all CI/CD secrets during workflow execution. These secrets were then exfiltrated directly in the build logs using double base64 encoding to bypass GitHub's automatic secret masking.

Detection Through Baseline Monitoring

What made this presentation particularly compelling was our live demonstration of how the attack was detected. StepSecurity Harden Runner had established a baseline by monitoring thousands of workflow runs. When the compromised action suddenly made an outbound call to gist.githubusercontent.com – a destination never seen before in those runs – it triggered an immediate alert.

The audience was particularly engaged when we showed the actual detection screenshot, displaying how a single anomalous network connection exposed an attack that traditional security tools had missed. The attackers were clever, using GitHub-owned domains with high reputation scores that most EDR solutions would trust implicitly.

The Domino Effect: A Chain of Compromises

Perhaps the most alarming revelation was the chain of compromises that led to this breach. Our investigation, detailed in the presentation, revealed a complex attack chain:

  • The tj-actions/changed-files compromise originated from a compromised reviewdog/action-setup action
  • The reviewdog action was compromised using a stolen Personal Access Token (PAT) belonging to a reviewdog maintainer
  • That maintainer's PAT was stolen from the spotbugs/spotbugs repository where they had access
  • The spotbugs/spotbugs repository itself was compromised using another PAT that was stolen from the spotbugs/sonar-findbugs repository
  • The initial breach point was a Pwn Request vulnerability in the spotbugs/sonar-findbugs repository

This domino effect illustrated a critical vulnerability in the GitHub Actions ecosystem: the interconnected nature of actions and the broad permissions often granted to maintainers created a perfect storm for supply chain attacks. The reviewdog organization had a policy where anyone who submitted a merged pull request automatically received write access to the organization's repositories. When one of these maintainers had their PAT compromised through the spotbugs chain, it provided the attackers with the keys to compromise the entire reviewdog organization, which then led to the tj-actions breach.

Live Demonstration: Seeing is Believing

The highlight of our presentation was a live demonstration where we recreated the entire attack. We showed the audience two scenarios:

Normal Scenario

A typical workflow run with clean build logs and stable network baseline.

Normal Scenario Animation

Compromise Scenario

The same workflow after tag manipulation, showing:

  • The malicious imposter commit execution
  • Real-time credential theft
  • Secrets appearing in build logs in double base64 encoded format
  • Network baseline becoming unstable due to the anomalous connection

The leaked AWS access keys and GitHub tokens in the build logs drove home the severity of the threat.

Normal Scenario Animation

Industry Impact and Response

The presentation highlighted how this moved from an open-source hygiene issue to a matter of national security importance when CISA published a cybersecurity advisory about the compromise. For nearly 24 hours, the compromised action remained available, actively leaking credentials from thousands of organizations.

We shared the timeline of our response:

  • 5:00 PM UTC: Initial investigation confirmed the compromise
  • 8:00 PM UTC: Community notification and identification of affected repositories
  • Next day, 2:00 PM UTC: GitHub removed the action entirely
  • Next day, 10:00 PM UTC: GitHub restored the cleaned repository

Lessons Learned and Recommendations

Our presentation concluded with four concrete recommendations that resonated strongly with the audience:

  1. Implement Security Monitoring for CI/CD Runners: Organizations have monitoring for laptops and production environments but often have zero visibility into CI/CD runners.
  1. Enforce an Action Allowlist: With over 25,000 actions in the GitHub Marketplace, curation is essential.
  1. Pin Actions to Specific Commit SHAs: Organizations using commit SHAs instead of mutable tags were not affected by this incident.
  1. Develop an Incident Response Plan: We showed real examples of the challenges organizations faced in identifying compromised workflows and rotating credentials.

The Attackers' Sophistication

What particularly captivated the Black Hat audience was our analysis of the attackers' evasion techniques:

  • Using legitimate GitHub domains to avoid detection
  • Embedding exploit code to avoid network connections
  • Employing imposter commits to keep repository history clean
  • Impersonating legitimate users like renovate-bot

As we noted in our presentation: "None of the traditional security tools would flag any of this as malicious, and that's the terrifying brilliance of this attack."

Looking Forward

The presentation ended with a sobering thought that resonated throughout the conference: "These attack blueprints are now public. The next one won't just dump secrets in build logs. The next one won't just compromise two actions, and it might already be in your CI/CD pipeline."

As supply chain attacks become increasingly sophisticated, the security community must evolve beyond signature-based detection to behavioral analysis and anomaly detection.

For those interested in diving deeper into the technical details, you can download our complete Black Hat 2025 presentation slides here.  

This Black Hat presentation represents a milestone for StepSecurity and reinforces our commitment to securing the software supply chain. The validation from the security community and the engaged discussions that followed our talk confirm that CI/CD security is no longer a nice-to-have but a critical component of any organization's security posture.