Issue titleのshell展開からSnowflake社内Jiraへ侵入
これは何?GitHub Actionsは、issueやpull requestなどのeventを起点に、repository上のCI/CD処理を自動実行する仕組みです。
Snowflakeの公開repositoryで、issue titleをenvとjq経由で扱う安全なworkflowが、`${{ github.event.issue.title }}`をshellへ直接展開する形に変更され、誰でもcommand injectionを起こせる状態になりました。WizのRed AgentはrunnerからJira credentialを取得し、社内Jiraへのread accessまで検証したと報告しています。Wizは6月23日に報告し、Snowflakeは同日修正、tokenを交換し、監査logでは5日間の公開中にWiz以外のaccessを確認していません。
untrusted inputをenvとstructured parserから直接展開へ戻す変更は、過去の安全化理由がdiffから消えると再発します。AI生成か人手かを問わず、public trigger、shell interpolation、credential scopeを機械的なmerge gateにする必要があります。
- 読むべき人
- CI/CD、GitHub Actions、AppSec、AI code reviewの担当者
- HN
- 281 points / 117 comments