Attack demo 2 of 3. Same site, same origin, same hacked script. All demos

Sitebound checkout

Checkout

Total 16.50 USDT

What happens

Inject the same script. It finds no address to swap, because this checkout has none. The frame is on another origin, so page code cannot read or edit what it shows.

The payee is not in the page at all. The browser writes this page's origin into the passkey signature, and the contract pays only the wallet registered for that origin (test_hacked_page_cannot_redirect_payee). Editing the signed origin afterwards breaks the signature check (test_calldata_topOrigin_swap_after_signing_reverts). Swapping in a lookalike frame on the attacker's own origin fails too, because the signed origin is not the Sitebound frame (test_wrong_origin_reverts).

Known limit

Hacked page code can still change the amount it asks for. The buyer sees that amount in the frame and has to confirm it, and the per-payment and total caps set at setup bound it. The money still goes only to this shop.

Hacked code could also hide the Sitebound button and show an old pay-to-address box instead. Sitebound protects payments made through its frame, not ones the buyer makes elsewhere.

Log

    Next: a fake site embedding the frame (on another origin, 127.0.0.1:8003)