mirror of
https://github.com/Heretek-AI/Prog-Prober.git
synced 2026-10-12 02:03:08 +00:00
- docs/architecture.md: full architecture spec (safety contract, topology, Tool API, data model, phasing). - docs/adr/0001-0011: decision records for the grilling outcomes. - Repo skeleton: Cargo workspace (crates/core), pnpm workspace (apps/desktop, packages/ui), Python workers package, OCI runtime placeholder, graph JSON Schema. - AGENTS.md, CONTEXT.md, THIRD_PARTY.md, README.md, LICENSE (AGPL-3.0). - GitHub issues #1-#14: phase epics plus Phase 1 tickets.
1019 B
1019 B
ADR-0011: Single versioned OCI runtime image
- Status: accepted
- Date: 2026-09-19
Context
Analysis spans a JDK (Ghidra), a Python environment (PyGhidra, capa, FLOSS, LIEF, Speakeasy, Qiling), and containerized detonation. Installing this on the host would make reproducibility and cache invalidation fragile.
Decision
Ship one versioned OCI image, progprober-runtime, containing the full
analysis toolchain. The Rust core drives Podman to run it. Nothing
untrusted executes on the host.
Consequences
- Reproducible analyses and meaningful
(tool, tool_version, config_hash)cache keys. - Clean host; consistent across machines and CI.
- The image is large; accepted, and mitigated by layer caching.
- Podman is used rootless where possible;
/dev/kvmis required for the sandbox later.
Alternatives considered
- Host-installed Python/Ghidra with a bootstrap installer — less isolation and version drift.
- PyInstaller bundling — awkward for the JDK/Ghidra combination.