- レポート https://www.wiz.io/blog/new-github-action-supply-chain-attack-reviewdog-action-setup
- reviewdogに仕組まれたコードを含む commit https://github.com/reviewdog/action-setup/commit/f0d342
- tj-actions/changed-files への攻撃が発覚
- reviewdog/action-setup への攻撃がそれよりも前に発生していたとのレポート
reviewdog/action-setup への攻撃内容を見てみよう、という話。
$ base64 -d 1_script_runner.b64 > 2_script_runner.py
という形でPythonスクリプトを展開してる。
このスクリプト(2_script_runner.py)は Runner.Worker
プロセス(おそらくGHAのコマンドを実行するワーカープロセス)を特定し、
そのプロセスの読み込み可能なメモリを全てダンプする。
ダンプしたメモリに対して grep -aoE '"[^"]+":\{"value":"[^"]*","isSecret":true\}'
で
全てのシークレットの情報を(二重にbase64エンコードして)echo する。
つまりGHAの実行ログにシークレットがさらされる。 tj-actions/changed-filesはこれで自身への書き込み権限のあるPATを、ログ上へ晒してしまったのだと考えられる。