Supply Chain Security
Protecting against compromise arriving through the code and tooling a project depends on.
Supply chain security addresses the risk that comes through dependencies: a package that is malicious, one that was taken over, one whose build tooling was compromised, or a build system that can be induced to do something on an attacker's behalf.
The attack surface is larger than the dependency list. It includes transitive dependencies, install scripts that execute during installation, the continuous-integration environment, and any automation that acts on content an outsider can influence.
That last one deserves particular attention, because it is where a modern hazard sits. Automation that runs an agent over externally-authored text — a dependency update's release notes, an issue description, a pull request body — has a specific exfiltration shape: the checkout step persists a credential into the working directory by default, where an unrestricted read plus any outbound request walks it out. Closing it means not persisting the credential, scoping outbound destinations to a known list, and removing any capability that sends arbitrary text to a third party. Restricting the token's permissions is not sufficient, because a workflow's permission block bounds the platform token, not a separately-minted one the agent holds. See Prompt Injection and Least Privilege.
The ordinary defences still matter: a Lockfile, pinned versions, reviewed updates, and minimal privileges everywhere.
See also5
Hand-picked in the note itself — the neighbours worth reading next.
Least Privilege
Granting only the permissions actually required, so a compromise has a small ceiling.
Systems & Tooling9 connections
Secret Management
Storing, distributing, and rotating credentials without embedding them in code or history.
Systems & Tooling15 connections
Lockfile
A generated file recording the exact dependency versions an install resolved to.
Version Control & Delivery8 connections
Package Manager
The tool that resolves, fetches, and installs dependencies, and pins them for reproducibility.
Systems & Tooling10 connections
Code Signing
Cryptographically attesting who produced a binary, and the operating-system checks built on it.
Systems & Tooling9 connections
Related3
Nearby in the graph rather than deliberately chosen. Looser, sometimes surprising.
Linked from8
Notes elsewhere in the wiki that reach for this one.
- Code SigningSystems & Tooling
Cryptographically attesting who produced a binary, and the operating-system checks built on it.
- Least PrivilegeSystems & Tooling
Granting only the permissions actually required, so a compromise has a small ceiling.
- LockfileVersion Control & Delivery
A generated file recording the exact dependency versions an install resolved to.
- MonorepoSystems & Tooling
Several packages developed in one repository with shared tooling and atomic cross-package changes.
- Package ManagerSystems & Tooling
The tool that resolves, fetches, and installs dependencies, and pins them for reproducibility.
- Prompt InjectionAgents & Language Models
Untrusted content that reaches a model's context and is treated as instruction.
- Secret ManagementSystems & Tooling
Storing, distributing, and rotating credentials without embedding them in code or history.
- Semantic VersioningVersion Control & Delivery
A version-numbering convention where the number communicates the kind of change.