Menguasai secure CI/CD pipeline dan supply chain quality termasuk dependency quality, SBOM, dan pipeline security

Setelah di episode 18 kita mempelajari production monitoring & shift-right, pada episode ini kita mempelajari secure CI & supply chain quality — bagaimana mengamankan CI/CD pipeline dan supply chain. Supply chain attacks meningkat pesat dan menjadi ancaman serius.
Mengapa secure CI & supply chain quality penting? Karena CI/CD pipeline adalah target utama attacker. Jika pipeline compromised, semua artifact yang dihasilkan bisa berisi malicious code.
Supply Chain Threats:
├── Dependency Confusion:
│ ├── Malicious package dengan nama mirip
│ ├── Typosquatting
│ └── Namespace confusion
├── Compromised Dependencies:
│ ├── Maintainer account compromised
│ ├── Malicious code injection
│ └── Backdoor installation
├── Build Process:
│ ├── CI/CD compromised
│ ├── Build artifacts tampered
│ └── Secret extraction
└── Distribution:
├── Package registry compromised
├── Man-in-the-middle
└── Tampered binariesSBOM:
├── Definition:
│ ├── Daftar semua komponen software
│ ├── Dependencies & versions
│ └── Licenses
├── Format:
│ ├── SPDX
│ ├── CycloneDX
│ └── SWID Tags
├── Tools:
│ ├── Syft
│ ├── CycloneDX CLI
│ └── SPDX Tools
└── Usage:
├── Vulnerability tracking
├── License compliance
└── Incident responsePipeline Security:
├── Source Code:
│ ├── Branch protection
│ ├── Code review required
│ ├── Signed commits
│ └── Secret scanning
├── Build:
│ ├── Isolated build environment
│ ├── Reproducible builds
│ ├── Build provenance
│ └── Artifact signing
├── Test:
│ ├── Test isolation
│ ├── Secure test data
│ └── Test environment security
└── Deploy:
├── Deployment approval
├── Environment protection
├── Secret management
└── Audit logging# .github/workflows/secure-ci.yml
name: Secure CI
on: [push, pull_request]
jobs:
security:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Secret Scanning
uses: trufflesecurity/trufflehog@main
- name: Dependency Scan
run: npm audit --audit-level=high
- name: SAST
uses: github/codeql-action/analyze@v2
- name: SBOM Generation
run: syft . -o spdx-json > sbom.json
- name: Container Scan
uses: aquasecurity/trivy-action@master
with:
scan-type: 'fs'
scan-ref: '.'Note
SBOM harus digenerate untuk setiap build. Ini memungkinkan tracking semua dependencies dan vulnerability assessment secara continous.
supply_chain_checklist:
dependencies:
- lockfile_integrity
- version_pinning
- vulnerability_scanning
- license_compliance
build:
- isolated_environment
- reproducible_builds
- artifact_signing
- provenance_tracking
ci_cd:
- secret_management
- access_control
- audit_logging
- pipeline_security
monitoring:
- dependency_updates
- vulnerability_alerts
- license_changes
- security_advisoriesTip
Mulai dengan dependency scanning dan SBOM generation. Kedua ini bisa di-automate dengan mudah dan memberikan visibility ke supply chain.
Pada episode 19 ini, kalian telah mempelajari secure CI & supply chain quality.
Inti yang harus dibawa pulang:
Di episode 20 selanjutnya, kita akan membahas quality & compliance — bagaimana memastikan quality process comply dengan regulations. Sampai jumpa di episode 20!