Beranda

Security

Cloud, Container & IaC Security #05: Tut...

Cloud, Container & IaC Security #05: Tutorial Cloudsplaining + Semgrep untuk AWS IAM dan Application Security

Episode 05/5: tutorial lengkap Cloudsplaining + Semgrep dengan practical workflow, command dan security assessment.

Cloud, Container & IaC Security #05: Tutorial Cloudsplaining + Semgrep untuk AWS IAM dan Application Security
9 dibaca
Belum ada penilaian

Cloud, Container & IaC Security

Episode 05/5 — Cloudsplaining + Semgrep

Tool versions: Cloudsplaining 0.9.1 + Semgrep 1.177.0

Pendahuluan

Episode terakhir menyatukan dua layer yang sering diperiksa secara terpisah: application code dan cloud identity.

Semgrep membantu menemukan security pattern pada source code. Cloudsplaining membantu menilai AWS IAM policy dan least privilege.

1. Cloudsplaining

Install:

python3 -m venv .venv-cloudsplaining
source .venv-cloudsplaining/bin/activate
pip install cloudsplaining==0.9.1
cloudsplaining --help

2. Scan policy lokal

Workflow paling sederhana:

cloudsplaining scan-policy-file --input-file policy.json

Dengan policy lokal, kita dapat belajar tanpa memberikan akses langsung ke AWS account.

3. Assessment AWS account

Cloudsplaining menyediakan workflow download authorization data:

cloudsplaining download

Gunakan profile assessment bila diperlukan:

cloudsplaining download --profile security-audit

Kemudian:

cloudsplaining scan --input-file default.json

Verifikasi identity dan account sebelum assessment.

4. Least privilege

Misalnya:

{
  "Effect": "Allow",
  "Action": "s3:GetObject",
  "Resource": "*"
}

Jangan mengubah wildcard secara buta.

Tentukan kebutuhan aplikasi sebenarnya: bucket, prefix, action dan service yang menggunakan role.

Least privilege berarti permission yang sesuai kebutuhan, bukan sekadar permission paling sedikit.

5. Semgrep

Semgrep adalah static analysis tool untuk source code.

Versi tutorial: 1.177.0.

Verifikasi:

semgrep --version

Scan lokal:

semgrep scan --config auto

6. Custom security rule

Contoh:

rules:
  - id: insecure-example
    languages: [python]
    message: "Review this dangerous pattern"
    severity: WARNING
    pattern: dangerous_function(...)

Run:

semgrep scan --config rule.yml .

Custom rule dapat mendeteksi insecure API, hard-coded credential pattern, dangerous function, TLS verification yang dimatikan dan security invariant internal.

7. Menghubungkan source code dengan IAM

Contoh:

Application
 ↓
AWS SDK
 ↓
IAM Role
 ↓
S3

Semgrep membantu menjawab:

API AWS apa yang digunakan application?

Cloudsplaining membantu menjawab:

Apa yang sebenarnya boleh dilakukan IAM role?

Jika code hanya membutuhkan GetObject tetapi role memberikan s3:* maka ada kandidat least-privilege improvement.

8. Security rule sebagai asset

Semgrep rule dan IAM policy harus diperlakukan seperti code:

  • version controlled;
  • peer reviewed;
  • tested;
  • documented;
  • memiliki owner.

Rule security yang tidak dipelihara dapat menjadi sumber false positive maupun false negative.

9. CI/CD

Semgrep:

semgrep scan --config auto

Kemudian integrasikan hasil ke workflow CI sesuai platform.

Untuk IAM, Cloudsplaining dapat dijalankan terhadap policy artifact dalam security review.

Contoh:

Pull Request
 ↓
Semgrep
 ↓
IaC/IAM assessment
 ↓
Build
 ↓
Security Review
 ↓
Deploy

10. False positive

Static analysis berbasis pattern dapat menghasilkan false positive.

Review source context, data flow, framework behavior dan reachability sebelum mengubah severity atau men-disable rule.

Rule yang bagus bukan rule yang menghasilkan banyak finding, tetapi rule yang menghasilkan signal yang berguna.

11. Exception IAM

Exception IAM juga harus memiliki alasan, owner, scope dan review period.

Jangan membiarkan wildcard permission permanen hanya karena service akan rusak jika permission dipersempit tanpa testing.

12. Menggabungkan seluruh seri

Setelah lima episode:

Source Code → Semgrep
        ↓
IaC → Checkov / KICS
        ↓
Container → Trivy / Grype / Dive
        ↓
Kubernetes → kube-bench / kube-hunter
        ↓
Cloud → Prowler
        ↓
AWS IAM → Cloudsplaining

Tidak ada satu tool yang melakukan semuanya.

13. Final security checklist

Sebelum production:

  • source code scanned;
  • IaC scanned;
  • secrets checked;
  • image vulnerability scanned;
  • SBOM generated;
  • image layers reviewed;
  • Kubernetes baseline assessed;
  • cloud posture assessed;
  • IAM least privilege reviewed;
  • findings memiliki owner;
  • exception terdokumentasi;
  • critical findings memiliki remediation plan.

Kesimpulan seri

Security assessment bukan aktivitas menjalankan sepuluh command lalu selesai.

Tujuannya adalah membuat security menjadi bagian dari lifecycle:

Code → IaC → Build → Container → Kubernetes → Cloud → Identity → Runtime.

Tools memberi visibility dan automation. Security engineering tetap membutuhkan architecture review, least privilege, secure defaults, continuous assessment, remediation, monitoring dan accountability.

Referensi resmi


Seri: Cloud, Container & IaC Security
Episode: 05/5
Tools: Cloudsplaining + Semgrep

Post Terkait

Cloud, Container & IaC Security #04: Tutorial KICS + Prowler untuk IaC dan Cloud Security Assessment

Episode 04/5: tutorial lengkap KICS + Prowler dengan practical workflow, command dan security assessment.

21 Sep 2026

Cloud, Container & IaC Security #03: Tutorial kube-hunter + Checkov untuk Kubernetes dan IaC Security

Episode 03/5: tutorial lengkap kube-hunter + Checkov dengan practical workflow, command dan security assessment.

20 Sep 2026

Cloud, Container & IaC Security #02: Tutorial Dive + kube-bench untuk Container dan Kubernetes Hardening

Episode 02/5: tutorial lengkap Dive + kube-bench dengan practical workflow, command dan security assessment.

19 Sep 2026

© 2026 Yowisben. Semua hak dilindungi.

Powered by LONTAR CMS v1.85.1