A small, dependable Rust CLI for read-only Ghidra analysis
  • Rust 87.2%
  • Java 9.5%
  • Nix 2.7%
  • Shell 0.5%
Find a file
2026-07-28 20:19:55 +00:00
docs docs: define v0.1 product and architecture contract 2026-07-28 18:52:31 +00:00
fixtures/golden/v1 feat: scaffold v0.1 foundation 2026-07-28 19:49:43 +00:00
schemas/v1 feat: scaffold v0.1 foundation 2026-07-28 19:49:43 +00:00
src feat: implement worker lifecycle and sandbox 2026-07-28 20:19:55 +00:00
tests feat: implement worker lifecycle and sandbox 2026-07-28 20:19:55 +00:00
.gitignore docs: define initial ghidra-cli product 2026-07-28 12:01:28 +00:00
AGENTS.md docs: define v0.1 product and architecture contract 2026-07-28 18:52:31 +00:00
Cargo.lock feat: implement worker lifecycle and sandbox 2026-07-28 20:19:55 +00:00
Cargo.toml feat: implement worker lifecycle and sandbox 2026-07-28 20:19:55 +00:00
CONTEXT.md docs: define v0.1 product and architecture contract 2026-07-28 18:52:31 +00:00
LICENSE docs: define v0.1 product and architecture contract 2026-07-28 18:52:31 +00:00
PRD.md docs: define v0.1 product and architecture contract 2026-07-28 18:52:31 +00:00
README.md feat: scaffold v0.1 foundation 2026-07-28 19:49:43 +00:00

ghidra-cli

A small, dependable command-line interface for read-only Ghidra analysis. The repository is named ghidra-cli; the installed executable is ghidr.

The project now has its version 0.1 Rust contract foundation. The typed CLI, public envelopes and schemas, bounded Rust/Java protocol, and synchronous execution seam are present; store, process/sandbox, and Ghidra adapter execution remain deliberately unconnected.

Proposed usage:

ghidr doctor
ghidr inspect ./sample
ghidr functions ./sample
ghidr decompile ./sample --name main

Each command will identify the sample by its content, reuse compatible cached analysis, and produce versioned JSON by default. Human-readable presentation is available explicitly through --format human.

Documents

  • PRD.md defines the product requirements and initial delivery scope.
  • CONTEXT.md defines the domain language used throughout the project.
  • docs/adr/ records durable architectural decisions.
  • docs/research/ records cited prior-art investigations, including the Ghidra MCP comparison that informed protocol safeguards and the post-version-0.1 roadmap.

Status

Foundation only. Every accepted command currently returns a typed internal_not_implemented runtime error instead of pretending Ghidra analysis succeeded. Subsequent layers implement the library's synchronous executor contract while preserving the committed schemas and reviewed fixtures.

License

Licensed under the Apache License 2.0.

Development may use AI assistance. Maintainers remain responsible for reviewing the resulting design and code, verifying provenance, testing behavior, and ensuring dependency-license compatibility.