← Back to list

Mini Demo: SAST, SCA, Secret Scanning, SBOM ve Signing ile Güvenli Pipeline

Küçük bir demo repo üzerinde security gate modelinin hangi kanıtları ürettiğini adım adım görmek.

Oğuzhan karadağ · 2026-06-11 21:20 · 0 claps · 2.0 min read
#sast #ca #sbom #devsecops
Open on Medium ↗

Mini Demo: SAST, SCA, Secret Scanning, SBOM ve Signing ile Güvenli Pipeline

Küçük bir demo repo üzerinde security gate modelinin hangi kanıtları ürettiğini adım adım görmek.

Gitleaks secret scanning çıktısı.

Gitleaks secret scanning çıktısı.

Container scanning çıktısı.

Container scanning çıktısı.

Cosign imzalama/doğrulama çıktısı.

Cosign imzalama/doğrulama çıktısı.

Demo pipeline güvenlik özeti.

Demo pipeline güvenlik özeti.

Demo senaryosu

Modeli yalnızca kavramsal bırakmamak için küçük ölçekli bir demo sistem üzerinden düşündüm: web API, Dockerfile, bağımlılık dosyası ve örnek IaC yapılandırması. Amaç kusursuz üretim pipeline’ı kurmak değil; her gate’in nasıl kanıt ürettiğini göstermek.

Akış checkout, secret scan, SAST, SCA, IaC scan, build, unit test, container scan, SBOM üretimi, artifact signing, provenance doğrulama, policy gate ve release summary adımlarından oluşur.

Örnek GitHub Actions akışı

Aşağıdaki örnek, Medium için sadeleştirilmiş bir pipeline iskeletidir. Gerçek kullanımda organization policy, runner güvenliği, secret yönetimi ve artifact saklama politikaları ayrıca ele alınmalıdır.

name: secure-ci
on:
  pull_request:
  push:
    branches: [main]
jobs:
  security-gates:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Secret scanning
        run: gitleaks detect --report-format json --report-path reports/gitleaks.json
      - name: SAST
        run: semgrep ci --json --output reports/semgrep.json
      - name: Container scan
        run: trivy image demo:${{ github.sha }} --format json --output reports/container.json
      - name: Generate SBOM
        run: syft demo:${{ github.sha }} -o cyclonedx-json > reports/sbom.json
      - name: Sign artifact
        run: cosign sign --yes demo:${{ github.sha }}
      - name: Verify policy gate
        run: conftest test reports --policy policy

Policy-as-Code örneği

Policy tarafında amaç her aracın çıktısını tek bir karar noktasında birleştirmektir.

package cicd.gates
default allow = false
deny[msg] if {
  input.gitleaks.new_secret_count > 0
  msg := "Yeni sır tespit edildi"
}
deny[msg] if {
  input.sbom.present == false
  msg := "SBOM eksik"
}
deny[msg] if {
  input.provenance.verified == false
  msg := "Provenance doğrulanamadı"
}
allow if {
  count(deny) == 0
}

Bu demodan çıkarılacak mesaj

Araç çıktıları tek tek değerlidir; fakat asıl değer bunların release kararında birleşmesidir. Gitleaks, Trivy, Syft, Cosign veya Conftest ayrı raporlar üretir. SSDF-to-Gates yaklaşımı bu raporları gate evidence haline getirir.


메타데이터
post_id
e046785b32fb
slug
mini-demo-sast-sca-secret-scanning-sbom-ve-signing-ile-güvenli-pipeline-e046785b32fb
url
https://medium.com/@oguzhnkrdg/mini-demo-sast-sca-secret-scanning-sbom-ve-signing-ile-g%C3%BCvenli-pipeline-e046785b32fb
canonical_url
https://medium.com/@oguzhnkrdg/mini-demo-sast-sca-secret-scanning-sbom-ve-signing-ile-g%C3%BCvenli-pipeline-e046785b32fb
author_url
https://medium.com/@oguzhnkrdg
status
ok
fetched_at
2026-06-21 09:28:28