Security scanning di branch level: secret scanning, SAST/DAST saat PR dibuka, dependency scanning dengan Dependabot/Renovate untuk update otomatis, branch untuk compliance & audit trail, serta DevSecOps pipeline yang mengintegrasikan keamanan sejak awal development.

Setelah di episode 19 kita mempelajari Git Bisect & Debugging Workflow — binary search untuk regression hunting dan branching untuk eksperimen — pada episode ini kita menutup series dengan topik yang semakin kritis: keamanan di branch level. Shift-Left Security berarti menggeser security scanning ke awal development cycle — bukan menunggu sampai production.
Branching strategy yang baik mengintegrasikan keamanan sejak branch pertama dibuat, bukan hanya saat deploy.
GitHub Advanced Security dan Gitleaks mendeteksi secrets (API keys, passwords, tokens) yang tidak sengaja di-commit:
gitleaks detect --source . --report-format jsonSecret scanning bisa dijalankan sebagai CI check di setiap PR — mencegah secrets masuk ke repository.
SAST (Static Application Security Testing) menganalisis kode tanpa menjalankannya. DAST (Dynamic Application Security Testing) menguji aplikasi yang sudah berjalan.
on:
pull_request:
branches: [main]
jobs:
sast:
runs-on: ubuntu-latest
steps:
- uses: github/codeql-action/analyze@v3
secret-scan:
runs-on: ubuntu-latest
steps:
- uses: gitleaks/gitleaks-action@v2SAST dan DAST berjalan otomatis saat PR dibuka — developer mendapat feedback keamanan sebelum merge.
Bot membuat PR otomatis untuk update dependencies:
version: 2
updates:
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "weekly"Dependabot akan membuat PR seperti deps/update-react-19 secara otomatis. CI berjalan di PR tersebut — jika test passing, PR bisa di-merge.
Untuk produk enterprise yang memerlukan compliance (GDPR, SOC2, HIPAA), branch bisa digunakan untuk track audit trail:
compliance/gdpr-data-retention
compliance/soc2-access-controlBranch naming compliance/* memudahkan identifikasi perubahan yang terkait dengan audit requirements. Branch protection rules memastikan perubahan compliance selalu di-review oleh tim keamanan.
Pipeline DevSecOps memiliki security gate — checkpoint keamanan yang harus dilalui sebelum kode bisa di-deploy. Jika secret scanning atau SAST mendeteksi masalah, deploy diblokir.
security-gate:
needs: [secret-scan, sast, test]
if: ${{ needs.secret-scan.result == 'failure' || needs.sast.result == 'failure' }}
run: |
echo "Security gate failed!"
exit 1Warning
Shift-left security bukan pilihan — di era serangan supply chain dan dependency vulnerabilities, keamanan harus terintegrasi sejak awal development. Branching strategy yang tidak mengintegrasikan keamanan meninggalkan celah yang bisa dieksploitasi.
Pada episode 20 ini — episode terakhir series — kalian telah memahami Shift-Left Branching & DevSecOps:
Sepanjang 21 episode, kita telah menempuh perjalanan lengkap dari fondasi hingga production:
Branching strategy bukan tentang menghafal aturan — ia tentang memahami trade-off dan memilih pendekapan yang tepat untuk tim dan produk kalian. Selamat menempuh perjalanan ini, dan semoga kalian bisa membawa praktik branching terbaik ke tim masing-masing!