iToverDose/Software· 2 JUNI 2026 · 12:01

veil-cli: Terminal-Wallet mit Echtzeit-Prüfung für sichere Ethereum-Transaktionen

veil-cli entschlüsselt für Nutzer unsichtbare Transaktionsdaten in verständliche Informationen – bevor sie unterschrieben werden. Mit Risikoanalyse, Simulation und detaillierter Vorschau hilft das Open-Source-Tool, teure Fehler bei EVM-Transaktionen zu vermeiden.

DEV Community4 min0 Kommentare

Die meisten Ethereum-Wallets reduzieren Transaktionsdetails auf eine hexadezimale Zeichenkette und eine Gas-Schätzung. Doch wer seine privaten Schlüssel schützen will, braucht mehr Transparenz. Das Terminal-Tool veil-cli bietet genau das: eine vollständige Analyse von Transaktionen, bevor sie bestätigt werden.

Verstehen statt bestätigen: Dekodierung und Risikoanalyse vor dem Signieren

Die größte Herausforderung bei Ethereum-Transaktionen liegt in der Undurchsichtigkeit des Calldata. Ein scheinbar harmloser Hex-String wie 0xa9059cbb000000000000000000000000... enthält oft kritische Funktionen, die für Nutzer unverständlich bleiben. veil-cli löst dieses Problem durch eine mehrstufige Dekodierung:

  • Etherscan-API: Falls der Smart Contract verifiziert ist und ein API-Schlüssel verfügbar ist, wird die Funktion direkt aus dem Quellcode extrahiert.
  • Sourcify: Dezentrale Alternative ohne API-Schlüssel, die auf verifizierte Quelltexte zugreift.
  • 4byte.directory: Fallback-Lösung, die unbekannte Funktionen über den Selektor (die ersten vier Bytes) identifiziert und häufig genutzte Methoden wie transfer oder approve zuordnet.

Ein Beispielaufruf zeigt die Funktionsweise:

veil decode 0xabc123... --chain mainnet
veil decode 0xa9059cbb... --address 0xdAC17F... --chain mainnet

Doch die Dekodierung allein reicht nicht aus. veil risk führt eine heuristische Prüfung des Zielkontrakts durch – von Proxy-Detection über Bytecode-Analyse bis hin zur Abfrage externer Sicherheitsdienste wie GoPlus Security. Dabei werden potenzielle Risiken wie Honeypots, schwarze Listen oder hohe Transaktionsgebühren identifiziert.

Ein oft unterschätzter Faktor ist die lokale Simulation von Transaktionen. Mit Anvil, einem lokalen Ethereum-Node aus dem Foundry-Stack, zeigt veil simulate vor der Ausführung, wie sich die Kontostände ändern würden. Besonders überraschend: Viele Transaktionen passieren zwar die RPC-Prüfung, scheitern aber später on-chain – und das erst nach bezahlter Gasgebühr. Die Simulation deckt solche Fälle im Voraus auf.

Das Tool kombiniert TypeScript, viem, Commander.js, Ink, Foundry/Anvil und die GoPlus Security API zu einer robusten Lösung für sichere Transaktionsprüfung.

Sichere Schlüsselverwaltung ohne zusätzliche Abhängigkeiten

Ein Tool, das private Schlüssel verarbeitet, muss höchsten Sicherheitsstandards entsprechen. veil-cli setzt auf den Ethereum Keystore v3-Standard – das gleiche Format, das auch von geth, MetaMask und MyCrypto verwendet wird. Die Implementierung folgt einem dreistufigen Prozess:

  1. Schlüsselableitung: Ein Passwort wird mit scrypt (Parameter N=131072) zu einem kryptografischen Schlüssel verarbeitet.
  1. Verschlüsselung: Der private Schlüssel wird mit AES-128-CTR chiffriert.
  1. Authentifizierung: Ein MAC (Message Authentication Code) wird über die letzten 16 Bytes des Chiffrats und den Ciphertext berechnet, um Manipulationen zu erkennen.

Ein entscheidender Punkt in der Implementierung war die Performance-Optimierung der scryptSync()-Funktion. Ursprünglich blockierte sie den Event Loop für 1–2 Sekunden. Die Lösung: Nutzung der asynchronen Variante. Zudem musste der standardmäßige maxmem-Wert von 32 MB auf 160 MB erhöht werden, um den Algorithmus auszuführen – eine Anpassung, die in der Dokumentation nicht direkt ersichtlich war.

Ein weiterer sicherheitstechnischer Aspekt ist die MAC-Vergleichsfunktion. Statt einer einfachen String-Vergleichung setzt veil-cli auf crypto.timingSafeEqual(), um Timing-Angriffe zu verhindern. Obwohl solche Angriffe auf ein lokales CLI-Tool unwahrscheinlich sind, unterstreicht diese Entscheidung den Fokus auf Sicherheitsbewusstsein.

Die Handhabung der Schlüssel erfolgt über intuitive Befehle:

  • veil wallet create – Erstellt einen neuen Schlüssel, verschlüsselt ihn mit dem Passwort und speichert ihn unter ~/.veil/wallets/.
  • veil wallet import – Importiert einen bestehenden privaten Schlüssel in das gleiche Format.
  • veil wallet list – Listet alle gespeicherten Wallets und deren Adressen auf.

Der Output entspricht dem Keystore v3-Standard und ist somit kompatibel mit MetaMask oder jedem anderen kompatiblen Wallet-Client.

Transparenz als Sicherheitsprinzip: Signieren erst nach vollständiger Prüfung

Das Herzstück von veil-cli ist der Befehl veil send, der eine vollständige Prüfungspipeline durchläuft, bevor der private Schlüssel überhaupt entsperrt wird. Der Prozess umfasst:

  1. Dekodierung der Transaktionsdaten
  2. Risikoanalyse des Zielkontrakts
  3. Simulation der Transaktion auf einem lokalen Fork
  4. Zusammenfassung der Ergebnisse
  5. Bestätigung durch den Nutzer
  6. Entsperren des Schlüssels
  7. Ausführung der Transaktion

Vor der eigentlichen Signatur erhält der Nutzer eine detaillierte Vorschau:

┌──────────────────────── Transaktionszusammenfassung ─────────────────────────┐
│ Von: 0xDeinWallet                                                     │
│ An: 0xUniswapRouter                                                  │
│ Wert: 0.5 ETH                                                        │
│ Methode: swapExactETHForTokens                                       │
│ Risiko: ✔ NIEDRIG                                                   │
│ Gas: ~142.381                                                       │
└────────────────────────────────────────────────────────────────────────┘

Auswirkung:
- ETH: -0.500000
- PEPE: +2.184.112,000000

Signieren und senden? (y/N)

Ein zentrales Feature ist die Verwendung einer Transaktionsdatei (tx.json), die vor der Signatur erstellt, geprüft und sogar versioniert werden kann. Der Befehl veil tx build bietet einen interaktiven Assistenten zur Erstellung dieser Datei. Alternativ können auch Exporte aus Gnosis Safe oder Ausgaben von cast calldata genutzt werden.

Grenzen der automatisierten Risikoerkennung

Während veil-cli viele offensichtliche Risiken wie Honeypots oder unverifizierte Verträge erkennt, stößt die automatisierte Analyse an ihre Grenzen. Komplexere Szenarien wie:

  • Upgradebare Proxys mit kürzlich geänderten Implementierungen
  • Multisigs mit kürzlich hinzugefügten oder entfernten Signern
  • Versteckte Logik in unverifizierten Verträgen

werden nicht vollständig abgedeckt. Die Erkennung solcher Fälle erfordert entweder detaillierte Ereignisprotokoll-Analysen oder externe Datenquellen – ein Bereich, der aktuell noch offen ist.

Fazit: Sicherheit durch Transparenz

Das Ziel von veil-cli ist nicht, das Signieren von Transaktionen zu erschweren, sondern das Verständnis vor die Autorisierung zu stellen. Durch die Kombination aus Dekodierung, Risikoanalyse, Simulation und klarer Vorschau wird sichergestellt, dass Nutzer nur Transaktionen bestätigen, deren Auswirkungen sie vollständig nachvollziehen können.

Die Zukunft des Tools liegt in der weiteren Optimierung der Risikoerkennung und der Integration zusätzlicher Sicherheitsdatenquellen. Bis dahin bleibt veil-cli eine unverzichtbare Ergänzung für jeden, der seine Ethereum-Transaktionen mit maximaler Kontrolle und minimalem Risiko durchführen möchte.

Aktuell ist das Tool noch nicht über npm veröffentlicht, kann aber direkt aus dem Quellcode installiert werden.

KI-Zusammenfassung

veil-cli decodes Ethereum transactions before signing, simulating outcomes and scoring risks. Learn how this terminal wallet improves security with zero new dependencies.

Kommentare

00
KOMMENTAR SCHREIBEN
ID #ZX8AAV

0 / 1200 ZEICHEN

Menschen-Check

4 + 5 = ?

Erscheint nach redaktioneller Prüfung

Moderation · Spam-Schutz aktiv

Noch keine Kommentare. Sei der erste.