1
Ringkasan Proyek Guardian
Guardian adalah platform otomasi penetration testing berbasis AI yang dipakai lewat satu perintah CLI bernama guardian. Blok [project.scripts] memetakan perintah itu ke objek Typer cli.main:app pyproject.toml:53-541. README menempatkan Guardian sebagai framework otomasi penetration testing yang menggabungkan beberapa provider AI dengan tool keamanan README.md:132.
Halaman ini hanya memberi peta: tujuan, fitur rilis 4.0, modul tingkat atas, dan prasyarat. Mekanisme tiap bagian dibahas di halaman lain dan ditautkan di sepanjang teks.
Tujuan dan batas pemakaian
Guardian dirancang khusus untuk pengujian keamanan yang berizin dan tujuan edukasi. README memisahkan pemakaian legal (penetration testing berizin, riset keamanan, lingkungan edukasi) dari pemakaian ilegal (akses tanpa izin, aktivitas berbahaya), lalu menegaskan bahwa pengguna bertanggung jawab penuh memastikan izin tertulis sebelum menguji sistem apa pun README.md:21-303.
⚠️ Mengarahkan
guardian workflow runke target yang tidak Anda miliki adalah pelanggaran hukum, bukan sekadar kesalahan konfigurasi. Pengaman teknisnya — validasi scope berbasis DNS-resolve,safe_mode, dan confirmation gate — dijelaskan di Keamanan, Scope, dan Sanitasi.
Fitur rilis 4.0
Rilis [4.0.0] bertanggal 2026-05-29 dan berisi 14 item dalam 2 track, dengan 296 test lulus CHANGELOG.md:9-124. Track A mengisi sisi AI/agent, sedangkan Track B memperluas cakupan tool CHANGELOG.md:16-505 CHANGELOG.md:52-716.
Track A — AI/Agent R&D
| ID | Fitur | Bukti |
|---|---|---|
| A1 | RAG knowledge base core/knowledge_base.py (SQLite + FTS5), slot kb_references di prompt analyst, CLI guardian kb {seed,update,query,status} | CHANGELOG.md:18-307 |
| A2 | Debate triage red/blue/judge untuk finding dengan false_positive_probability=MEDIUM, tipe langkah agent: debate | CHANGELOG.md:18-307 |
| A3 | Vision-LLM lewat tools/playwright_screenshot.py dan core/agents/visual_triage.py | CHANGELOG.md:18-307 |
| A4 | Plugin contract guardian.providers dan guardian.tools via importlib.metadata, plus provider Ollama dan OpenAI-compatible | CHANGELOG.md:31-408 |
| A5 | Learned tool selection core/learners/tool_ranker.py, abstain saat confidence < 0.7, opt-in ai.use_learned_ranker: true | CHANGELOG.md:31-408 |
| A6 | Eval harness tiga tier di evals/ dengan golden fixture httpx/nuclei/subfinder/trivy | CHANGELOG.md:41-509 |
| A7 | BaseAgent.think_deeply(judge_model=...) swap-and-restore untuk memangkas biaya | CHANGELOG.md:41-509 |
Track B — Perluasan cakupan tool
| ID | Fitur | Bukti |
|---|---|---|
| B8 | Active Directory: crackmapexec, bloodhound, kerbrute, impacket-secretsdump, workflow ad_assessment.yaml | CHANGELOG.md:54-5810 |
| B9 | Mobile Android: mobsf, apkleaks, objection_runtime.py, workflow mobile_android.yaml | CHANGELOG.md:54-5810 |
| B10 | API-spec fuzzer: schemathesis, restler, cariddi, workflow api_pentest_v2.yaml | CHANGELOG.md:59-6311 |
| B11 | SAST + secrets: semgrep, trufflehog, dependency_check, workflow sast_review.yaml | CHANGELOG.md:59-6311 |
| B12 | LLM red-team: garak, pyrit, prompt_fuzz, workflow llm_redteam.yaml | CHANGELOG.md:64-7112 |
| B13 | Burp/ZAP bridge: zap_api, burp_api | CHANGELOG.md:64-7112 |
| B14 | Exporter core/exporters/{sarif,defectdojo,slack}.py, dipicu flag --export berulang | CHANGELOG.md:64-7112 |
Angka yang berubah di rilis ini: registry tool tumbuh dari 31 menjadi 50 tool dan registry provider dari 4 menjadi 6 provider CHANGELOG.md:83-8513. Suite berisi 296 test lulus CHANGELOG.md:11814, dan waktu startup guardian --help tetap di bawah 500ms karena kontrak lazy load dipertahankan CHANGELOG.md:95-9615.
Batasan yang masih terbuka pada rilis 4.0: provider selain OpenAI dan Claude belum mengimplementasikan generate_with_images sehingga visual triage dilewati dengan alasan tercatat; reranker embedding bergantung pada sentence-transformers; dan ranker telemetry abstain saat operator masih di bawah 20 sesi CHANGELOG.md:124-13316.
Modul tingkat atas
cli adalah permukaan perintah yang mendaftarkan workflow, scan, recon, analyze, report, ai, models, lalu dua grup tambahan kb dan telemetry cli/main.py:63-8317. core memegang WorkflowEngine yang membangun PentestMemory, ScopeValidator, dan empat agent — PlannerAgent, ToolAgent, AnalystAgent, ReporterAgent core/workflow.py:27-5018.
graph TD
CLI["cli.main:app (Typer)"] --> WF["core.workflow.WorkflowEngine"]
WFY["workflows/*.yaml (DSL v2)"] --> WF
WF --> AGENT["core agents: planner, tool_agent, analyst_agent, reporter_agent"]
AGENT --> PROV["ai.providers.get_provider"]
AGENT --> REG["core.tool_agent.TOOL_REGISTRY"]
CLI --> REG
CLI --> EXPORT["guardian report --export sarif|defectdojo|slack"]
REG --> WRAP["tools/*.py wrapper, diimpor saat dipakai"]
WF --> MEM["core.memory.PentestMemory"]
EVAL["evals/ tiga tier"] --> WRAP
style MEM fill:#336791,color:#fff
style PROV fill:#f59e0b,color:#000
style REG fill:#8b5cf6,color:#fff
style EVAL fill:#2d7d46,color:#fff
%% fig: Peta modul tingkat atas Guardian
%% desc: CLI memanggil WorkflowEngine, yang merangkai agent, provider AI, registry tool, dan memory; workflows/ memasok definisi langkah dan evals/ memutar ulang keluaran tool untuk menguji parser.| Modul | Peran | Bukti |
|---|---|---|
cli/ | Typer app, banner, dan pendaftaran command group | cli/main.py:63-8317 |
core/ | WorkflowEngine, empat agent, memory, schema | core/workflow.py:27-5018 |
ai/ | registry PROVIDERS dan factory get_provider | ai/providers/__init__.py:19-2919 |
tools/ | wrapper tool; membuka paket ini tidak mengimpor tool apa pun | tools/__init__.py:1-1420 |
| registry tool | TOOL_REGISTRY memetakan 50 nama tool ke string module:Class | core/tool_agent.py:19-7921 |
workflows/ | definisi YAML DSL v2: DAG, depends_on, template Jinja2, --resume | README.md:80-8822 |
evals/ | tiga tier: parser fixture, workflow integration, agent grounding | evals/__init__.py:1-2623 |
Struktur direktori lengkap beserta komentar per folder tercantum di README README.md:547-59124. Ketergantungan antar modul, alur satu run, dan pembagian tanggung jawab antar agent diuraikan di Arsitektur Sistem serta Sistem Multi-Agen.
Permukaan perintah
Selain workflow run, CLI menyediakan scan, recon, report, models, kb, telemetry, dan ai docs/README.md:76-8625. Ekspor laporan dipicu lewat flag berulang pada satu perintah, misalnya guardian report --export sarif --export defectdojo --export slack README.md:90-9526. Daftar opsi, argumen, dan contoh tiap perintah ada di Referensi Perintah CLI.
Prasyarat
Paket menetapkan requires-python = ">=3.11" dan mendaftarkan nama guardian-cli pyproject.toml:5-1027. Runtime intinya adalah typer, rich, langchain beserta konektor provider, pydantic, dan jinja2 pyproject.toml:27-4028. Modul yang dipaketkan lewat [tool.setuptools] adalah cli, core, ai, tools, reports, utils, dan workflows pyproject.toml:56-5729.
Di sisi operator, prasyaratnya adalah Python 3.11 atau lebih baru, satu API key provider AI yang dipilih, dan Git untuk mengkloning repository README.md:123-13430. Tool eksternal seperti nmap atau nuclei bersifat opsional; Guardian tetap berjalan tanpa tool eksternal tetapi kemampuan scanning menjadi terbatas README.md:16331. Langkah pemasangan, isi config/guardian.yaml, dan deployment container dibahas di Instalasi, Konfigurasi, dan Deployment.
Versi dan jebakan penomoran
Fungsi _get_version() mengambil versi dari metadata paket dengan version("guardian-cli") dan jatuh ke 0.0.0+local bila paket tidak ditemukan cli/main.py:19-3632. Sementara itu pyproject.toml menetapkan version = "0.1.0" pyproject.toml:5-1027, sedangkan dokumentasi menyebut Guardian sedang merilis v4.0.0 docs/README.md:3-433 dan changelog mencatat [4.0.0] — 2026-05-29 CHANGELOG.md:9-124.
⚠️
guardian --versionmembaca metadata paket, jadi angka yang muncul bisa0.1.0walaupun kode yang berjalan adalah jalur v4.0.0. Jangan memakai angka banner sebagai penanda fitur; pakai entri changelog sebagai acuan.
Riwayat rilis
| Versi | Tanggal | Sorotan | Bukti |
|---|---|---|---|
| 4.0.0 | 2026-05-29 | RAG, debate, vision, plugin contract, ranker, eval harness, perluasan tool | CHANGELOG.md:9-124 |
| 3.0.0 | 2025-12 | Hardening prompt-injection, engine v2 dengan depends_on, CVSS v3.1 recomputation, lazy tool loading | CHANGELOG.md:137-15734 |
| 2.0.0 | — | Multi-provider AI, evidence linking via execution_id, prioritas parameter workflow | CHANGELOG.md:161-17335 |
| 1.0.0 | — | Rilis publik pertama: CLI multi-agent untuk penetration testing berizin | CHANGELOG.md:177-18036 |
Detail masing-masing mekanisme ada di halaman khusus: provider dan kontrak plugin di Provider AI dan Kontrak Plugin, penjadwalan langkah di Engine Workflow DSL v2, pemilihan tool di Integrasi Tool dan Pemilihan Tool, grounding referensi di Knowledge Base RAG, ekspor laporan di Pelaporan, CVSS, dan Exporter, dan angka pengujian di Pengujian dan Evaluasi.