Lamport Robotics

Lamport Warden

It reads the request before you sign it.

Warden is a browser extension that sits in front of the Solana wallet you already use. Before a signing request reaches the wallet, Warden says in one sentence what it will do to your money, and stops it when that is not what you meant.

Version 0.4. Open source. Not in the Chrome Web Store yet.

Lamport Warden · Blocked

The destination 7xKX…q9Ab looks like an address you have paid 6 times, but it is a different address. This is address poisoning.

Asked by https://claim-rewards.example

Close

A blocked request never reaches your wallet.

How it answers

Four answers.
Most of the time you see none of them.

Warden keeps its own record of who you have paid. It learns an address only when a request you let through comes back signed, so dust sent to you by a look-alike teaches it nothing.

Allow

Nothing appears. An address and a size you have confirmed before.

Explain

One sentence, with Cancel and Continue. A first payment to a new address.

Confirm

The sentence, and you type a short confirmation before it goes on.

Block

The sentence and the reason. There is no button to continue.

What it stops

The rules the robot runs.
In your browser.

They are the same rules as on Pincer1, tested against a replay of 14 known drain patterns, all of which are stopped.

  • Look-alike addressesThe same first and last four characters as an address you have paid, but a different address.
  • Account handoverA hidden instruction that reassigns your account, or a token account's authority, to someone else.
  • Unlimited approvalsA delegate allowed to move all of a token, now or later.
  • Sign now, sent laterA durable-nonce transaction that stays valid long after you have forgotten it.
  • A transaction dressed as a messageOr a raw hash. Warden lets a message through only when you can read all of it.
  • The signature that unlocks private keysA site asking for the one signature a Privacy Rings wallet derives its keys from.

Wallets

Tested against the wallets
as they ship.

A page can reach a wallet through more than one door. Warden is run in front of the real extensions from the Chrome Web Store, and this table is what the last run found (Phantom 26.38, Solflare 2.43, Backpack 0.10).

WalletWallet Standard, which most dapps useThe older object on the page
PhantomGuardedGuarded
BackpackGuardedGuarded
SolflareGuardedNot guarded. Solflare freezes window.solflare, so nothing can stand in front of it.

What leaves your browser.

There is no account, no Lamport server and no model. Your history stays in the extension's storage on your machine.

By default Warden makes one kind of network call. Most swaps name their accounts by position in a table stored on chain, and to say where the money goes Warden reads that table from a Solana RPC. The RPC learns which table was asked for and your IP address, not your wallet, the transaction or the site. You can point it at your own RPC, or turn it off.

You can also turn on simulation. Warden then sends a swap, unsigned, to your RPC and tells you what would leave your wallet and what would arrive. The RPC sees that transaction, so it stays off until you choose it.

Advice, not a lock.

Warden is a second pair of eyes in front of your wallet. A page can still reach a wallet in ways an extension never sees, and turning Warden off removes it.

On Pincer1 the same rules are enforced by the robot's controller and shown on its own screen, where a compromised computer cannot talk them away.