Safeguard
Security Guides•

After a supply chain incident, which fixes should you do first?

Short lived credentials, pinned actions, clean caches and stored SBOMs give the most return. A prioritised backlog table with the reason for each.

Safeguard Security Team
4 min read

After a supply chain incident, fix first the things that would have shrunk this incident: short lived credentials, pinned third party actions, frozen lockfile installs, stored SBOMs for each release and log retention that covers your detection time. Then add cooldowns and tighter runner isolation. Start with what is cheap and widely effective.

Pick fixes by what failed

A review after the incident should name the gap that mattered: how it got in, how long it took to notice and how far it spread. Match each answer to a control.

Prioritised backlog

PriorityFixWhat it limitsSource of the guidance
1Short lived tokens, least privilegeTime a stolen secret is usefulGitHub hardening guide
2Pin actions to full commit SHAA moved tag swapping in malicious codeGitHub hardening guide
3Frozen lockfile installs in CISurprise version changesnpm ci docs
4Store an SBOM per releaseTime to answer were we affectedInternal practice
5Keep logs long enoughUnknown resultsAudit log has 180 day window on GitHub
6Ephemeral runnersCarry over between jobsSLSA threats
7Dependency cooldownFast moving malicious releasesSee cooldown guide
8Disable install scripts where possibleInstall time executionnpm config docs

Notes on the table

GitHub recommends pinning actions to a full length commit SHA, since tags can be moved or deleted if an action's repository is compromised, and notes that a workflow dependency lockfile is stronger where adopted. The npm docs say npm ci never writes to the lockfile, and exits with an error when it disagrees with package.json. npm runs lifecycle scripts by default, and setting ignore-scripts stops that, though some packages need their scripts to build.

Steps

  1. Turn the review findings into tickets with owners and dates.
  2. Do items 1 to 3 within a sprint. They are low cost.
  3. Schedule 4 to 6 within a quarter.
  4. Trial 7 and 8 on one team before rolling out, because they can slow work.
  5. Track completion in the same place as other risks. See the dependency cooldown guide.

Measure progress

Pick one or two measures per item, such as the share of workflows with pinned actions, the median token lifetime, and the share of releases with a stored SBOM. Review them monthly. The numbers do not need to be perfect. They show whether the controls are spreading or stalling, and they give leadership something concrete to ask about after an incident.

Try it yourself

Click through it at your own pace, or open it full screen.

See how a gate stops a risky change at review time, which is one way to enforce items above.

Quick check

Should we do everything at once?

No. Do the cheap controls first and trial the disruptive ones.

How do we know a fix worked?

Test it. For example, attempt a lockfile change in a pull request and confirm CI fails.

Safeguard policies and gates can enforce dependency rules in pull requests. A free scan is at gold.safeguard.sh/scan.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.