AI Skill Report Card

Reviewing Enterprise Security Architecture

B+76·Aug 18, 2026·Source: Web

Reviewing Enterprise Security Architecture

Skill ini mengevaluasi desain sistem, kode, dan keputusan teknis-bisnis menggunakan lensa analisis konkret (bukan persona kosong), dengan output yang proporsional terhadap kompleksitas pertanyaan.

12 / 15

Untuk setiap permintaan, tentukan dulu kompleksitas & konteks:

  • Pertanyaan sederhana/faktual ("apa itu JWT?") → jawab singkat, langsung, tanpa analisis multi-lensa.
  • Keputusan arsitektur/desain sistem → gunakan checklist lensa analisis di bawah, terapkan hanya yang relevan.
  • Evaluasi kelayakan bisnis/fitur → gunakan kerangka Strategic Assessment.

Gunakan bahasa formal (Bahasa Indonesia atau bahasa yang dipakai user) — sesuaikan dengan bahasa input, jangan paksa formalitas jika konteksnya casual dan user tidak meminta demikian.

Recommendation
Description is written in third person and describes triggers well, but consider adding explicit English keywords/aliases for discoverability if the skill will be used in mixed-language environments.

1. Security & Threat Modeling

Terapkan STRIDE (Spoofing, Tampering, Repudiation, Information Disclosure, Denial of Service, Elevation of Privilege) untuk setiap komponen yang menerima input eksternal. Untuk setiap ancaman yang teridentifikasi, sebutkan: vektor serangan → dampak → mitigasi konkret.

2. Zero-Trust Validation

Checklist minimum:

  • Tidak ada trust implisit berdasarkan lokasi jaringan
  • Setiap request diverifikasi (identity + device posture)
  • Least-privilege access per komponen
  • Segmentasi/microperimeter jelas

3. Infrastructure & Resilience

  • Immutability: apakah komponen bisa diganti (bukan di-patch in-place)?
  • Read-only filesystem di layer runtime — apakah state disimpan di luar filesystem lokal?
  • Air-gap: apakah komponen kritikal butuh koneksi eksternal terus-menerus? Jika ya, itu risiko.

4. Error Handling & Data Integrity

Setiap saran kode/logika HARUS mencakup:

  • Kegagalan input tervalidasi dengan pesan error terstruktur ({code, message, context}), bukan exception mentah.
  • Idempotency untuk operasi yang bisa di-retry.
  • Transaction boundary jelas (commit/rollback eksplisit).

5. Scalability & Performance

  • Identifikasi bottleneck: I/O-bound, CPU-bound, atau network-bound?
  • Horizontal vs vertical scaling — mana yang cocok untuk beban ini?
  • Apakah ada single point of failure?

6. Strategic Assessment (untuk keputusan bisnis/produk)

Gunakan format:

  • Nilai strategis: masalah apa yang diselesaikan, untuk siapa?
  • Risiko teknis: kompleksitas implementasi, dependency baru
  • ROI kasar: effort vs dampak (skala 1-5)
  • Rekomendasi: Go / No-Go / Perlu riset lanjutan, dengan alasan konkret
13 / 15

Progress checklist untuk permintaan arsitektur/kode kompleks:

  • Klasifikasikan permintaan: faktual sederhana / desain sistem / keputusan bisnis
  • Pilih 2-4 lensa analisis yang paling relevan (jangan paksa semua 6)
  • Untuk setiap komponen teknis, terapkan alur: Input → Validation → Processing → Output
  • Sertakan error handling nyata (bukan // TODO: handle error)
  • Tandai asumsi default yang dipakai (Zero-Trust, immutable infra) HANYA jika relevan dengan konteks
  • Tutup dengan rekomendasi actionable, bukan daftar pertanyaan terbuka
Recommendation
The name 'reviewing-enterprise-security-architecture' is broader than the actual content (which also covers business strategy assessment, infra resilience, scalability) — consider renaming or narrowing scope to match the name.
16 / 20

Contoh 1 — Desain Autentikasi (kompleks, butuh multi-lensa):

Input: "Bagaimana desain autentikasi yang aman untuk sistem internal dengan akses terbatas?"

Output:

ANALISIS: Autentikasi Sistem Internal

1. Threat Model (STRIDE)
   - Spoofing: credential stuffing → mitigasi: rate limiting per IP+akun,
     MFA wajib untuk role admin.
   - Elevation of Privilege: token yang di-decode ulang untuk role lain
     → mitigasi: signature verification server-side, jangan percaya
     claim role dari client.

2. Desain Konkret
   - Gunakan short-lived access token (JWT, exp 15 menit) + refresh
     token rotasi (disimpan hashed di DB, single-use).
   - Struktur error saat login gagal:
     { "code": "AUTH_INVALID_CREDENTIALS", "retry_after": 30 }
     (jangan bedakan pesan "user tidak ada" vs "password salah" —
     cegah user enumeration)
   - Rollback otomatis jika refresh token dipakai dua kali (indikasi
     token theft) → invalidate seluruh sesi user tersebut.

3. Zero-Trust Check
   - [x] Setiap request API tervalidasi ulang tokennya (tidak ada
     session sticky berbasis IP)
   - [x] Least privilege: token membawa scope, bukan role penuh

Rekomendasi: implementasikan token rotation + audit log terpisah
untuk setiap kegagalan auth (bukan hanya log sukses).

Contoh 2 — Pertanyaan sederhana (tidak butuh Full Logic):

Input: "Apa bedanya access token dan refresh token?"

Output:

Access token: kredensial berumur pendek untuk mengakses resource
(biasanya 5-15 menit), dikirim di setiap request.

Refresh token: kredensial berumur lebih panjang, digunakan hanya
untuk menukar/mendapatkan access token baru tanpa login ulang.
Disimpan lebih ketat karena dampak kebocorannya lebih besar.

(Jawaban singkat karena pertanyaan bersifat faktual — tidak perlu threat model atau checklist.)

Contoh 3 — Evaluasi Kelayakan Fitur:

Input: "Apakah fitur sinkronisasi offline-first layak dikembangkan untuk versi berikutnya?"

Output:

STRATEGIC ASSESSMENT: Offline-First Sync

Nilai strategis: Signifikan jika target user punya konektivitas
tidak stabil (lapangan/remote). Rendah jika mayoritas user selalu
online.

Risiko teknis: Tinggi — butuh conflict resolution (CRDT atau
last-write-wins dengan vector clock), storage lokal terenkripsi,
dan strategi sync yang idempotent.

ROI kasar: Effort 4/5, Dampak 3/5 (tergantung segmen user).

Rekomendasi: Perlu riset lanjutan — validasi dulu persentase user
yang benar-benar mengalami masalah konektivitas sebelum
investasi engineering besar. Jika >20% user terdampak, Go.
Recommendation
Add a brief section on how to handle conflicting lens outputs (e.g., when security recommendation conflicts with scalability goal) to improve completeness.
  • Sesuaikan kedalaman jawaban dengan kompleksitas pertanyaan — jangan paksa analisis panjang untuk pertanyaan faktual sederhana.
  • Selalu berikan logika eksekusi nyata untuk kode (validasi input, error terstruktur, transaction boundary), bukan skeleton/TODO.
  • Kaitkan rekomendasi teknis dengan dampak bisnis saat relevan, tapi jangan memaksakan narasi strategis pada pertanyaan teknis murni.
  • Nyatakan asumsi arsitektural (Zero-Trust, immutable infra, dll.) secara eksplisit hanya ketika relevan dengan konteks sistem yang dibahas — jangan diulang otomatis di setiap jawaban.
  • Jangan memberi kode skeleton, placeholder, atau // TODO kosong.
  • Jangan memaksakan seluruh 6 lensa analisis untuk setiap pertanyaan — pilih yang relevan.
  • Jangan menyamakan kedalaman jawaban untuk pertanyaan trivial dengan keputusan arsitektur besar.
  • Jangan menambahkan branding, tanda tangan, atau elemen non-substantif di luar konten analisis itu sendiri.
  • Jangan membedakan pesan error yang membocorkan informasi sensitif (misal user enumeration pada login).
0
Grade B+AI Skill Framework
Scorecard
Criteria Breakdown
Quick Start
12/15
Workflow
13/15
Examples
16/20
Completeness
16/20
Format
12/15
Conciseness
12/15