İş akışında güvenilmeyen metin kod olarak çalışıyor (ARCH10031)
Anahtar config.ci.github-script-injection · Önem error · Kategori security · CWE CWE-78
${{ ... }} kabuk çalışmadan önce betiğin içine yapıştırılır. İfade bir issue’nun, pull request’in, yorumun, incelemenin ya da commit’in yazarının seçtiği bir metinse (başlık, gövde, dal adı, commit mesajı) betiğinizin bir kısmını o kişi yazar. run adımları ve actions/github-script betikleri okunur.
Hatalı
Bölüm başlığı “Hatalı”on: issues: types: [opened]jobs: triage: runs-on: ubuntu-latest steps: - run: | echo "New issue: ${{ github.event.issue.title }}"on: issues: types: [opened]jobs: triage: runs-on: ubuntu-latest steps: - env: TITLE: ${{ github.event.issue.title }} run: | echo "New issue: $TITLE"Düzeltme
Bölüm başlığı “Düzeltme”Değeri bir ortam değişkeniyle geçirin (env: TITLE: ${{ github.event.issue.title }}) ve betikte "$TITLE" kullanın.
İşaretlenmeyenler
Bölüm başlığı “İşaretlenmeyenler”- Deponun denetlediği ifadeler:
github.repository,github.sha,inputs.*,secrets.*. - Aynı ifadenin
env:ya dawith:içinde kullanılması: orada bir değerdir, kod değil.