Since git tags are mutable (and GitHub does not require Actions to use the new Immutable Releases feature), an action that pins to a tag may not use the same code in two different times even if the tag is unchanged. In other words, the ABOM is only a semi-reliable record of the dependency graph when tags are used.
For users who want to have a more robust record of the tags used (especially if generating the ABOM in a CI run), an option to resolve and record the value of the hash associated with a tag would be helpful. I'm thinking something like --resolve-tags. If used, an entry like "slsa-framework/[email protected]" would turn into "slsa-framework/slsa-github-generator@f7dd8c54c2067bafc12ca7a55595d5ee9b75204a".
The slsa-github-generator action is a good example case, since the project instructs users to pin by tag instead of hash for technical reasons.
Since git tags are mutable (and GitHub does not require Actions to use the new Immutable Releases feature), an action that pins to a tag may not use the same code in two different times even if the tag is unchanged. In other words, the ABOM is only a semi-reliable record of the dependency graph when tags are used.
For users who want to have a more robust record of the tags used (especially if generating the ABOM in a CI run), an option to resolve and record the value of the hash associated with a tag would be helpful. I'm thinking something like
--resolve-tags. If used, an entry like"slsa-framework/[email protected]"would turn into"slsa-framework/slsa-github-generator@f7dd8c54c2067bafc12ca7a55595d5ee9b75204a".The slsa-github-generator action is a good example case, since the project instructs users to pin by tag instead of hash for technical reasons.