zizmorの audit。pull_request_target や workflow_run のような書き込み権限と secrets を持ったまま走るトリガーの使用を検出する
検出例
on: pull_request_target
なぜ危険か
- 上の
pull_request_targetは fork PR からのトリガーでもベースリポジトリの context で実行され、secretsと書き込み token がジョブに渡る - fork PR の内容(タイトル、ref、checkout した head のコード)を信頼して扱うと、攻撃者がリポジトリの secrets 窃取やコミット改竄できる
workflow_runも同種の高権限トリガー
改善例
on: pull_request