Case · DiggingBeagle record

TaskMarket custom hooks can trap an autonomous worker after a USDC stake

Zero Px Core reports that a 0.9 USDC stake on TaskMarket Base task TSK-PA07KRAS was followed by a HookCheckSubmitRejected response, and its controlled RPC calls found the supplied custom checkSubmit hook returned false.

Scope

Two separately posted operator accounts, without independent execution of Base receipts; the October 31 claims of 19 or more claims, more than 17 USDC lost, and common operator control remain unverified.

Assessment profile

Assessment method
Setting
controlled live
Exploitation
observed live
Evidence
Grade C
Remediation
mitigation available
AI role
AGAINST AI
Basis and provenance

Two separate operator posts describe Base stake transactions and custom hook rejection for distinct tasks. The first reports direct RPC tests, but independent transaction receipts, final forfeiture, actor linkage and aggregate losses were not established in this session. Impact remains unrated because the evidence does not supply a calibrated scale for this Case.

Assessed Nov 1, 2026 using diggingbeagle.assessment/1.

At a glance

Mechanism and trust boundary

  1. 01

    The requester publishes a simple paid job with a reward and an upfront stake requirement that a wallet-equipped worker can accept.

  2. 02

    A task-specific EVM hook participates in the protocol: claiming the work and admitting a finished submission are separate contract transitions.

  3. 03

    A worker signs and pays the USDC stake; the reported Base transaction admits the claim and records the worker.

  4. 04

    After completing the advertised work, the worker receives HookCheckSubmitRejected() while the submitted artifact never enters the task state.

  5. 05

    The operator reports read-only eth_call tests in which the custom hook returns false; a later researcher reports more deployed hooks with matching refusal logic.

  6. 06

    Final loss depends on expiry, refund and penalty rules; the reported revert does not independently establish forfeiture or collective requester control.

Timeline

  1. Oct 29, 2026
    observation

    First reported staked claim and rejected delivery

    Zero Px Core reports a 0.9 USDC stake on TSK-PA07KRAS followed by a rejected submission; both transaction and probe results remain operator-reported.

  2. Oct 31, 2026
    Event type unspecified

    Different worker reports a similar stake/rejection

    WinWinHost describes task TSK-G5WBSFR2 and a 1 USDC stake; neither loss accounting nor shared requester is independently established.

  3. Nov 2, 2026
    Event type unspecified

    Separate default-hook and CLI discrepancy report

    Default TaskTokenRewardHook rejection and worker identity mismatch must not be grouped with custom runtime evidence without a common cause.

  4. Nov 3, 2026
    Event type unspecified

    Researcher publishes 30-task selected sample

    Forensic author reports 23 flagged tasks and 16 matching 1,193-byte custom-hook runtimes, not independently verified platform-wide outcomes.

Claims & evidence

CLM-2026-NOV06-TASKMARKET-FORENSIC-16A November 3 forensic author reports that 16 TaskMarket hook addresses among 23 flagged tasks shared one 1,193-byte runtime fingerprint; the sample and claimed common control have not been independently reproduced.supported

Basis: reported finding

Link to claim
CLM-2026-NOV01-TASKMARKET-HOOK-STAKE-1Zero Px Core reports that a 0.9 USDC stake on TaskMarket Base task TSK-PA07KRAS was followed by a HookCheckSubmitRejected response, and its controlled RPC calls found the supplied custom checkSubmit hook returned false.supported

Basis: reported finding

Link to claim
CLM-2026-NOV01-TASKMARKET-HOOK-STAKE-2WinWinHost separately reports its worker staked 1 USDC on task TSK-G5WBSFR2 and could not submit through the task hook; its claimed wider victim and loss totals have not been independently reconciled.supported

Basis: reported finding

Link to claim
CLM-2026-NOV01-TASKMARKET-HOOK-STAKE-3The TaskMarket developer documentation says checkSubmit hook validation can reject a proposed task submission, so successful claiming does not imply that a later submission will be accepted.supported

Basis: reported finding

Link to claim
CLM-2026-NOV06-TASKMARKET-SAMPLE-23-OF-30A November 2026 forensic author reports flagging 23 of 30 recently sampled TaskMarket tasks and observing 16 custom-hook addresses sharing a 1,193-byte deployed runtime fingerprint. These are author-reported sample findings, not an independently verified platform-wide loss rate or a confirmed common attacker.supported

Basis: reported finding

Link to claim
CLM-2026-NOV06-TASKMARKET-DISTINCT-DEFAULTA separate November 2 worker report attributes another blocked submission to the platform-default TaskTokenRewardHook and describes a CLI wallet-identity mismatch, without establishing a link to the custom-hook trap campaign.supported

Basis: reported finding

Link to claim

Implications

Assess the reported tool or model action separately from the side effect actually observed.

Controls and mitigations

  • Before signing a stake, inspect the deployed hook runtime or simulate both claim and submit transitions against the pinned contract and task state; require a bounded stake, a refund path and an independently checked expiry policy.
  • Constrain wallet approvals by task and contract identity; record runtime hash and chain state, then simulate both the claim and representative submission path before staking. Treat a failed or incomplete test as a reason to block the stake, not to grant more authority.
  • Recheck refund, revision and penalty recipients at the actual commitment point. A receipt showing the stake left the wallet does not prove which counterparty ultimately retained it.

Unknowns and contradictions

  • Two separately posted operator accounts, without independent execution of Base receipts; the October 31 claims of 19 or more claims, more than 17 USDC lost, and common operator control remain unverified.
  • Independent replication of the 30-task sweep and deployed runtime digests remains outstanding.
  • The default TaskTokenRewardHook rejection and CLI identity mismatch are not attributed to the custom-hook operator.
  • Base receipt explorer access returned HTTP 403; final custody and forfeiture of reported worker stakes remain unverified.
  • The published forensic author has not provided an independently audited census of TaskMarket tasks, and its 23-of-30 denominator cannot be generalized to the platform.
  • The exact state dependence of hook validation and ability to change task configuration after a worker pays are not independently established.

Sources and citation

Material revision history

  1. Nov 6, 2026 · Published version · first publication · revision 224