Back

Malicious prompts and drainers

P03-L05 · P03 · P03-M02

Identify a harmful request from a sanitized transaction example

ILLUSTRATIVE · needs_review

Prerequisites: P03-L04

Learning objectives

  • Identify a harmful request from a sanitized transaction example
  • Compare sanitized effects with claimed purpose.
  • Identify unsafe scope without asserting attacker identity or executed loss.

EN source master · P03-L05 · needs_review

Offline/read-only study only. Never provide secrets, passwords or authentication codes. No wallet connection, real approval, live revocation, transaction signature, transfer, funds or trade. Visuals are specifications only.

Why this matters

A drainer-style request is assessed through the capability it asks for, not its reassuring caption. Evidence of dangerous scope can justify stopping while execution and human intent remain unresolved.

Explanation

Begin with the learner's stated purpose

The fixture's intended action is reading a public balance, requiring no authorization. R1 nevertheless asks for an allowance; R2 requests a direct transfer; R3 omits the effects entirely. Compare these capabilities to the stated purpose. This is not a test of whether the page uses alarming words: it is a test of whether the requested effects are justified and understood.

Read actual authority

ERC-20 permissions name a spender and amount [ERC20]. Permit-shaped messages can authorize allowances under applicable signed-approval rules [PERMIT]. Transaction instructions can instead request movement directly [ETH_TX]. None of these forms automatically identifies a malicious person. A legitimate application can use approvals, and an approval request alone is not proof of malicious intent.

The fixture makes the mismatch explicit: “view balance” versus permission for 1000 units. That supports a capability/purpose mismatch under its assumptions. It does not supply a signature, consumed message or transfer result. Report “the request exceeds the stipulated read-only purpose,” not “the user was drained.”

Treat opacity as unresolved

R3's opaque summary cannot be graded as harmless because the caption says verify. UNKNOWN effects are a stopping reason in this rehearsal; they are not an invitation to sign and observe what happens. A simulation or decoded summary, if supplied, would have a source, method, state context and coverage. This fixture does not fabricate a successful safety simulation.

R4's timer creates pressure but supplies no authorization need. Countdown language changes none of the missing evidence. Record it as part of the prompt while keeping the operator's identity and motive unresolved.

Preserve a safe record

Write a sanitized requested-capability table. Keep exact fixture IDs, intended purpose, requested authority, mismatch and missing outcome evidence. OBSERVED is the prompt summary, INFERRED is the scope mismatch, UNKNOWN is execution and operator identity, and INSUFFICIENT EVIDENCE applies to named-human blame or confirmed asset loss. No malware is generated, downloaded or run.

Key terms

  • Capability: effect an authorization could permit.
  • Purpose mismatch: scope exceeding stipulated user intent.
  • Opaque request: insufficiently decoded effects.
  • Drainer-style pattern: descriptive request behavior, not verified person attribution.

Historical example

ILLUSTRATIVE offline prompt cards; no signable bytes. Intended purpose: view public balance. R1 caption ‘verify wallet’, allowance-shaped request TOKEN-S/OWNER-A/SPENDER-B for 1000 whole fixture units. R2 caption ‘claim’, direct transfer request 7 SIM units to SIM-C. R3 caption ‘verify’, effects UNKNOWN. R4 timer ‘act now’. No authorization or execution record.

Visual specifications

Transaction-request timeline with intent at start and R1/R2/R3 as separate capability cards. Mark mismatch/unknown effects, then an offline STOP decision. Keep executed-result lane empty, not a fabricated loss graph.

What the evidence proves

The stipulated prompt fields and inferred purpose/capability mismatches.

What the evidence does not prove

Actual malware execution, signature production, theft, malicious human intent or operator identity.

Common mistakes

  • Signing to discover effects.
  • Calling every approval malicious.
  • Treating pressure/caption as technical justification.
  • Equating a risky request with observed loss.

Practical exercise

For R1–R4, record intended purpose, requested effect, mismatch, evidence state and missing input. Write a safe offline decision for R3 and rewrite ‘the attacker stole seven units’ using only these cards.

Submit a table and bounded conclusion using only supplied offline material. Editorial time allocation: study 12 min, exercise 8 min, correction/quiz 10 min.

Show worked correction

R1 exceeds the balance-view purpose through spend scope; R2 requests a transfer rather than a view; R3 effects UNKNOWN; R4 adds pressure only. Do not sign any card. Request decoded scope/provenance through independent safe material. No receipt is supplied, so theft is INSUFFICIENT EVIDENCE. Bounded wording: R2 requests a seven-unit movement to SIM-C; execution and human operator remain UNKNOWN.

Rubric: exact scope, source provenance, reasoning, explicit limits and safe offline handling, one point each. Invented observations or unsupported identity attribution require correction regardless of score. Formative only.

Checklist

  • Name intent.
  • Read scope independent of caption.
  • Pause if effects unresolved.
  • Preserve sanitized request, not secret/signature.
  • Separate risky capability and actual outcome.

Summary

Prompt assessment compares intended purpose with requested effects. Unsupported scope or unknown effects can justify stopping without inventing execution, losses or human attribution.

Summary

  • Identify a harmful request from a sanitized transaction example
  • Compare sanitized effects with claimed purpose.
  • Identify unsafe scope without asserting attacker identity or executed loss.

Next lesson

P03-L06 after prerequisite and correction review.

Tools

NONE in authoritative catalog. Provided offline data suffice; no product purchase or wallet operation required.

Sources & claim boundaries

Documentation explains mechanisms. Historical records retain their declared source class. Source inspection is not independent editorial acceptance.

Visual specifications

P03-L05-V01

SPECIFICATION_ONLY · ILLUSTRATIVE

Identify a harmful request from a sanitized transaction example

ILLUSTRATIVE sanitized offline cards, not a live screen

Transaction-request timeline with intent at start and R1/R2/R3 as separate capability cards. Mark mismatch/unknown effects, then an offline STOP decision. Keep executed-result lane empty, not a fabricated loss graph.

Transaction-request timeline with intent at start and R1/R2/R3 as separate capability cards. Mark mismatch/unknown effects, then an offline STOP decision. Keep executed-result lane empty, not a fabricated loss graph.

390px stacked cards/text equivalent; 768px/desktop render acceptance pending

RTL prose; identifiers isolated LTR; factual edge directions preserved

FIX-P03-L05

Sources & claim boundaries

ERC20 · PRIMARY_DOCUMENTATION

ERC-20 token standard

Supported claim
approve, allowance and transferFrom for compliant interfaces.
Verification boundary
Primary source inspected for associated mechanism or attributed statement; no authentication of illustrative data.
Checked at
2026-10-01
Open primary source
https://eips.ethereum.org/EIPS/eip-20

PERMIT · PRIMARY_DOCUMENTATION

ERC-2612 signed approvals

Supported claim
Permit allowance authorization with owner, spender, value, nonce and deadline.
Verification boundary
Primary source inspected for associated mechanism or attributed statement; no authentication of illustrative data.
Checked at
2026-10-01
Open primary source
https://eips.ethereum.org/EIPS/eip-2612

Dataset provenance

id: FIX-P03-L05

dataStatus: ILLUSTRATIVE

source: Original embedded offline cards; no real observations

observedAt: null

timeBasis: SIM/T markers are fictional order, not UTC timestamps

Test your reasoning

P03-L05-Q1 · R1 fits read-only balance viewing?
P03-L05-Q2 · R2 proves seven units were stolen?
P03-L05-Q3 · What to do with R3 in rehearsal?
P03-L05-Q4 · Every approval proves malicious intent?
P03-L05-Q5 · R4 changes the missing technical evidence?