Preise werden geladen…

Token Approvals richtig widerrufen

Alte Infinite Approvals können länger bestehen als die dapp, die sie angefordert hat. So räumst du sie sicher auf und verstehst, welches Signaturrisiko bleibt.

Token Approvals richtig widerrufen

Was ist eine Token-Genehmigung, und warum solltest du sie jemals widerrufen?

Wenn du einen Token auf einer dezentralen Börse tauschst, Sicherheiten in einem Lending-Markt hinterlegst oder Assets in ein Renditeprodukt verschiebst, kann der Ziel-Contract deine Token normalerweise nicht von selbst einziehen. ERC20-Token wurden mit einem einfachen Allowance-Modell entwickelt: Der Token-Contract weiß nichts über die App, die du nutzt, und die App kann keine Token bewegen, solange du sie nicht ausdrücklich dazu autorisiert hast. Vor einem Trade oder einer Einzahlung bittet dich deine Wallet daher, eine Genehmigungstransaktion zu signieren, die sinngemäß sagt: Der Uniswap-Router darf bis zu X meiner USDC ausgeben, oder unbegrenzt viel.

Diese signierte Genehmigung wird im Token-Contract selbst On-Chain gespeichert und bleibt dort, bis du sie aufhebst. Wenn du einen Router für 100 USDC genehmigt und 95 verwendet hast, bleiben die restlichen 5 als Allowance bestehen. Wenn du einen unbegrenzten Betrag genehmigt hast, lebt diese Allowance für immer weiter, bis du sie widerrufst. Genau das ist das Kernproblem. Wallets wie MetaMask zeigen dies als „unbegrenzt“ an statt als riesige Zahl, auch um zu verbergen, wie stark der Nutzer tatsächlich exponiert ist.

Genehmigungen sind an sich nichts Schlechtes. So funktioniert DeFi. Das Risiko entsteht an drei Stellen. Erstens wird die dapp, die du genehmigt hast, später gehackt, und der Angreifer ruft die weiterhin aktive Allowance ab. Zweitens ist die dapp von Anfang an ein Betrug, und die Genehmigung ist der eigentliche Angriff. Drittens hast du vor Monaten ein Protokoll genutzt, es vergessen, und dieses Protokoll hat inzwischen den Besitzer gewechselt, wurde aktualisiert oder migriert. Keines dieser Probleme ist theoretisch: Beim Badger DAO-Vorfall 2022 gingen rund 120 Millionen US-Dollar verloren, teilweise weil alte Genehmigungen für den Badger-Router missbraucht wurden, und unzählige persönliche Verluste lassen sich auf Genehmigungen zurückführen, die Phishing-Seiten erteilt wurden.

Was tatsächlich schiefgehen kann: die reale Risikooberfläche

Am saubersten lässt sich das Genehmigungsrisiko verstehen, wenn man drei Ebenen trennt: den Spender-Contract, den Token-Contract und die Signatur-Ebene. Jede Ebene hat einen anderen Schadensradius, wenn sie versagt, und die meisten Leitfäden werfen sie in einen Topf. Sie sind nicht dasselbe.

Der Spender-Contract. Das ist die dapp, der Router oder der Vault, dem du die Berechtigung gegeben hast. Wenn dieser Contract aktualisiert, ausgenutzt oder schlicht über seine Admin-Keys geruggt wird, zeigt jede Allowance auf ihn nun effektiv auf den Angreifer. Mit einer unbegrenzten Genehmigung kann der Angreifer jeden Token dieses Typs aus deiner Wallet in einem einzigen Aufruf abziehen, ohne weitere Signaturen.

Der Token-Contract. Die Genehmigung wird auf dem Token selbst aufgezeichnet. Widerrufen bedeutet, eine neue Transaktion an den Token zu senden, die deine Allowance für diesen Spender wieder auf null setzt. Bis diese Transaktion gemined ist, bleibt die alte Allowance aktiv. Es gibt keinen „Rückgängig“-Button, sondern nur eine neue Transaktion, die die alte Allowance überschreibt.

Die Signatur-Ebene. Das ist der Teil, den die meisten Nutzer übersehen. Moderne Wallets und dapps verwenden Off-Chain-Signaturen (eth_sign, EIP 2612 permit, Uniswaps Permit2), damit du eine Genehmigung erteilen kannst, ohne Gas zu bezahlen, oder sogar ganz ohne eine Transaktion zu senden. Diese Signaturen werden nicht als Genehmigungen On-Chain gespeichert, sondern leben in der Historie des Signierenden. Eine bösartige Signatur kann einem Spender die Berechtigung geben, Token aus deiner Wallet zu ziehen, und das Widerrufen deiner On-Chain-Genehmigungen ändert daran absolut nichts. Die Lösung ist ein anderes Tool, das wir weiter unten behandeln.

Die ehrliche Einordnung: Widerrufen ist notwendig, aber nicht ausreichend. Es stoppt das langsame Ausbluten durch übrig gebliebene On-Chain-Allowances, aber es schließt nicht die Tür, die eine Permit-Signatur gestern geöffnet hat.

Unbegrenzte vs. begrenzte Genehmigungen: Was ist tatsächlich sicherer?

Die meisten Wallets verwenden aus Bequemlichkeit standardmäßig 'unbegrenzt', weil die Alternative darin besteht, jedes Mal eine neue Genehmigung zu signieren, wenn sich dein Guthaben ändert. Aus Sicherheitssicht ist begrenzt eindeutig sicherer, aber es ist nicht kostenlos.

Eine unbegrenzte Genehmigung kostet dich beim ersten Nutzen einer dapp eine Transaktion, danach fallen keine laufenden Transaktionen mehr an, weil die Allowance groß genug ist, um jede künftige Interaktion abzudecken. Der Nachteil ist genau das oben beschriebene langfristige Restrisiko: Eine dapp, die du einmal 2021 genutzt hast, hat 2026 immer noch einen Blankoscheck für deine Token. Eine begrenzte Genehmigung kostet dich dagegen ungefähr jedes Mal eine Transaktion, wenn du einzahlst oder handelst, da die Allowance verbraucht wird und wieder aufgefüllt werden muss.

In der Praxis wählen umsichtige Nutzer einen Mittelweg. Sie erteilen unbegrenzte Genehmigungen nur für eine kleine Auswahl bewährter Contracts, mit denen sie wöchentlich interagieren, und begrenzte Genehmigungen für alles andere. Revoke.cash macht diese Prüfung einfach, weil es jeden Spender, die Allowance und den Token auf einem Bildschirm anzeigt.

Eine Nuance: Einige Token implementieren ERC20 auf nicht standardmäßige Weise. USDT erlaubt zum Beispiel keine direkten Änderungen einer Genehmigung von einem Wert ungleich null auf einen anderen Wert ungleich null. Du musst die Allowance zuerst auf null setzen, warten, bis diese Transaktion gemined wurde, und dann die neue Allowance festlegen. Revoke.cash erledigt das automatisch. Wenn du es manuell über Etherscan machst, musst du die Allowance zuerst auf null setzen.

Revoke.cash vs. Etherscan Token Approval Checker

Das sind die zwei Tools, auf die Anfänger zuerst stoßen werden, und sie sind weniger Konkurrenten als vielmehr zwei Ansichten derselben Daten. Beide lesen deine On-Chain-Genehmigungsereignisse direkt von Ethereum, daher verwahrt keines der Tools deine Gelder und keines kann etwas für dich signieren.

Revoke.cash ist eine spezialisierte dapp, die jeden Token auflistet, den du jemals genehmigt hast, einschließlich ERC20 Token, ERC721 und ERC1155 NFTs sowie Chains jenseits von Ethereum (die meisten großen EVMs und eine Handvoll Non-EVM-Chains). Es gruppiert Allowances nach Spender-Contract, zeigt Risikokennzeichnungen für bekannte Protokolle und macht Allowances für Token sichtbar, die du nicht mehr hältst, was das häufigste versteckte Risiko ist. Außerdem verlinkt es auf eine Widerrufstransaktion, die in deiner Wallet bereits vorausgefüllt ist. Die Website ist Open Source und existiert seit der frühen DeFi-Ära, was für das Vertrauen wichtig ist.

Der Etherscan Token Approval Checker befindet sich im Etherscan Block Explorer. Du verbindest eine Wallet-Adresse, und er listet jede ERC20-Genehmigung auf, die mit dieser Adresse verknüpft ist, mit Links zu den jeweiligen Token- und Spender-Contracts. Er ist konservativer und weniger funktionsreich, übernimmt aber das Markenvertrauen von Etherscan und ist eine nützliche zweite Meinung, wenn ein Ergebnis von Revoke.cash seltsam aussieht.

Beide Tools verlangen, dass du eine Widerrufstransaktion in deiner eigenen Wallet signierst. Du kannst dasselbe auch tun, indem du 'approve(spender, 0)' direkt über den Write-Contract-Tab von Etherscan auf dem Token-Contract aufrufst, aber dieser Weg ist leichter falsch zu machen und schwieriger zu prüfen. Für Anfänger ist Revoke.cash die sauberere Standardeinstellung.

Die Signaturfalle: Warum Widerrufen nicht ausreicht

Permit-Signaturen (EIP 2612) und Uniswap's Permit2 wurden eingeführt, um Genehmigungen günstiger oder gaslos zu machen. Statt eine Genehmigungstransaktion zu senden, signierst du eine Off-Chain-Nachricht, die besagt: 'Ich autorisiere Spender X, bis zu Y meines Token Z zu bewegen'. Diese Nachricht wird dann vom Spender eingereicht, und der Token-Contract verifiziert sie on-chain und setzt die Allowance für dich, in derselben Transaktion wie die Aktion, die sie nutzt. Aus Sicht des Nutzers ist die UX reibungsloser: weniger Bestätigungen, kein separates Gas.

Die Falle besteht darin, dass eine bösartige Website dich auch um genau dieselbe Signatur bitten kann, mit einer viel größeren Allowance und einem viel längeren Ablaufdatum. Die Signatur bewirkt nichts, bis der Spender sie einreicht, aber sobald sie eingereicht wurde, ist sie von jeder anderen On-Chain-Genehmigung nicht zu unterscheiden. Schlimmer noch: Einige Phishing-Kits fragen nach Permit-Signaturen, die nicht sofort verwendet, sondern im Dark Web verkauft werden, um später eingelöst zu werden, nachdem der Nutzer die Sache längst hinter sich gelassen hat.

Das Widerrufen deiner On-Chain-Genehmigungen berührt diese nicht. Die durch ein Permit erzeugte Allowance existiert erst nach der Einreichung on-chain, und sobald sie existiert, erscheint sie in Revoke.cash wie jede andere Genehmigung, sodass du sie weiterhin widerrufen kannst. Das gefährliche Zeitfenster liegt jedoch vor der Einreichung, wenn weder Etherscan noch Revoke.cash sie sehen können. Dieses Fenster wird nur auf der Signatur-Ebene geschlossen.

Die praktischen Verteidigungstools befinden sich auf Wallet-Ebene: Tools wie Scam Sniffer, Pocket Universe, Blowfish und die eingebauten Warnungen in Wallets wie Rabby und neueren Builds von MetaMask fangen verdächtige Signaturen ab, bevor du sie signierst. Die nötige Disziplin ist einfach: Signiere niemals ein Permit oder eine Off-Chain-Genehmigung, wenn du die Nachricht, den Spender und die gewährte Allowance nicht vollständig verstehst. Lies die Warnbildschirme, die deine Wallet dir zeigt. Wenn die dapp überhaupt nach einem Permit fragt, obwohl du nur eine Website ansehen wolltest, ist das das Phishing-Signal.

Eine sichere, wiederholbare Aufräumroutine

Der Zweck einer Routine ist es, die Entscheidung 'Soll ich das widerrufen?' im Moment zu vermeiden, denn genau dann ist die Wahrscheinlichkeit eines Fehlers am größten. Führe die Routine vierteljährlich durch oder nach jeder Interaktion mit einem Protokoll, bei dem du dir nicht zu 100 Prozent sicher bist.

Schritt 1: Öffne Revoke.cash (oder den Etherscan Token Approval Checker als Backup) und verbinde die Wallet, die du prüfen möchtest. Überprüfe die Liste der Spender. Alles, was du nicht erkennst, oder alles, was auf ein Protokoll verweist, das du nicht mehr nutzt, ist ein Kandidat für den Widerruf.

Schritt 2: Sortiere nach Risikokennzeichnung. Revoke.cash markiert bekannte Protokolle und bekannte bösartige Spender. Alles in der zweiten Kategorie sollte sofort widerrufen werden, unabhängig von der Höhe der Allowance.

Schritt 3: Entscheide bei den verbleibenden Spendern zwischen unbegrenzt und begrenzt. Wenn das Protokoll zu deiner wöchentlichen Rotation gehört, behalte die unbegrenzte Genehmigung und notiere sie einfach. Wenn du es monatlich oder seltener nutzt, setze die Allowance auf genau den Betrag, den du verwenden möchtest, oder setze sie auf null und genehmige später erneut.

Schritt 4: Bündle, wo du kannst. Revoke.cash ermöglicht es dir in einigen Wallets, mehrere Widerrufe in eine einzige Transaktion einzureihen, was Gas spürbar senkt. Auf Ethereum mainnet kann das einzelne Widerrufen von einem Dutzend Genehmigungen zu Stoßzeiten $20 bis $60 an Gas kosten, während eine gebündelte Version eine Basisgebühr plus etwas Overhead kostet. Bei Widerrufen gibt es keinen On-Chain-Zeitdruck, daher kannst du auf ein Zeitfenster mit niedrigem Gas warten, wenn die Kosten wichtig sind.

Schritt 5: Führe den Checker nach dem Widerrufen noch einmal aus, um zu bestätigen, dass jede anvisierte Allowance jetzt null anzeigt. Prüfe dann deinen Signaturverlauf in deiner Wallet (Rabby und MetaMask zeigen beide kürzlich signierte Nachrichten an) und markiere alles, was unbekannt aussieht. Alles, was du nicht erklären kannst, solltest du als kompromittiert behandeln und erwägen, Gelder in eine neue Wallet zu verschieben.

Wie du Approval-Hygiene auf die smarte Art einhältst

Approval-Hygiene ist kein einmaliger Panikknopf. Sie ist eine Gewohnheit, ähnlich wie das Rotieren von API-Schlüsseln oder das Prüfen von Kontoauszügen, und sie zahlt sich am meisten aus, wenn sie langweilig ist. Zippfeed zeigt Wallet- und DeFi-Schlagzeilen mit Sentiment-Bewertung (bullish, neutral oder bearish) und einer Wichtigkeitseinstufung an, damit du einen großen Protokoll-Exploit sofort erkennst, sobald er gemeldet wird, und deine alten Allowances prüfen kannst, bevor der Nachrichtenzyklus weiterzieht.

Häufig gestellte Fragen

Ist es sicher, Token Approvals zu widerrufen?
Ja. Beim Widerrufen wird eine On-Chain-Transaktion gesendet, die deine Allowance für einen bestimmten Spender wieder auf null setzt. Dabei werden keine Gelder bewegt. Du zahlst nur Gas. Das einzige Risiko besteht darin, mit einer gefälschten Revoke.cash- oder Etherscan-Seite zu interagieren. Deshalb solltest du die echten URLs als Lesezeichen speichern und niemals Links aus Suchanzeigen oder DMs folgen. Dies dient nur der allgemeinen Bildung und ist keine Finanzberatung.
Wie funktioniert das Widerrufen einer Approval genau?
Deine Wallet sendet eine Transaktion an den Token Contract und ruft die standardmäßige ERC20-Funktion approve mit der Spenderadresse und einer Allowance von null auf. Sobald die Transaktion bestätigt ist, wird die alte Allowance überschrieben und der Spender kann diesen Token nicht mehr aus deiner Wallet ziehen. Bei Tokens wie USDT, die direkte Änderungen zwischen Werten ungleich null nicht zulassen, musst du die Allowance zuerst auf null setzen, auf die Bestätigung der Transaktion warten und anschließend einen neuen Betrag genehmigen.
Sollte ich alle meine Approvals auf einmal widerrufen?
Alles zu widerrufen ist ein vernünftiger Ausgangspunkt, aber nicht nötig, wenn du aktiv nur eine kleine Gruppe vertrauenswürdiger Protokolle nutzt. Ein praktischer Mittelweg ist, alles Unbekannte oder Ungenutzte zu widerrufen, Infinite Approvals nur für dapps zu behalten, die du regelmäßig nutzt, und den Rest auf exakte Beträge umzustellen. Die richtige Lösung hängt davon ab, wie du DeFi verwendest. Dies ist keine Finanzberatung.
Warum entfernt ein Widerruf keine Phishing-Permit-Signaturen?
Permit- und Permit2-Signaturen sind Off-Chain-Nachrichten, die erst dann eine On-Chain-Allowance erzeugen, wenn der Spender sie einreicht. Bis zur Einreichung sind sie für Revoke.cash und Etherscan unsichtbar. Das Widerrufen deiner bestehenden On-Chain-Approvals macht sie nicht ungültig. Der Schutz liegt auf Wallet-Ebene, etwa durch Tools mit Signaturwarnungen, sorgfältiges Lesen dessen, was du signierst, und die Behandlung jeder unerwarteten Permit-Anfrage als Phishing-Versuch.
Verwandte Tokens
$ETH