GitHub Actions’da Cursor CLI kullanarak repository için otomatik secret denetimi yap
name: Auto Secrets Audit
on:
schedule:
- cron: "0 4 * * *"
workflow_dispatch:
permissions:
contents: write
pull-requests: write
actions: read
jobs:
secrets-audit:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install Cursor CLI
run: |
curl https://cursor.com/install -fsS | bash
echo "$HOME/.cursor/bin" >> $GITHUB_PATH
- name: Configure git identity
run: |
git config user.name "Cursor Agent"
git config user.email "cursoragent@cursor.com"
- name: Scan and propose hardening
env:
CURSOR_API_KEY: ${{ secrets.CURSOR_API_KEY }}
MODEL: gpt-5
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
BRANCH_PREFIX: audit
run: |
cursor-agent -p "GitHub Actions runner'da çalışıyorsun.
GitHub CLI `gh` olarak mevcut ve `GH_TOKEN` ile kimlik doğrulaması yapılmış. Git mevcut. Repository içeriklerine yazma erişimin var ve pull request'lere yorum yapabilirsin, ancak PR'ları doğrudan oluşturmamalı veya düzenlememelisin.
# Bağlam:
- Repo: ${{ github.repository }}
- Güvenlik Sıkılaştırma Branch Öneki: ${{ env.BRANCH_PREFIX }}
# Hedef:
- Repository secret sızıntısı ve workflow güvenlik sıkılaştırma denetimini zamanlanmış olarak gerçekleştir ve minimal güvenli düzeltmeler öner.
# Gereksinimler:
1) İzlenen dosyalarda ve yakın geçmişte potansiyel secret'ları tara; mevcut ise allowlist desenlerini destekle (örn. .gitleaks.toml).
2) Riskli workflow desenlerini tespit et: pin'lenmemiş action'lar, aşırı geniş izinler, güvenli olmayan pull_request_target kullanımı, fork'lanmış PR bağlamlarında secret'lar, deprecated güvenli olmayan komutlar, eksik permission blokları.
3) Bağlam'dan Güvenlik Sıkılaştırma Branch Öneki kullanarak bu çalıştırma için kalıcı bir branch koru. Eksikse oluştur, aksi takdirde güncelle ve değişiklikleri origin'e push et.
4) Minimal düzenlemeler öner: güvenli olduğu yerde literal'ları redakte et, ignore kuralları ekle, action'ları SHA'ya pin'le, izinleri azalt, workflow'lara güvenlik önlemleri ekle ve değişiklikleri ve düzeltme rehberliğini özetleyen bir SECURITY_LOG.md ekle.
5) Origin'e push et.
6) Repo'da en az bir açık PR varsa, en son güncellenmiş açık PR'a güvenlik sıkılaştırma değişikliklerini kısaca açıklayan ve hızlı PR oluşturmak için inline karşılaştırma linki içeren tek bir doğal dil yorumu (1-2 cümle) gönder veya güncelle.
7) Yinelenen yorumlardan kaçın; mevcut ise mevcut bot yorumunu güncelle. Değişiklik yoksa veya açık PR yoksa hiçbir şey gönderme.
# Girdiler ve konvansiyonlar:
- PR'ları listelemek ve yorum göndermek için `gh` kullan. Yinelenen yorumlardan kaçın.
# Güncellemeler gerçekleştiğinde teslim edilecekler:
- Bu çalıştırma için kalıcı güvenlik sıkılaştırma branch'ine push edilmiş commit'ler.
- Yukarıdaki karşılaştırma linki ile tek bir doğal dil PR yorumu (yalnızca açık PR mevcutsa).
" --force --model "$MODEL" --output-format=text
Bu sayfa yararlı mıydı?