KAR-2026-0019 critical 9.1 fixed drill
zkrep drill: operator key of zkrep demo agent B reported compromised
This is a recall drill: Karatum rehearsed the recall mechanism on its own house build. Nothing was compromised. A drill never touches real EAS attestations or real ERC-8004 reputation: where it exercises those steps it revokes a throwaway attestation it created, and publishes feedback that is revoked again when the drill is fixed.
- reported
- → triaged
- → confirmed
- → recalled
- → fixed
Facts
| Class | Endpoint compromise |
|---|---|
| Severity | critical (9.1) KAS:1.0/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:N/E:U KAS 1.0, CVSS-v3.1-shaped for agents; the vector is explained in the methodology. High and critical trigger a recall. |
| Source | operator self-report |
| Affected | wallet 0xc5a800af3695d5e40cdfc4bed8428789be102428 |
| Disclosure | immediate: the evidence is public record, the operator is Karatum itself or the operator disclosed it |
| Timeline | reported 2026-10-17 10:01:28 UTC · triaged 2026-10-17 10:01:28 UTC · confirmed 2026-10-17 10:01:28 UTC · recalled 2026-10-17 10:01:37 UTC · closed 2026-10-17 10:01:53 UTC |
What happened
DRILL. Karatum rehearses a recall on its own zkrep demo agent B (a testnet wallet acting for house build build-a-careful-v1) to show that a zero-knowledge reputation proof stops being accepted from the next root. Nothing was compromised. The recall is announced in KaratumIncidentLog; the zkrep publisher then publishes a root without B's leaf (immediate), and a proof B made before the recall is rejected on chain. The recall is lifted afterwards.
Evidence
| Type | Reference | Note | Checked |
|---|---|---|---|
| url | https://karatum.com/zkrep | the public zkrep demo | in Karatum's records |
Links to third-party pages are shown as given by the reporter. A reference marked "in Karatum's records" resolved against our own verdicts, Shield runs, flight records or attestations at intake.
Recall
Confirmed at 2026-10-17 10:01:28 UTC. The first recall transaction was in a block 1.4 s later, the last one after 7.4 s (2 transactions on 2 chains).
Measured as block timestamp (chain clock, 1 s resolution) minus the time the maintainer confirmed (server clock). Base Sepolia blocks are 2 s apart and Ethereum Sepolia blocks 12 s, so those are also the floor of the two numbers. This was a drill: real EAS attestations and ERC-8004 reputation are never touched.
| Step | Chain | Result | Transaction |
|---|---|---|---|
| Guard registry revocation (revokeCert) the affected build has no VALID certificate to revoke | Base Sepolia | skipped | — |
| Guard registry revocation (revokeCert) the affected build has no VALID certificate to revoke | Ethereum Sepolia | skipped | — |
| EAS attestation revocation drill: EAS revocations are irreversible; real attestations are not touched | — | skipped | — |
| ERC-8004 feedback drill: no reputation signal is published | — | skipped | — |
| IncidentLog announcement | Base Sepolia | done | 0x6b44f617…ffc5b1 block 48231501 |
| IncidentLog announcement | Ethereum Sepolia | done | 0x788456ff…10739a block 11933465 |
Lifting the recall
- IncidentLog status and recall lift on Base Sepolia: 0x02989b66…d8545f
- IncidentLog status and recall lift on Ethereum Sepolia: 0xddbe6d6c…7c6a0e
Timeline and operator response
- 2026-10-17 10:01:28 UTC reported by karatum-operator
- 2026-10-17 10:01:28 UTC status by maintainerreported → triaged: operator self-report (drill)
- 2026-10-17 10:01:28 UTC disclosure by maintainer
- 2026-10-17 10:01:28 UTC status by maintainertriaged → confirmed: drill: confirmed by the operator
- 2026-10-17 10:01:37 UTC status by maintainerconfirmed → recalled
- 2026-10-17 10:01:37 UTC recall by maintainer
- 2026-10-17 10:01:53 UTC note by drillzkrep: root epoch 2 published immediately without agent B's leaf; B's proof made before the recall was rejected on chain (ProofRejected(ROOT_NOT_ACCEPTED))
- 2026-10-17 10:01:53 UTC status by maintainerrecalled → fixed: drill complete: lifting the recall
JSON: GET /v1/incidents/KAR-2026-0019 · signed feed: GET /v1/incidents/feed (entry 92) · All incidents