trivy üzerinden ci/cd pipeline'larına saldırı düzenlendi
arkadaşlar, yine supply chain saldırısı vakası var. bu sefer hedefte trivy var, biliyorsunuzdur, açık kaynaklı güvenlik tarama aracı. saldırganlar trivy’yi kullanarak ci/cd pipeline’larına sızmış ve cloud credential’ları, ssh key’leri, token’ları çalmışlar. yani güvenlik aracı üzerinden güvenlik ihlali yapmışlar, ironiye bakın.
ne olmuş peki
saldırganlar trivy’yi kullanarak bir infostealer (bilgi hırsızı) yerleştirmişler ci/cd workflow’larına. şöyle ki, trivy zaten güvenlik taraması yaparken sistem kaynaklarına erişim hakkına sahip. bunu fırsat bilen kötü niyetli tipler, bu aracı kullanarak pipeline içindeki hassas verileri toplamışlar.
spoiler: ci/cd pipeline’ları zaten hassas bilgi deposu gibidir. cloud credential’lar, api token’ları, ssh key’leri, database şifreleri hepsi orada. bir kere oraya girdiniz mi, zaten oyun bitti.
teknik detaylar
saldırı vektörü şöyle çalışmış:
- saldırganlar trivy’nin güvenilir bir araç olmasından faydalanmış
- ci/cd pipeline’larında trivy çalıştırılırken, aslında içine gizlenmiş infostealer de çalışmış
- infostealer şunları toplamış:
- cloud credential’ları (aws, azure, gcp)
- ssh private key’leri
- api token’ları
- environment variable’lardaki hassas bilgiler
- git credential’ları
yani klasik supply chain attack. güvendiğiniz bir araca trojan atıyorlar, siz de farkında olmadan çalıştırıyorsunuz.
etkilenen sistemler
| Sistem | Durum |
|---|---|
| Trivy kullanan CI/CD pipeline’ları | ✅ Etkileniyor |
| GitHub Actions | ✅ Risk altında |
| GitLab CI | ✅ Risk altında |
| Jenkins | ✅ Risk altında |
| CircleCI | ✅ Risk altında |
| Diğer CI/CD platformları | ✅ Risk altında |
şimdi ne yapacaksınız
agalar, acil şunları yapın:
1. trivy versiyonunu kontrol edin
# trivy versiyonunuzu kontrol edin
trivy --version
# en son güvenli versiyona güncelleyin
# paket yöneticinize göre:
# apt kullanıyorsanız:
sudo apt update && sudo apt upgrade trivy
# homebrew kullanıyorsanız:
brew upgrade aquasecurity/trivy/trivy
# docker kullanıyorsanız:
docker pull aquasec/trivy:latest
2. ci/cd log’larını inceleyin
# son 30 gündeki trivy çalıştırmalarını kontrol edin
# github actions için:
gh run list --workflow=security-scan --limit 100
# gitlab ci için:
gitlab-ci-pipeline-list --project-id YOUR_PROJECT_ID
3. credential rotation yapın
dikkat: eğer etkilendiğinizden şüpheleniyorsanız, hemen credential rotation yapın:
# aws credential'larını rotate edin
aws iam create-access-key --user-name YOUR_USER
aws iam delete-access-key --access-key-id OLD_KEY --user-name YOUR_USER
# ssh key'lerinizi yenileyin
ssh-keygen -t ed25519 -C "yeni-key@example.com"
# github token'larını iptal edin ve yenilerini oluşturun
# settings -> developer settings -> personal access tokens
4. secret scanning yapın
# git history'nizde açıkta kalmış secret var mı kontrol edin
git secrets --scan-history
# veya gitleaks kullanın
gitleaks detect --source . --verbose
önleyici tedbirler
arkadaşlar, bu tür saldırılardan korunmak için şunları yapın:
secret management kullanın
ci/cd içinde secret’ları hardcode etmeyin. secret management araçları kullanın:
- HashiCorp Vault: enterprise seviye secret management
- AWS Secrets Manager: aws kullanıyorsanız
- Azure Key Vault: azure kullanıyorsanız
- GitHub Secrets: github actions için
- GitLab CI/CD Variables: gitlab için
least privilege prensibini uygulayın
# github actions örneği
# sadece gerekli permission'ları verin
permissions:
contents: read
security-events: write
# pull-requests: write # gereksizse vermeyin
supply chain güvenliği
# trivy gibi araçları da tarayan bir workflow ekleyin
# github actions örneği:
- name: Scan Trivy binary
uses: aquasecurity/trivy-action@master
with:
scan-type: 'fs'
scan-ref: '/usr/local/bin/trivy'
network segmentation
ci/cd runner’larınızı izole edin:
- production network’ten ayırın
- sadece gerekli endpoint’lere erişim verin
- egress traffic’i filtreleyin
geçici çözümler
yamayı hemen uygulayamayanlar için:
trivy kullanımını geçici olarak durdurun: alternatif tarama araçlarına geçin (grype, snyk, etc.)
network monitoring: ci/cd runner’lardan anormal outbound connection’ları izleyin
# runner'da netstat ile bağlantıları izleyin
netstat -tupn | grep ESTABLISHED
# veya tcpdump ile:
tcpdump -i any -n 'tcp and not port 22 and not port 443'
secret rotation: şüphe duyduğunuz tüm credential’ları rotate edin
audit log’ları: cloud provider’ınızın audit log’larını inceleyin
# aws cloudtrail için:
aws cloudtrail lookup-events --lookup-attributes AttributeKey=Username,AttributeValue=ci-cd-user --max-results 50
# azure için:
az monitor activity-log list --resource-group YOUR_RG --start-time 2025-02-01
sonuç
agalar, supply chain saldırıları artık çok yaygın. güvendiğiniz araçları bile şüpheyle karşılamanız gerekiyor. özellikle ci/cd pipeline’larınızı sıkı tutun, orası altın madeni gibi saldırganlar için.
yapmanız gerekenler:
- ✅ trivy versiyonunu güncelleyin
- ✅ log’ları inceleyin
- ✅ credential rotation yapın
- ✅ secret management kullanın
- ✅ least privilege uygulayın
- ✅ network segmentation yapın
edit: bu saldırının cve numarası henüz yayınlanmadı, ama dark reading’in raporuna göre aktif olarak sömürülüyor. gözünüz üzerinde olsun.
dikkat: yedek almadan credential rotation yapmayın, kendınızı dışarı kilitlersiniz sonra ağlarsınız.
kaynaklar
Bu içerik yapay zeka tarafından oluşturulmuştur.
