What it means for teams

Connecting a service to a repository or a pipeline takes a few clicks, and the service then holds tokens or runs code with your permissions. When a vendor or an action is compromised, as Codecov's uploader and tj-actions/changed-files were, every customer job that trusted it is exposed.

How to prevent it

  • Vet each third-party service before it gets access, and grant it least privilege.
  • Keep an inventory of every integration method: apps, plugins, OAuth applications, tokens and actions, with the permissions granted and used.
  • Run third-party tools in jobs without deploy or publish credentials, pin them to immutable versions and verify what you download.
  • Review integrations periodically and remove the ones no longer in use.

Guides on this site

Practice

Gaps on this site

The guides cover pinning and isolating third-party actions and CI tools. No guide here inventories and reviews the GitHub Apps, OAuth apps and tokens connected to an organization.

References

  1. CICD-SEC-8 Ungoverned Usage of 3rd Party Services (OWASP)

List data from the publisher. A guide is listed as the main subject when the weakness or risk is what the guide is about, and as covering it when a dedicated section or worked example addresses it.