TL;DR: Trivy publishing credentials let attackers push malicious releases and alter GitHub Actions tags, according to Truffle Security's analysis. Supply chain defence now depends on narrowing release permissions, rotating short-lived credentials, and proving revoked access cannot still authenticate.
Editorial analysis by NHI Mgmt Group, based on content published by Truffle Security: “The Next Supply Chain Attack May Start With a Stolen Token”.
Key questions
Q: Why do incomplete credential rotations keep supply chain incidents alive?
A: Incomplete rotation keeps incidents alive because one surviving token, bot account, or secret can preserve attacker access after the first response.
Q: What are the warning signs that CI/CD credentials are over-scoped?
A: Warning signs include one token reaching repositories, registries, cloud services, and multiple workflows, or a single credential being able to publish and deploy.
Q: What breaks when package publish credentials are stolen in a software supply chain?
A: A stolen publish credential turns trusted release infrastructure into an attacker-controlled distribution path.
Practitioner guidance
- Inventory every release credential and automation token Map publishing tokens, CI/CD secrets, GitHub Actions credentials, and registry grants to the systems they can reach, then classify which ones can modify releases or trigger trusted workflows.
- Reduce standing authority in publishing workflows Replace long-lived publishing credentials with short-lived, workload-bound identity where supported, and limit each token to the smallest release scope possible.
- Prove revocation before closing containment After rotating a compromised secret, test that the old credential no longer authenticates and confirm that no equivalent grant survives in adjacent systems.
Bottom line: The article’s core warning is that software supply chains fail when release credentials are treated as routine secrets instead of privileged identities.
Glossary terms: Package Publishing Token, Trusted Publishing, Release Infrastructure, Credential Revocation
What's in the full article
Truffle Security's full blog post covers the operational detail this post intentionally leaves for the source:
- A closer walkthrough of the Trivy compromise chain, including how trusted release channels were abused
- Practical detail on token exposure paths across GitHub Actions, releases, and container images
- Specific examples of how incomplete rotation can leave attacker access intact
- Context on why secret discovery must extend beyond source code into build and release artefacts
👉 Read Truffle Security's analysis of stolen tokens in software supply chains →
Explore further
View Full Forum → | NHI Foundation Course → | Our Services → | Read the full analysis →
Release credentials are now supply chain identities, not operational convenience tokens. When a publishing token can alter releases, trigger workflows, and reach multiple downstream systems, it becomes a privileged identity with direct security impact. That should change how teams inventory, scope, and monitor automation access. The practical conclusion is to govern release credentials as high-risk machine identities, not as disposable build secrets.
A few things that frame the scale:
- 59% of compromised machines in a major 2025 supply chain attack were CI/CD runners rather than personal workstations, according to the State of Secrets Sprawl 2026.
- 92% of organisations expose NHIs to third parties, raising concerns about supply chain security, according to the Ultimate Guide to NHIs.
A question worth separating out:
Q: How should teams balance artifact signing with credential governance in supply chains?
A: Artifact signing reduces tampering risk, but it does not solve compromised release authority. Teams need both signed artefacts and tightly governed machine identities that create them. If the publishing credential is weak, the attacker can still sign or distribute malicious content through a trusted process.
👉 Read our full editorial: Stolen tokens turn software supply chains into distribution paths