T08 · Insecure Dependencies
- Location
references/examples.md:825- Finding
Mutable and Unpinned CI Dependencies Create a Supply-Chain Risk
- Content
View full analysis
- Remediation
View remediation
- uses: actions/setup-node@ ``` 2. Use a locked Python dependency file with exact versions and hashes: ```bash python -m pip install --require-hashes -r requirements.txt ``` 3. Pin operating-system packages to reviewed versions where reproducibility is required. 4. Replace `apt-key` with a repository-specific keyring and use `signed-by` in the repository configuration. 5. Retrieve the signing key over HTTPS from an authenticated official source and independently verify its full fingerprint. 6. Set minimal workflow permissions, for example: ```yaml permissions: contents: read ``` 7. Keep secret-consuming steps in isolated jobs and expose each secret only to the specific step that needs it. 8. Enable dependency update review, provenance verification, and automated alerts for pinned dependencies. ]]>
