setApprovalForAll gibt einem einzigen Vertrag die Erlaubnis, jede NFT in deiner Wallet zu bewegen, während eine Permit-Signatur (EIP-2612) unbegrenzte ERC-20-Ausgaben in einer einzigen Off-Chain-Nachricht autorisieren kann; beide werden auf Phishing-Seiten routinemäßig missbraucht, daher lautet die einzige sichere Regel: Lies den Funktionsnamen und die Parameter, bevor du etwas signierst.
Auf einen Blick
- setApprovalForAll gewährt pauschalen Zugriff auf jede NFT in deiner Sammlung, nicht nur auf ein einzelnes Token, was es zur mit Abstand zerstörerischsten NFT-Signatur macht.
- Permit- und Permit2-Signaturen erlauben es einem Spender, deine ERC-20s ohne separates On-Chain-Approve zu bewegen, sodass sie sogar überdauern, nachdem du die Seite verlassen hast.
- Unbegrenzte Approvals (ohne Betragsobergrenze) bedeuten, dass ein kompromittierter Spender jederzeit den vollen Saldo abziehen kann, bis du widerrufst.
- Revoke.cash und der Etherscan-Approval-Checker ermöglichen es dir, Approvals nachträglich zu prüfen und zu widerrufen, aber die sicherste Gewohnheit ist, niemals blind eth_sign- oder Permit-Nachrichten zu signieren.
Warum die meisten Krypto-Nutzer Wallet-Signaturen unterschätzen
Wallet-Pop-ups sehen alle ähnlich aus: ein Webseitenname oben, ein Methodenname in der Mitte, ein Bestätigen-Button unten. Da sich die visuelle Hülle zwischen einem 5-Dollar-Token-Swap und einer kompletten Wallet-Leerung kaum unterscheidet, klicken Nutzer sie einfach durch. Genau diese Gewohnheit nutzt Signature-Phishing aus.
Die Wahrheit ist, dass die vier häufigsten Signaturtypen, approve(), setApprovalForAll(), permit und eth_sign, radikal unterschiedliche Dinge tun. Drei davon sind gut verstanden und haben legitime Anwendungen. Einer, eth_sign, hat in modernem Ethereum keine legitime Verwendung und existiert fast ausschließlich in Phishing-Kits. Sie als austauschbar zu behandeln, ist der Grund, warum Menschen ihre Sammlungen verlieren.
Bevor wir jeden einzelnen durchgehen, hilft es, sich daran zu erinnern, dass eine Wallet-Signatur eine Autorisierung ist, nicht nur eine Authentifizierung. Wenn du mit deinem privaten Schlüssel signierst, beweist du nicht nur, wer du bist; du gibst dem Empfänger oft die Erlaubnis, einen Vermögenswert in deinem Namen zu bewegen. Die Signatur ist die Erlaubnis.
Die Signaturtypen, geordnet nach Häufigkeit von Wallet-Leerungen
Nicht jede Signatur setzt deine Gelder dem gleichen Risiko aus. So schneiden die vier Haupttypen im Vergleich ab, grob geordnet vom gefährlichsten zum harmlosesten.
eth_sign: fast immer ein Betrug
eth_sign erzeugt eine rohe ECDSA-Signatur über beliebigen Text, ohne strukturierte Daten und ohne On-Chain-Domain. Es gibt kein Standard-Nachrichtenformat, daher muss dir die Seite in einfacher Sprache mitteilen, was du signierst, und die meisten Wallets parsen es nicht einmal. Alles, was dich 2026 auffordert, eine eth_sign-Nachricht zu signieren, ist überwiegend ein Phishing-Versuch. Einige wenige legitime Tools verwenden es noch (ältere Authenticatoren, manche Debug-Konsolen), aber für den täglichen DeFi- und NFT-Gebrauch solltest du eth_sign als automatische Ablehnung behandeln.
setApprovalForAll: pauschaler NFT-Zugriff
setApprovalForAll(tokenAddress, operator, true) weist den NFT-Vertrag an, einer bestimmten Operator-Adresse zu erlauben, jede NFT zu bewegen, die du aus dieser Sammlung besitzt, sowohl aktuelle als auch zukünftige. Einen NFT-Marktplatz wie OpenSea oder Blur zu approven ist normal: Der Marktplatz muss NFTs transferieren, wenn dein Listing gefüllt wird. Das Problem ist, dass derselbe Aufruf an einen Phishing-Vertrag deine gesamte Bored-Ape-Sammlung übergibt, nicht nur ein einzelnes Token.
Der Schaden ist nicht begrenzt. Wenn du später eine neue NFT aus dieser Sammlung mintest, deckt die alte Genehmigung sie weiterhin ab. Wenn du einen Airdrop in denselben ERC-721-Vertrag erhältst, kann der Operator diese ebenfalls abziehen. Es gibt kein Ablaufdatum und keine pro-Token-Obergrenze.
Permit-Signaturen: gaslose Token-Approvals
Permit (EIP-2612) und sein Nachfolger Permit2 erlauben dir, eine ERC-20-Ausgabe mit einer Off-Chain-Signatur zu autorisieren, anstatt mit einer On-Chain-Approve-Transaktion. Der Vorteil ist real: kein Gas, reibungslosere UX, kein separater Approval-Schritt. Der Preis ist, dass eine Permit-Signatur ein Blankoscheck ist, den der Spender jederzeit vor der von dir gesetzten Frist einreichen kann.
Stablecoins sind das bevorzugte Ziel. Eine Phishing-Seite, die einen „USDC-Claim" oder „Airdrop-Checker" anbietet, kann still eine Permit anfordern, die dem Angreifer unbegrenzt USDC für die nächste Stunde oder länger gibt. Du verlässt vielleicht die Seite, gehst weg und kommst Stunden später zurück, nur um festzustellen, dass dein USDC weg ist. Die Transaktion zeigt sogar den legitimen Token und deine eigene Adresse, was sie in Block-Explorern normal aussehen lässt.
approve(): der begrenzte, aber trotzdem riskante Standard
approve(spender, amount) legt eine Token-Erlaubnis fest. Wenn der Betrag klein ist (sagen wir, 5 USDC für einen Swap), ist der Schadensradius klein. Wenn der Betrag die magische Konstante MaxUint256 (~2^256 - 1) ist, ist das Approval effektiv unbegrenzt und verhält sich ähnlich wie ein Permit.
Viele legitime DeFi-Protokolle fordern standardmäßig unbegrenzte Approvals an, weil sie nur einmal fragen müssen und später abwickeln. Diese Bequemlichkeit ist auch die Bequemlichkeit des Angreifers: Wenn die Schlüssel des Spenders leaken, verlassen deine Token mit ihnen die Wallet.
Schritt für Schritt: So liest du eine Wallet-Popup, bevor du unterschreibst
Egal welche Wallet, die Routine ist immer dieselbe. Unterschreibe niemals im Autopiloten.
Schritt 1: Lies den Funktionsnamen
Wenn du setApprovalForAll, permit oder eth_sign siehst, halte inne. Jede dieser Funktionen birgt die oben beschriebenen Risiken. Bei einem sauberen Swap steht transferFrom oder ein Swap-Router-Aufruf, nicht eine Berechtigungserteilung.
Schritt 2: Lies die Parameter
Prüfe bei Approvals, wer der Spender ist. Prüfe bei setApprovalForAll die Operator-Adresse. Vergleiche beides mit dem echten Vertrag des Protokolls (Reiter „Contract“ auf Etherscan, Projektdokumentation). Wenn die Adresse brandneu ist oder keinen öffentlichen Namen hat, behandle sie als feindlich, bis das Gegenteil bewiesen ist.
Schritt 3: Lies die Simulation
Moderne Wallets (Rabby, Frame, MetaMask mit Tenderly-Simulation) zeigen eine Vorschau der State-Changes: welche Tokens sich bewegen, in welche Richtung, über welchen Vertrag. Wenn die Simulation leer ist oder nicht lädt, ist das selbst ein Warnsignal. Legitime Signaturen erzeugen vorhersehbare Simulationen.
Schritt 4: Prüfe die Deadline
Permit-Nachrichten enthalten einen Deadline-Zeitstempel. Eine Deadline, die ein Jahr in der Zukunft liegt, ist gefährlicher als eine, die in zehn Minuten abläuft. Der signatureTransfer von Permit2 enthält zusätzliche Felder (witness, expiration), die bestimmen, wie breit die Signatur genutzt werden kann. Ungewöhnlich große Deadlines sind verdächtig.
Schritt 5: Nutze eine dedizierte Burner-Wallet
Für Airdrops, Mints und unbekannte Seiten verwende eine separate Wallet, die nur so viel Guthaben enthält, wie du zu verlieren bereit bist. Approvals auf der Burner-Wallet können deine Hauptbestände niemals berühren. Das ist die günstigste Versicherung in Krypto.
So machen Angreifer aus legitimen Signaturen einen Drain
Das Beunruhigende ist, dass der Angreifer selten irgendwelche Kryptografie brechen muss. Er muss dich nur einmal auf Bestätigen klicken lassen.
Die klassische NFT-Listing-Falle
Du landest auf einer gefälschten OpenSea-Seite, die das echte UI spiegelt. Sie bittet dich, ein „hängendes Listing zu stornieren“, indem du ein setApprovalForAll für den Marketplace-Vertrag unterschreibst. Die meisten Nutzer merken nicht, dass „Listing stornieren“ gar keine Signatur erfordert, also unterschreiben sie. Der Angreifer kontrolliert nun jede NFT in dieser Wallet für diese Kollektion, und die Approval läuft nie ab.
Seaport-Marketplace-Signaturen
Das Seaport-Protokoll von OpenSea nutzt Off-Chain-Order-Signaturen (statt On-Chain-Listings), um Offers und Listings günstiger zu machen. Eine signierte Seaport-Order ist ein Bündel von Parametern: zone, conduit, fulfilling components usw. Phishing-Seiten haben gelernt, diese Signaturen nachzuahmen, weil Nutzer „OpenSea“ in der Signatur sehen und annehmen, sie sei sicher. Lies die Parameter, nicht den Protokollnamen.
Stablecoin-Permit-Phishing
USDC und USDT unterstützen EIP-2612 Permits. Eine Seite, die „dein USDC-Guthaben verifiziert“, kann ein Permit im Sign-Button verstecken. Du bestätigst einmal, gehst weg, und die Signatur wartet im Mempool darauf, dass der Angreifer sie innerhalb des Gültigkeitsfensters einreicht. Die On-Chain-Transaktion sieht aus wie ein normales USDC TransferFrom, was es später im Block-Explorer schwerer erkennbar macht.
Address-Poisoning trifft Approvals
Einige Phishing-Kits erzeugen mittlerweile eine Vanity-Adresse, die mit denselben Zeichen beginnt und endet wie dein echter Counterparty. Wenn ein Nutzer den Empfänger überfliegt, wirkt der Prefix-Match korrekt. Derselbe Trick wird nun auf Spender-Felder bei Approvals übertragen: der bösartige Spender teilt die ersten und letzten vier Zeichen mit einem legitimen Spender, in der Hoffnung, dass du visuell approvst, statt die volle Adresse zu lesen.
Praktische Auswirkungen: So machst du deine Wallet schwerer drainbar
Signaturen lesen ist Gewohnheit, keine Begabung. Baue dir ein paar Defaults auf, die auch abends müde noch funktionieren.
- Nutze Rabby oder Frame als tägliche Wallet. Beide parsen gängige Signaturtypen in einfaches Englisch und zeigen die tatsächlich aufgerufene Funktion, nicht nur den Methodennamen.
- Verwende eine Hardware-Wallet für alle nennenswerten Bestände. Die Signaturschlüssel berühren nie einen internetverbundenen Rechner, sodass selbst eine bösartige Dapp keine verwertbare Signatur extrahieren kann.
- Führe monatlich eine Approvals-Prüfung mit revoke.cash (beliebt, übersichtliche UI) oder dem Etherscan-Approval-Checker (ohne Login, Rohdaten) durch. Revoke alles, was für Verträge besteht, die du seit 90 Tagen nicht genutzt hast.
- Ersetze Blanket-Approvals nach jedem großen Swap: Setze die Allowance zuerst auf 0 und approv dann einen kleinen Betrag erneut. Dadurch werden alte unbegrenzte Approvals ungültig.
- Deaktiviere eth_sign in den Wallet-Einstellungen, falls die Option existiert. MetaMask, Rabby und Rainbow bieten dies in den erweiterten Einstellungen an.
- Setze Lesezeichen für die Dapps, die du tatsächlich nutzt. Phishing erreicht die meisten Nutzer über Suchanzeigen oder Twitter-Links, nicht über Lesezeichen. Alles, was über ein Suchergebnis erreicht wird, verdient eine zusätzliche Prüfung.
Nichts davon ist ein großer Aufwand. Der Punkt ist, dass der marginale Aufwand, eine Signatur zu verifizieren, klein ist, während die Kosten des Überspringens die gesamte Wallet sind.
Häufig gestellte Fragen zu Signature-Phishing
Im Folgenden die Fragen, die Leser am häufigsten in Suchmaschinen zu Wallet-Signature-Phishing eingeben. Die Antworten bleiben bei sachlichen Fakten und sind keine Finanzberatung, da das richtige Verhalten hier vom jeweiligen Bestand und Bedrohungsmodell des Lesers abhängt.
So behältst du die Wallet-Sicherheit clever im Blick
Wallet-Signatur-Phishing ist so schnelllebig, weil sich die Angriffsfläche ständig verändert: Jede neue DeFi-Primitive bringt einen neuen Signaturtyp mit sich, und jedes neue Wallet-Feature liefert einen neuen visuellen Hinweis, den es zu deuten gilt. Genehmigungen, Betrugsmeldungen und Post-Mortems über mehrere Chains hinweg im Auge zu behalten ist ein Vollzeitjob, und die meisten Nutzer haben diese Zeit nicht.
Zippfeed bündelt Sicherheits-Schlagzeilen aus dem Ethereum-Umfeld und dem gesamten Krypto-Ökosystem, bewertet jede Meldung nach Stimmung (bullish, neutral oder bearish für das jeweils genannte Protokoll) und zeigt eine Wichtigkeitsbewertung von 0 bis 100 an. So lässt sich der Tag in wenigen Minuten überblicken, man sieht sofort, welche Signaturen und Genehmigungen aktuell missbraucht werden, und kann riskante Spender rotieren, bevor das Konto leergeräumt wird.