// YOUR CODE. UNDER CROSS-EXAMINATION.
Find the flaw.
Hear the defense.
Bring the evidence.
Security review for Solidity, Rust, C/C++ and backend code.
Small agents scout. Independent agents argue.
Every conclusion leaves a paper trail.
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⣠⣾⣿⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⢠⣾⣿⣿⣿⣿⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⢿⣿⣿⣿⣿⣿⣿⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠈⠻⣿⣿⣿⣿⣿⣿⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠈⠻⣿⣿⣿⣿⣿⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠸⣦⣈⠙⠿⣿⣿⣿⣷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⣿⣿⡇⠀⠈⢻⣿⣿⣿⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⢻⣿⠀⠀⠀⠀⠻⣿⣿⣿⣿⣶⣤⣤⣤⣤⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⢸⣿⠀⠀⠀⠀⠀⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣦⣄⡀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⢸⣿⠀⠀⠀⠀⠀⠈⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣶⣤⡄⠀ ⠀⠀⠀⠀⠀⣿⠀⠀⠀⠀⠀⠀⠀⠈⣉⡉⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠃⠀ ⠀⠀⠀⠀⠀⠉⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠁⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
[ 01 / THE IDEA ]
Make the audit about the hard questions.
Prepare reviewed code, documented design decisions, tests, and a record of what needs attention. Give auditors the evidence and context to investigate potential issues.
Findings are hypotheses for human review. Detection quality and audit savings have not yet been established through independent evaluation.
[ 02 / THE REVIEW LOOP ]
No finding gets a free pass.
Unhinted agents develop their own hypotheses before guided research and source-wide review. Solidity reviews also examine incentives, capital costs, MEV, liquidation and governance. A mechanism can work exactly as written and still put its participants at risk. [ economic review ]
SCOUT
Cover every included file.
Follow callers and state.
Use inexpensive models.
DEBATE
Independent challenge.
Independent defense.
Then a rebuttal.
ASSESS
Check the evidence.
Check the intended design.
Use a stronger reviewer.
DECIDE
[+] log for review
[-] ignore with a reason
[!] write a test
[ 03 / FOLLOW THE INVESTIGATION ]
See the work.
Know what comes next.
An audit map follows the actual review stages, from unhinted discovery to proof verification. See which workers are active, which stages were skipped, and what is blocking progress.
Saved job counts and budget reservations survive a restart. The terminal adapts to its size, keeps recent activity in view, and leaves a session summary when work stops.
- MODEL CALLS ACTIVE
- 2 / 4
- CALLS RESERVED
- 38 / 300
- USD RESERVED
- $1.25 / $12.00
- JOBS COMPLETED
- 32
AUDIT ROUTE
- [-]Configured toolsskipped
- [x]Unhinted discoveryfinished
- [>]Guided researchactive
- [ ]Architecture + planningwaiting
- [ ]Source review + investigationswaiting
- [ ]Challenge / defend / judgewaiting
- [ ]Follow-ups + synthesiswaiting
- [ ]Proofs + verificationwaiting
ACTIVE WORK
investigator / configured model
exploration:2context_read: collateral and oracle paths
investigator / configured model
exploration:3Guided research / model call in progress
Workers, tools and test execution appear as they run. Follow-up work depends on the evidence.
stage_started guided / 2 discovery slots
context_read exploration:2 / source evidence
Keep the investigation. SQLite checkpoints retain completed work. Resume with the source snapshot checked before the next agent starts. Reservations are retained; they are not actual billing.
Keep the evidence. Run configured tests locally, on user-provided SSH machines, or on disposable EC2 hosts. Keep generated tests, review arguments, JSON reports and SARIF together.
[ dashboard guide ] / [ Solidity workflow ] / [ reports + recovery ]
The preview above illustrates the current source implementation. Use --tui for the dashboard; omit it for ordinary logs. Stage completion does not establish coverage or confirm security.
[ 04 / DOWNLOAD + RUN ]
A terminal. A repository. Your keys.
Download the pi-linked executable. Go, Rust and a database server are not needed to run it. Optional analyzers and project test tools are installed separately.
[ download Linux x86_64 ]
[ source archive ] / [ SHA-256 checksums ] / [ installation guide ]
The website and manual describe the current source tree. The dashboard and other recent additions may not be included in the linked preview downloads; build the current source to use them.
0.1.0-preview.1 / unsigned development preview / Linux x86_64 with glibc 2.35 or newer. Native macOS downloads are not included in this preview. [ macOS installation + security ]
# verify and extract the download first; see the installation guide ./katarina version ./katarina init # set your API key in the environment or a private credentials file ./katarina doctor ./katarina start --tui ./your-project
Prefer to compile it? The source archive includes locked dependencies and build instructions.
OPENROUTER / CLAUDE / OPENAI / DEEPSEEK / OPENAI-COMPATIBLE
Use environment variables or a private credentials file. Pick a provider and model for each agent role. The TUI is opt-in.
OPTIONAL / DISPOSABLE AWS TEST HOSTS
[ download stack YAML ] / [ launch AWS stack ] / [ AWS setup guide ]
Open the prefilled stack in Asia Pacific (Seoul), supply the existing IAM principal and review the permissions. Configure credentials and a prepared test AMI separately. Local analysis does not need AWS.
[ 05 / MEASURE THE REVIEW ]
A review you cannot measure
is a review you cannot trust.
Katarina's own tests check orchestration, budgets and recovery. They do not check whether it finds anything. katarina-bench does, and ships in the source tree as its own module.
Pinned cases with answer keys. Repaired controls and benign lookalikes, so false alarms are counted instead of assumed. A held-out family that stays out of the tuning loop.
NOTHING PASSES ON WORDING
No finding is matched to an answer key by its text. An issue counts as recovered only when a person says so — optionally blind, optionally twice, with disagreement recorded rather than averaged away.
NOTHING PASSES ON EXIT CODE
A generated test that exits zero is command success. It becomes evidence only when the same test fails on the repaired sibling, for a reported reason.
NOTHING RUNS LOOSE BY ACCIDENT
Snapshot and generated code run in a throwaway LXD instance with no network and no host mounts. A missing runtime fails the run; it never quietly downgrades.
# a benchmark run, start to finish cd benchmark && make build ./bin/katarina-bench validate --suite cases/suite.yaml --profile profiles/discovery-lxd.yaml ./bin/katarina-bench plan --suite cases/suite.yaml --profile profiles/discovery-lxd.yaml --run r1 ./bin/katarina-bench oracle --suite cases/suite.yaml --profile profiles/discovery-lxd.yaml --run r1 ./bin/katarina-bench run --suite cases/suite.yaml --profile profiles/discovery-lxd.yaml --run r1 ./bin/katarina-bench adjudicate list --run r1 --suite cases/suite.yaml --blind ./bin/katarina-bench differential --suite cases/suite.yaml --run r1 ./bin/katarina-bench metrics --run r1 --suite cases/suite.yaml # gate on criteria agreed before the run; nonzero exit for CI ./bin/katarina-bench gate --run r1 --suite cases/suite.yaml --thresholds thresholds.yaml
[ benchmark reference ] / [ comparative evaluation ] / [ writing a case ]
Two case families ship, one held out, both synthetic. A result measures this suite, not software in general. Detection quality against another harness has not been measured.
[ 06 / THE MANUAL ]
Know what is running.
START + CONFIGURE
[ getting started ]
[ product specification ]
[ configuration ]
Scope, providers, models and budgets.
REVIEW + RESUME
[ terminal dashboard ]
[ Solidity workflow ]
[ architecture ]
[ behavior + definitions ]
[ knowledge + evidence ]
[ reports + recovery ]
Components, requirements and evidence.
TEST + SHIP
[ running tests ]
[ AWS infrastructure ]
Local tests and disposable infrastructure.
MEASURE + PROVE
[ benchmark ]
[ research design ]
Detection, false alarms, evidence and review cost.
[+] Quick reference
katarina init write an example configuration
katarina doctor check providers and tools
katarina index ./project inspect file coverage
katarina start --tui ./project start with the audit dashboard
katarina sessions --state ./project/.katarina
katarina resume --state ./project/.katarina SESSION
katarina report --state ./project/.katarina SESSION
katarina aws template write the CloudFormation YAML
benchmark, from ./benchmark
katarina-bench validate check the suite and pinned snapshots
katarina-bench oracle verify each case's reference tests
katarina-bench run run the harness against fresh workspaces
katarina-bench adjudicate record independent human verdicts
katarina-bench differential grade generated tests against a repair
katarina-bench metrics recall, precision, evidence and cost
katarina-bench gate apply agreed thresholds; nonzero on failureUse the resume command printed at startup to retain the selected configuration and limits.