Lompat ke konten
dokumentasi.id
Commit 51864a8
v1
Star1,9 rb

Kamu membaca versi lama. Halaman ini hanya bisa dibaca.

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-54. README menempatkan Guardian sebagai framework otomasi penetration testing yang menggabungkan beberapa provider AI dengan tool keamanan README.md:13.

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-30.

⚠️ Mengarahkan guardian workflow run ke 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-12. Track A mengisi sisi AI/agent, sedangkan Track B memperluas cakupan tool CHANGELOG.md:16-50 CHANGELOG.md:52-71.

Track A — AI/Agent R&D

IDFiturBukti
A1RAG knowledge base core/knowledge_base.py (SQLite + FTS5), slot kb_references di prompt analyst, CLI guardian kb {seed,update,query,status}CHANGELOG.md:18-30
A2Debate triage red/blue/judge untuk finding dengan false_positive_probability=MEDIUM, tipe langkah agent: debateCHANGELOG.md:18-30
A3Vision-LLM lewat tools/playwright_screenshot.py dan core/agents/visual_triage.pyCHANGELOG.md:18-30
A4Plugin contract guardian.providers dan guardian.tools via importlib.metadata, plus provider Ollama dan OpenAI-compatibleCHANGELOG.md:31-40
A5Learned tool selection core/learners/tool_ranker.py, abstain saat confidence < 0.7, opt-in ai.use_learned_ranker: trueCHANGELOG.md:31-40
A6Eval harness tiga tier di evals/ dengan golden fixture httpx/nuclei/subfinder/trivyCHANGELOG.md:41-50
A7BaseAgent.think_deeply(judge_model=...) swap-and-restore untuk memangkas biayaCHANGELOG.md:41-50

Track B — Perluasan cakupan tool

IDFiturBukti
B8Active Directory: crackmapexec, bloodhound, kerbrute, impacket-secretsdump, workflow ad_assessment.yamlCHANGELOG.md:54-58
B9Mobile Android: mobsf, apkleaks, objection_runtime.py, workflow mobile_android.yamlCHANGELOG.md:54-58
B10API-spec fuzzer: schemathesis, restler, cariddi, workflow api_pentest_v2.yamlCHANGELOG.md:59-63
B11SAST + secrets: semgrep, trufflehog, dependency_check, workflow sast_review.yamlCHANGELOG.md:59-63
B12LLM red-team: garak, pyrit, prompt_fuzz, workflow llm_redteam.yamlCHANGELOG.md:64-71
B13Burp/ZAP bridge: zap_api, burp_apiCHANGELOG.md:64-71
B14Exporter core/exporters/{sarif,defectdojo,slack}.py, dipicu flag --export berulangCHANGELOG.md:64-71

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-85. Suite berisi 296 test lulus CHANGELOG.md:118, dan waktu startup guardian --help tetap di bawah 500ms karena kontrak lazy load dipertahankan CHANGELOG.md:95-96.

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-133.

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-83. core memegang WorkflowEngine yang membangun PentestMemory, ScopeValidator, dan empat agent — PlannerAgent, ToolAgent, AnalystAgent, ReporterAgent core/workflow.py:27-50.

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.
Fig. 1: Peta modul tingkat atas GuardianCLI memanggil WorkflowEngine, yang merangkai agent, provider AI, registry tool, dan memory; workflows/ memasok definisi langkah dan evals/ memutar ulang keluaran tool untuk menguji parser.
ModulPeranBukti
cli/Typer app, banner, dan pendaftaran command groupcli/main.py:63-83
core/WorkflowEngine, empat agent, memory, schemacore/workflow.py:27-50
ai/registry PROVIDERS dan factory get_providerai/providers/__init__.py:19-29
tools/wrapper tool; membuka paket ini tidak mengimpor tool apa puntools/__init__.py:1-14
registry toolTOOL_REGISTRY memetakan 50 nama tool ke string module:Classcore/tool_agent.py:19-79
workflows/definisi YAML DSL v2: DAG, depends_on, template Jinja2, --resumeREADME.md:80-88
evals/tiga tier: parser fixture, workflow integration, agent groundingevals/__init__.py:1-26

Struktur direktori lengkap beserta komentar per folder tercantum di README README.md:547-591. 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-86. Ekspor laporan dipicu lewat flag berulang pada satu perintah, misalnya guardian report --export sarif --export defectdojo --export slack README.md:90-95. 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-10. Runtime intinya adalah typer, rich, langchain beserta konektor provider, pydantic, dan jinja2 pyproject.toml:27-40. Modul yang dipaketkan lewat [tool.setuptools] adalah cli, core, ai, tools, reports, utils, dan workflows pyproject.toml:56-57.

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-134. Tool eksternal seperti nmap atau nuclei bersifat opsional; Guardian tetap berjalan tanpa tool eksternal tetapi kemampuan scanning menjadi terbatas README.md:163. 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-36. Sementara itu pyproject.toml menetapkan version = "0.1.0" pyproject.toml:5-10, sedangkan dokumentasi menyebut Guardian sedang merilis v4.0.0 docs/README.md:3-4 dan changelog mencatat [4.0.0] — 2026-05-29 CHANGELOG.md:9-12.

⚠️ guardian --version membaca metadata paket, jadi angka yang muncul bisa 0.1.0 walaupun kode yang berjalan adalah jalur v4.0.0. Jangan memakai angka banner sebagai penanda fitur; pakai entri changelog sebagai acuan.

Riwayat rilis

VersiTanggalSorotanBukti
4.0.02026-05-29RAG, debate, vision, plugin contract, ranker, eval harness, perluasan toolCHANGELOG.md:9-12
3.0.02025-12Hardening prompt-injection, engine v2 dengan depends_on, CVSS v3.1 recomputation, lazy tool loadingCHANGELOG.md:137-157
2.0.0—Multi-provider AI, evidence linking via execution_id, prioritas parameter workflowCHANGELOG.md:161-173
1.0.0—Rilis publik pertama: CLI multi-agent untuk penetration testing berizinCHANGELOG.md:177-180

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.