Operator

Multi-model AI security review with cross-examination

Two to four models review the same files in parallel on your own key. A cross-examination pass then reads every claim against the cited lines, keeps what the code proves and marks how many reviewers reported it.

US$10 per week. One OpenRouter key covers the whole panel. Model usage is billed by your provider to your key.

ExampleExample panel · invented contract

VerdictFix before deploy

Two findings survive cross-examination. Two that most of the panel reported are contradicted by the code.

  • 0Critical
  • 1High
  • 1Medium
  • 2Hardening
  • 2Checked safe

The panel

  • panel-1anthropic/claude-sonnet-5.5
  • panel-2openai/gpt-6-astra
  • panel-3google/gemini-3.8-flash

Agreement

  • withdraw skips the checkpoint when the balance falls to zero3/3Kept
  • Reward rate truncates to zero for a small notify amount1/3Kept
  • Reentrancy in claim3/3Dropped
  • sweep lets the owner take staked tokens2/3Dropped

How it runs

A panel is a fan-out of hosted reviews from your browser, followed by one merge. Each review goes through our server to your provider. No file, key or review is stored.

  1. Pick two to four models

    Choose them from the models your OpenRouter key reaches. One key covers models from different labs, so the panel needs no second account. A model on another provider runs on that provider’s own key.

  2. The reviews run in parallel

    Each model runs the same profile on the same pinned files, as its own hosted review. Operator runs four hosted reviews at once.

  3. Cross-examination

    One more hosted review, on the panel model you pick, reads the reviews next to the source and tests every finding against the lines it cites.

  4. One merged review

    What survives comes back as one review, with a count of how many models reported each finding.

Agreement is recorded. The code decides.

The count tells you how many reviewers saw something. The cited lines tell you whether it is there.

  • Every finding in the merged review carries its count: how many of the panel reported it.
  • Every row names the lines that settle it, so you check the ruling against the source yourself.
  • Kept and dropped findings are both listed. Nothing a model reported leaves without a row.

What you get

One review in the standard format, plus the agreement table. StreamVault is a staking contract invented for this page.

ExampleExample panel review · invented contract · StreamVault

VerdictFix before deploy

Two findings survive cross-examination. Two that most of the panel reported are contradicted by the code.

  • 0Critical
  • 1High
  • 1Medium
  • 2Hardening
  • 2Checked safe
Agreement
FindingReported byAfter cross-examinationThe lines that settle it
withdraw skips the checkpoint when the balance falls to zeroReported by3/3After cross-examinationKeptThe lines that settle itinput-1/StreamVault.sol:91-94 The checkpoint sits inside remaining != 0.
Reward rate truncates to zero for a small notify amountReported by1/3After cross-examinationKeptThe lines that settle itinput-1/StreamVault.sol:118-120 amount / duration rounds down with no minimum. One reviewer reported it; the code proves it.
Reentrancy in claimReported by3/3After cross-examinationDroppedThe lines that settle itinput-1/StreamVault.sol:101-108 claim is nonReentrant and zeroes earned at line 104, before the transfer at line 106.
sweep lets the owner take staked tokensReported by2/3After cross-examinationDroppedThe lines that settle itinput-1/StreamVault.sol:140-146 Line 142 reverts when the token is the staking token.
input-1/StreamVault.solsha256b41f07c2e9a6…163 lines
F-1HighProven in source

withdraw skips the checkpoint when the balance falls to zero

  • input-1/StreamVault.sol:88-97
  • input-1/StreamVault.sol:61-64
Impact

A staker who withdraws everything forfeits the rewards accrued since their last checkpoint. The forfeited amount stays in the vault and is paid out to the remaining stakers.

Observed
  1. withdraw calls _checkpoint only when remaining != 0 (lines 91-93).
  2. A full withdrawal sets the balance to 0 at line 94 without settling earned for the period since the last checkpoint.
  3. claim reads earned[msg.sender], which was never updated for that period (lines 61-64).
input-1/StreamVault.sol88–97
function withdraw(uint256 shares) external nonReentrant {
    if (shares == 0) revert ZeroAmount();
    uint256 remaining = balanceOf[msg.sender] - shares;
    if (remaining != 0) {
        _checkpoint(msg.sender);
    }
    balanceOf[msg.sender] = remaining;
    totalShares -= shares;
    token.safeTransfer(msg.sender, shares);
}
Counterargument

A full exit is meant to go through exit(), which claims first.

Resolvedwithdraw is external and accepts the full balance. Nothing at lines 88-97 sends a full withdrawal to exit().

Evidence gap
  • No test was run. The forfeited amount follows from lines 61-64 and 91-94.
Fix

Call _checkpoint(msg.sender) before the balance changes, with no condition on remaining.

Next

Write the test: stake, accrue, withdraw the full balance, then assert earned equals the accrued amount.

What is in the record

  1. Surviving findings

    Each as a finding card: location, impact, path, the strongest counterargument, the evidence gap, the fix and a test.

  2. Agreement

    Every distinct finding with its k of n count, kept or dropped, the lines that settle it and the reviews that reported it.

  3. Checked and safe

    What the panel flagged and the code clears, each with the line that guards it.

  4. The packet

    One download: the merged review, the models used and the SHA-256 manifest of every file the panel read.

Questions

Which keys does a panel run on?

One OpenRouter key reaches models from several labs, so a panel of different models runs on a single key. A panel model on Anthropic, OpenAI, Google Gemini, xAI, DeepSeek, Mistral or Groq takes that provider’s own key.

How many model calls is a panel?

One per panel model, plus one for the cross-examination pass. A panel of three is four hosted reviews. Each goes through our server to your provider and is billed to your key.

Does a panel run on a chat subscription?

A panel runs hosted, on API keys. The cross-examination is a hosted profile: its method is added on our server and the pass has no prompt to copy.

Does the majority decide?

No. Agreement is recorded as k of n and shown next to each finding. The cited lines decide. In the example on this page a finding one model reported is kept, and a finding all three reported is dropped.

What does the free plan show?

The example on this page. Panel review runs on Operator at US$10 per week.

Put a panel on your next finding

Panel review, the Gauntlet, unlimited hosted reviews and four reviews running at once.

US$10 billed weekly, renews until you cancel in the Stripe portal; access runs to the end of the paid week.