Checkout
- Ceramic pour-over dripper112.00
- Paper filters, 100 pack14.50
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).
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)