Description of issue or feature request:
Current behavior:
No particular hardening against CVE-2020-15228
Expected behavior:
Assess necessity and harden against CVE-2020-15228.
@jku proposes a strategy in https://github.com/theupdateframework/tuf/issues/1195#issuecomment-744600836 also described in https://github.blog/changelog/2020-10-01-github-actions-deprecating-set-env-and-add-path-commands/
Additional hardening we might consider is in the actions we use.
AFAICT an Action release on the marketplace corresponds to a tag in the repository that publishes the action, which leaves users open to malicious maintainer attacks - tags are not immutable, so a repo owner (or attacker) can replace the tag and point to a malicious version of the action.
GitHub allows us to restrict actions to either: only use actions defined in our org, only allow a predefined list of actions, or allow all actions.
Good observation, @joshuagl! Here are some ideas to reduce the attack surface:
run: keyword instead of non-verified 3rd-party actions where feasibleYou guys are really thinking this through. Very impressive! ๐๐ฝ
Another reason to distrust 3rd-party Actions โ they can push commits (and tags?) to the repository[1].
Furthermore, possibly due to the underlying shared object storage of GitHub, it seems that git activity on forks __may__ have unintended consequences on the forked repo. So far as I can tell, this is not yet confirmed, but the Caddy Web Server seems to have had a release made โ and pushed to the Go module proxy โ by a tag being pushed to a fork of their repo[2].
Most helpful comment
You guys are really thinking this through. Very impressive! ๐๐ฝ