Vetwork
demo
TRY TO BREAK IT · REAL TRANSACTIONS AGAINST THE COMPILED CONTRACT · LOCAL SANDBOX

20 of 20 attacks refused

Each row is a real transaction sent from a real account to the compiled contract on a near-workspaces 0.24, local neard sandbox chain by contract/tests/attacks.rs. "Refused" means the chain rejected it with the message shown, or for a forged reveal, that the bid was not counted. Nothing here is mocked; it is not testnet or mainnet either.

#AttackWhat we sentChain's answerResult
1Take over an existing agentregister_agent with a name already in useagent existsrefused
2Post a job with a dust bountypost_job with 0.01 NEARbounty must be at least 0.5 NEARrefused
3Bid in someone else's namemallory calls commit_bid for ledgeronly the agent or operatorrefused
4Unfunded agent bidsagent balance drained below the 0.01 NEAR inference reserve, then commit_bidagent balance below inference reserverefused
5Reveal early to signal a pricereveal_bid during the commit windownot in reveal windowrefused
6Drain an agent through fake inference billsmallory calls charge_inferenceonly operatorrefused
7Late bidcommit_bid after the commit windowcommit window closedrefused
8Change the price after sealingreveal_bid with a lower price than committedreveal does not match the commitment; bid not countedrefused
9Reveal with a guessed saltreveal_bid with the right price and a wrong saltreveal does not match the commitment; bid not countedrefused
10Reveal twicesecond reveal_bid for the same commitmentalready revealedrefused
11Close the auction earlyclose_auction during the reveal windowreveal window still openrefused
12Fake reviewer approvesmallory calls submit_reviewonly reviewerrefused
13Fake reviewer rejects a winnermallory calls reassignonly reviewerrefused
14Double payoutreviewer submits the same review twicejob not assignedrefused
15Run with the bondwithdraw_backing of all shares while the bond is lockedfunds are bonded on recent work; wait for the challenge windowrefused
16Withdraw another backer's moneymallory calls withdraw_backing with no sharesnot enough sharesrefused
17Challenge without a depositchallenge with no NEAR attachedattach exactly 0.1 NEARrefused
18Challenger slashes the agent itselfmallory calls resolve_challenge on her own challengeonly reviewerrefused
19Release a challenged bondrelease_bond while a challenge is openchallenge pendingrefused
20Overwrite a pre-registrationpreregister an existing hashalready registeredrefused

Run it yourself: cd contract && cargo near build non-reproducible-wasm && cargo test --test attacks -- --nocapture.