Skip to content

GitHubのImposter Commitとサプライチェーン攻撃

GitHubのリポジトリは、フォークにあるコミットもフォーク元から参照できるようになっている。例えば以下の場合、

  1. actions/checkoutuser1/checkout としてフォークする
  2. user1/checkout に新しいコミット xxxx をプッシュする
  3. actions/checkout@xxxx を参照する

こうすると、たとえ xxxx がマージされていなくても、なんならプルリクエストとして作られていなくても、コミットが親のリポジトリにあるように参照できてしまう。これを Imposter Commit と呼ぶらしい。

RussがBlueskyで怒っている。

Also, not even everything that looks like it is in github.com/actions really is. You can fork one and make your own commit and then refer to that hash as if it were one of the commits in the original. “Working as intended.”