インジェクションによる攻撃例2
以下のようなコードは内部の式 ${{ }} が評価され、結果の値に置き換
えられるため、コマンドインジェクションに対して脆弱になる可能性があ
る
- name: Check PR title
run: |
title="${{ github.event.pull_request.title }}"
if [[ $title =~ ^octocat ]]; then
echo "PR title starts with 'octocat'"
exit 0
else
echo "PR title did not start with 'octocat'"
exit 1
fi
Slide 18
Slide 18 text
インジェクションによる攻撃例2
● 攻撃者は「 a"; ls $GITHUB_WORKSPACE"」 といったタイトルの
PRを作成する可能性がある
● その場合" を使用して title="${{github.event.pull_request.title }}"
ステートメントを中断し、ランナーでコマンドを実行できるようにす
る。そうすると以下のようにlsコマンドの出力を確認できる。
> Run title="a"; ls $GITHUB_WORKSPACE""
README.md
code.yml
example.js