solidity-security
von wshobsonsolidity-security ist ein fokussierter Skill für Solidity-Audits und sicheres Coding, um Reentrancy, Access Control, unsichere externe Aufrufe und Maßnahmen zur Behebung zu prüfen. Nutzen Sie ihn, um Contracts auf ein Security Audit vorzubereiten, Prompts zu verbessern und strukturiertere Prüfergebnisse als mit einer generischen Audit-Anfrage zu erhalten.
Dieser Skill erreicht 76/100 und ist damit ein solider Kandidat für das Verzeichnis: Er bietet Agents klare Einsatzsignale und umfangreiche, wiederverwendbare Hinweise zur Solidity-Sicherheit, ist aber weiterhin eher ein längeres Referenzdokument als ein eng gefasster operativer Workflow mit Tools, Checklisten oder unterstützenden Artefakten.
- Hohe Auslösbarkeit: Die Beschreibung und der Abschnitt „When to Use This Skill“ machen Einsatzfälle wie das Schreiben von Contracts, Audits und die Vermeidung typischer Schwachstellen klar erkennbar.
- Praktischer Workflow-Nutzen: Der Skill behandelt konkrete Klassen von Schwachstellen und sichere Muster mit Code-Beispielen, darunter Reentrancy-Schutz und weitere praxisrelevante Solidity-Sicherheitsthemen.
- Ausreichend Substanz für eine Listung: Das Dokument ist umfangreich, mit mehreren Abschnitten und Unterabschnitten strukturiert, und zeigt keine Anzeichen für Platzhalter- oder reine Demo-Inhalte.
- Die operative Klarheit ist durch fehlende unterstützende Dateien, Skripte, Referenzen oder explizite Audit-Verfahren eingeschränkt, sodass Agents die Ausführungsschritte teils weiterhin selbst ableiten müssen.
- Es werden weder Installationsbefehl noch Repository- oder Dateiverweise bereitgestellt, was das Vertrauen von Nutzern mindert, die einen klar paketierten, toolgestützten Skill erwarten.
Überblick über den solidity-security Skill
Wofür solidity-security gedacht ist
Der solidity-security Skill ist ein fokussierter Leitfaden für Audits und sicheres Coding von Solidity Smart Contracts. Er eignet sich besonders, wenn du einen Agenten Vertragslogik auf typische Exploit-Klassen prüfen lassen, sicherere Muster vorschlagen und erklären lassen willst, warum ein Design riskant ist, bevor Code in Produktion geht oder in ein formales Audit wandert.
Wer diesen Skill installieren sollte
Dieser Skill passt gut für:
- Solidity-Entwickler, die Contracts auf Mainnet oder Testnets deployen
- Auditoren, die eine erste Prüfung durchführen
- Teams, die DeFi-, Token-, Vault- oder admin-gesteuerte Contracts für ein externes Security Audit vorbereiten
- Engineers, die strukturierteres Security-Feedback möchten als mit einem generischen Prompt wie „review this code“
Weniger nützlich ist er für Nicht-EVM-Projekte oder rein protokollökonomische Analysen.
Der eigentliche Job-to-be-done
Nutzer wollen nicht einfach nur eine Liste von Schwachstellen. Sie brauchen Unterstützung dabei, grobe Ziele wie „prüfe diesen Vault auf Reentrancy- und Privilegien-Probleme“ in einen wiederholbaren Review-Workflow zu übersetzen, der Exploit-Pfade, sicherere Implementierungen und Prioritäten für die Behebung abdeckt. Genau hier ist solidity-security stärker als ein gewöhnlicher Prompt.
Was solidity-security anders macht
Der Skill ist bewusst eng gefasst und praxisnah. Statt allgemeiner Blockchain-Ratschläge konzentriert er sich auf typische Solidity-Fehlermuster wie:
- Reentrancy
- arithmetische Randfälle
- Fehler bei Access Control
- unsichere externe Aufrufe
- sicherheitsorientierte Implementierungsmuster
Damit ist er eine gute Wahl, wenn Präzision wichtiger ist als thematische Breite.
Was du vor der Einführung wissen solltest
Das Repository ist schlank aufgebaut: Der Skill-Inhalt steckt hauptsächlich in SKILL.md, ohne zusätzliche Regeln, Skripte oder Referenzdateien. Das erleichtert die schnelle Einführung, bedeutet aber auch, dass die Qualität der Ausgabe stark von deinem Kontext abhängt. Wenn du nur „audit this contract“ mitgibst, bekommst du eher generische Findings. Wenn du dagegen Zweck des Contracts, Threat Model, privilegierte Rollen und zentrale Funktionen lieferst, wird der solidity-security skill deutlich nützlicher.
So verwendest du den solidity-security Skill
So installierst du solidity-security
Installiere den Skill aus dem Repository mit einem skills-kompatiblen Client. Ein gängiges Muster ist:
npx skills add https://github.com/wshobson/agents --skill solidity-security
Wenn deine Agent-Plattform einen anderen Installationsmechanismus nutzt, füge den Skill von hier hinzu:
https://github.com/wshobson/agents/tree/main/plugins/blockchain-web3/skills/solidity-security
Was du im Repository zuerst lesen solltest
Starte mit:
plugins/blockchain-web3/skills/solidity-security/SKILL.md
Da dieser Skill in seinem Ordner keine ergänzende README.md, kein rules/ und keine references/ enthält, ist SKILL.md die komplette Bedienungsanleitung. Lies zuerst die Abschnitte „When to Use This Skill“ und die Vulnerability-Teile, um den Review-Fokus des Skills zu verstehen.
Welche Eingaben der Skill braucht, um gut zu funktionieren
Die Qualität der solidity-security usage hängt stark von konkretem Contract-Kontext ab. Gib nach Möglichkeit an:
- Solidity-Version
- Contract-Dateien oder zentrale Ausschnitte
- Zweck des Contracts
- Nutzerrollen und privilegierte Rollen
- Asset-Flows: wer einzahlt, abhebt, mintet, burnt, liquidiert, upgraded
- externe Integrationen: Oracles, ERC20s, Bridges, Router, Callbacks
- Annahmen über vertrauenswürdige Akteure
- welche Art von Output du willst: Quick Scan, tiefe Audit-Checkliste, Exploit-Szenarien oder Remediations
Ohne diese Informationen kann der Skill nur eine generische Schwachstellen-Erklärung liefern.
Die beste Prompt-Form für ein erstes Review
Ein starker Einstiegsprompt ist:
“Use the solidity-security skill to review these contracts for reentrancy, access control, unsafe external calls, arithmetic or accounting mistakes, and other high-severity issues. For each finding, include impact, exploit path, affected functions, and a concrete remediation. Distinguish confirmed issues from areas needing more context.”
Dieser Prompt funktioniert gut, weil er Folgendes klar einfordert:
- spezifische Klassen von Problemen
- priorisierten Output
- Exploit-Begründung
- Implementierungshinweise
- einen sauberen Umgang mit Unsicherheit
Wie du aus einem groben Ziel einen vollständigen Prompt machst
Schwacher Prompt:
- “Check this Solidity code.”
Besserer Prompt:
- “Use
solidity-securityfor Security Audit preparation on this vault contract. Focus on withdrawal flow, share accounting, admin powers, pausing, upgradeability assumptions, and external token interactions. Identify critical and high findings first, then list medium-risk hardening opportunities.”
Die bessere Variante grenzt den Scope auf geschäftskritische Angriffsflächen ein. Das erhöht das Signal und reduziert Fülltext.
Empfohlener Workflow für Audits mit solidity-security
Ein praxisnaher solidity-security guide-Ablauf ist:
- Lass dir aus dem Contract-Set zunächst eine Threat-Model-Zusammenfassung erstellen.
- Fordere anschließend eine Funktions-für-Funktion-Risikokarte an.
- Gehe dann tief in Pfade mit externen, zustandsändernden Calls.
- Prüfe rollenbeschränkte Funktionen und Initialisierungslogik.
- Lass dir für die wichtigsten Findings konkrete Remediation-Beispiele geben.
- Führe den Skill erneut auf gepatchtem Code aus und frage, welche Risiken übrig bleiben.
Dieser gestufte Workflow liefert in der Praxis meist bessere Ergebnisse, als eine einzige riesige Audit-Passage anzufordern.
Wichtige Review-Bereiche, die du hervorheben solltest
Wenn du solidity-security aufrufst, bitte den Agenten ausdrücklich, sich auf Folgendes zu konzentrieren:
- Withdrawal- und Payout-Funktionen
- Token-Interaktionen mit Callback-Risiko
- Role-Transfer- und Ownership-Logik
- Initialisierungs- und Upgrade-Pfade
- Accounting-Invarianten
- Oracle- oder Pricing-Abhängigkeiten
- Emergency Controls
- Annahmen rund um ERC20-Compliance
Gerade in diesen Bereichen übersehen oberflächliche Prompts oft relevante Risiken.
Was der Skill offenbar am besten abdeckt
Aus dem Quellinhalt lässt sich ableiten, dass der Skill besonders stark bei gängigen Solidity-Schwachstellenklassen und sicheren Implementierungsmustern ist, insbesondere bei Reentrancy und verwandten defensiven Coding-Gewohnheiten wie checks-effects-interactions. Nutze ihn als sicherheitsorientierten Coding- und Review-Assistenten, nicht als Ersatz für formale Verifikation oder protokollweite ökonomische Modellierung.
Praktische Tipps, die die Ausgabequalität verbessern
Für bessere Ergebnisse bei der solidity-security usage:
- füge die exakten Funktionen ein, die Gelder bewegen
- markiere, welche Rollen vertrauenswürdig sind und welche extern kontrolliert werden
- erwähne, ob Contracts upgradeable sind oder über Proxys laufen
- frage nach Voraussetzungen für einen Exploit, nicht nur nach Bug-Namen
- verlange ein Severity-Ranking mit Begründung
- bitte das Modell, Code-Fakten von Annahmen zu trennen
Schon diese kleinen Ergänzungen verbessern die Entscheidungsqualität deutlich.
Was du von dem Skill nicht erwarten solltest
Erwarte nicht, dass der solidity-security skill automatisch:
- Tests ausführt
- deployten Bytecode inspiziert
- Invarianten mathematisch beweist
- ein vollständiges manuelles Security Audit ersetzt
- ecosystemspezifische Probleme erkennt, die du nie erwähnst
Am wirksamsten ist er als Experten-Gerüst für Reviews auf Basis des Code- und Architekturkontexts, den du bereitstellst.
solidity-security Skill FAQ
Ist solidity-security gut für die Vorbereitung auf ein Security Audit?
Ja. solidity-security for Security Audit ist ein starker Use Case, wenn du offensichtliche und auch moderat subtile Solidity-Probleme erkennen willst, bevor du für ein externes Audit bezahlst. Der Skill hilft Teams dabei, Code zu schärfen, Annahmen zu dokumentieren und mit weniger vermeidbaren Findings ins Audit zu gehen.
Ist das besser als ein generischer Prompt wie „audit my contract“?
In der Regel ja. Ein generischer Prompt liefert oft nur eine Boilerplate-Liste typischer Smart-Contract-Risiken. Der solidity-security Skill gibt dem Agenten einen engeren Security-Rahmen, was den Fokus auf Exploit-Pfade, sichere Muster und konkrete Remediation-Details meist verbessert.
Ist solidity-security für Einsteiger geeignet?
Ja, mit Einschränkungen. Einsteiger können den Skill nutzen, um typische Angriffspfade in Solidity und sicherere Coding-Muster kennenzulernen. Er sollte aber nicht als vollständiger Lehrplan verstanden werden. Wenn du neu im Thema bist, bitte den Skill, jedes Finding in einfacher Sprache zu erklären und sichere Alternativen zu zeigen.
Wann passt solidity-security eher nicht?
Schwach geeignet ist er für:
- Nicht-Solidity-Chains
- Frontend-Wallet-Sicherheit
- Tokenomics-Design-Review
- Governance-Game-Theory
- Incident Response in Produktion ohne Code-Kontext
Für diese Aufgaben brauchst du eher einen breiteren Blockchain-Security-Prozess oder einen anderen spezialisierten Skill.
Kann er eine einzelne Datei prüfen oder braucht er eine ganze Codebase?
Er kann auch eine einzelne Datei prüfen, aber mit zusätzlichem Kontext werden die Ergebnisse besser. Ein Vault-Contract kann zum Beispiel ohne den Kontext von Token, Oracle, Access Control oder Proxy unauffällig wirken, obwohl entscheidende Annahmen an anderer Stelle liegen.
Deckt der Skill nur klassische Bugs ab?
Nein, aber klassische Bugs sind klar sein Schwerpunkt. Die stärkste Leistung kannst du bei bekannten Solidity-Implementierungsrisiken erwarten, weniger bei maßgeschneiderten protokollökonomischen Exploits. Wenn dich vor allem Insolvenzrisiken, Oracle-Manipulation oder Liquidationsdesign beschäftigen, solltest du das explizit dazusagen.
So verbesserst du den solidity-security Skill
Gib dem solidity-security Skill dein Threat Model direkt am Anfang
Der schnellste Weg, die Ausgabe von solidity-security zu verbessern, ist eine klare Definition von:
- Angreiferfähigkeiten
- vertrauenswürdigen Rollen
- geschützten Assets
- nicht akzeptablen Ergebnissen
Beispiel:
- “Assume any external user is adversarial, admin key is trusted but fallible, and loss of user deposits is the top-risk outcome.”
So priorisiert der Agent reale Probleme besser und verliert sich weniger in Stilfeedback.
Liefere Invarianten, nicht nur Code
Starke Eingaben enthalten Systemregeln wie:
- total shares should never exceed claimable assets
- only governance can change fee parameters
- user withdrawals must not depend on untrusted callbacks
Wenn du Invarianten mitlieferst, kann der Skill die Logik gegen das beabsichtigte Verhalten prüfen, statt nur nach Syntaxmustern zu suchen.
Bitte um Exploit-Narrative
Ein häufiger Schwachpunkt ist eine flache Liste von Findings ohne Beleg für ihre Relevanz. Das verbesserst du, indem du gezielt nach Folgendem fragst:
- Einstiegsvoraussetzung
- Angriffsschritte
- erwartete Auswirkungen
- ob das Problem realistisch oder nur theoretisch ist
Das zwingt den solidity-security skill, wie ein Auditor zu argumentieren statt wie ein Linter.
Formuliere Remediation-Anfragen konkret
Frage nicht nur „how to fix this?“, sondern gezielt nach:
- minimal patch
- safer design alternative
- tradeoffs of each fix
- whether the patch changes gas costs or UX
Spezifische Remediation-Prompts führen zu deutlich umsetzbareren Ergebnissen als allgemeine Secure-Coding-Ratschläge.
Führe den Skill auf gepatchtem Code erneut aus
Nach dem ersten Durchlauf solltest du die überarbeitete Funktion oder den überarbeiteten Contract erneut einfügen und fragen:
- welches Risiko beseitigt wurde
- welches Restrisiko bleibt
- ob der Fix neue Randfälle eingeführt hat
- welche Tests ergänzt werden sollten
Das ist eine der wertvollsten Methoden, die solidity-security install-Zeit nach der Einführung sinnvoll zu nutzen.
Häufige Fehlermuster, auf die du achten solltest
Auch mit dem Skill solltest du auf Folgendes achten:
- spekulative Schwachstellen werden zu stark dargestellt
- Annahmen in vererbten Contracts werden übersehen
- Details des Rollenmanagements werden ignoriert
- Standard-Reentrancy-Ratschläge werden gegeben, obwohl das tiefere Problem im Accounting-Design liegt
- alle externen Calls werden als gleich gefährlich behandelt
Du kannst diese Fehler reduzieren, indem du Vererbungs-Kontext mitgibst und das Modell bittest, für jede Aussage den exakten Funktionspfad zu nennen.
Bessere Prompts für tiefere Reviews mit solidity-security
Ein starker Prompt für die zweite Runde:
“Use solidity-security to review only the withdrawal, reward-claim, and admin-setter paths. Ignore gas micro-optimizations. For each issue, cite the function, state variable, attacker capability required, exploit sequence, and the safest realistic remediation for this codebase.”
Das funktioniert gut, weil es gleichzeitig Scope und Ausgabeformat klar begrenzt.
Kombiniere den Skill mit Tests und manueller Prüfung
Der beste Workflow ist nicht skill-only. Nutze solidity-security, um Hypothesen zu erzeugen, und überprüfe sie dann mit:
- Unit Tests
- Invariant Tests
- Fuzzing
- manueller Zeile-für-Zeile-Prüfung
Diese Kombination ist deutlich stärker als entweder normales Prompting oder rein statisches Lesen allein.
Woran du erkennst, ob der solidity-security Skill hilft
Der solidity-security guide funktioniert, wenn er dir hilft:
- die gefährlichsten Funktionen schneller zu identifizieren
- Exploitability klarer zu erklären
- bessere Patch-Kandidaten zu entwickeln
- präzisere Fragen für externe Auditoren vorzubereiten
- weniger auf generisches Prompt-Raten angewiesen zu sein
Wenn die Ausgabe nach zwei Iterationen immer noch vage bleibt, liegt die Ursache meist an fehlendem Contract-Kontext und nicht an der Installation selbst.
