Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
evm-audit-helpers — Sammlung von Solidity-Snippets und Foundry-Skripten für Smart-Contract-Sicherheitsaudits | Kitploit
Tools/GitLabGitLab/dannydoodlesstory/evm-audit-helpers
Statische AnalyseSchwachstellenanalyseCode-AnalyseDevSecOpsLernen & BildungKuratierte Ressourcen
GitLabdannydoodlesstory/evm-audit-helpers

evm-audit-helpers

Sammlung von Solidity-Snippets und Foundry-Skripten für Smart-Contract-Sicherheitsaudits

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Repository anzeigen
vor 2h 51mNoch nicht geprüft
Teilen

evm-audit-helpers

GitHub license
GitHub stars
Foundry version
Build Status


Überblick

evm-audit-helpers ist eine kuratierte Sammlung von Solidity-Snippets, Foundry-Skripten und Testvorlagen, die darauf ausgelegt ist, EVM-Smart-Contract-Sicherheitsaudits zu beschleunigen. Das Repository bündelt wiederverwendbare Bausteine für häufige Audit-Themen wie Reentrancy, Storage-Layout-Abweichungen und Gas-Optimierungs-Fallstricke, sodass sich Auditoren und Entwickler auf die Logik konzentrieren können, statt auf Boilerplate-Code.

Hauptziele:

  • Audit-Vorbereitung beschleunigen mit vorgefertigten Prüfungen und Mustern.
  • Konsistenz sicherstellen über Audit-Berichte hinweg durch standardisierte Test-Suiten.
  • Lernen erleichtern durch gut dokumentierte Beispiele und Best-Practice-Richtlinien.

Funktionen

KategorieBeschreibungPrimäre Dateien
Reentrancy-PrüferHilfs-Modifier, nonReentrant-Muster und Laufzeit-Erkennungsskripte.src/helpers/Reentrancy.sol, scripts/reentrancy_check.sol
Storage-Layout-AnalysatorHilfsprogramme zum Vergleichen von Storage-Slots, Erzeugen von Layout-Diagrammen und Erkennen unsicherer Upgrades.src/helpers/StorageLayout.sol, scripts/storage_analyzer.sol
Foundry-TestvorlagenBoilerplate-Test-Suiten für häufige Schwachstellen (Zugriffskontrolle, Arithmetik, delegatecall usw.).test/templates/*
Gas- und Opcode-AuditsSkripte zur Profilierung der Gas-Nutzung und Kennzeichnung teurer Opcodes.scripts/gas_profiler.sol
Berichts-HelferJSON/Markdown-Reporter, die in CI-Dashboards eingespeist werden können.scripts/report_generator.sol
CI-IntegrationBeispiel-GitHub-Actions-Workflow für automatisierte Audit-Läufe..github/workflows/ci.yml

Alle Helfer sind für Solidity ^0.8.20 geschrieben und mit Foundry (forge, cast) kompatibel.


Schnellstart

root@kitploit:~
# 1️⃣ Repository klonen
git clone https://github.com/your-org/evm-audit-helpers.git
cd evm-audit-helpers

# 2️⃣ Foundry installieren (falls noch nicht geschehen)
curl -L https://foundry.paradigm.xyz | bash
foundryup

# 3️⃣ Abhängigkeiten installieren
forge install

# 4️⃣ Standard-Test-Suite ausführen (enthält Reentrancy-, Storage- und Gas-Prüfungen)
forge test

Tipp: Fügen Sie export FOUNDRY_PROFILE=ci zu Ihrer Shell hinzu, um die CI-optimierten Compiler-Einstellungen zu verwenden.


Verwendung

1. Reentrancy-Prüfungen

root@kitploit:~
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

import "evm-audit-helpers/src/helpers/Reentrancy.sol";

contract MyVault is ReentrancyGuard {
    mapping(address => uint256) private balances;

    function deposit() external payable nonReentrant {
        balances[msg.sender] += msg.value;
    }

    function withdraw(uint256 amount) external nonReentrant {
        require(balances[msg.sender] >= amount, "Insufficient");
        balances[msg.sender] -= amount;
        (bool ok,) = msg.sender.call{value: amount}("");
        require(ok, "Transfer failed");
    }
}

Führen Sie den Laufzeit-Detektor für einen kompilierten Vertrag aus:

root@kitploit:~
forge script scripts/reentrancy_check.sol:ReentrancyChecker --rpc-url $RPC_URL --broadcast

2. Storage-Layout-Analyse

root@kitploit:~
# Eine JSON-Beschreibung des Storage-Layouts eines kompilierten Vertrags erzeugen
cast abi-storage --contract MyUpgradeable.sol:MyUpgradeable > storage.json

# Mit einem Referenz-Layout vergleichen (z. B. aus einer früheren Version)
forge script scripts/storage_analyzer.sol:StorageComparator \
    --sig "compare(string memory, string memory)" storage.json reference.json

Das Skript gibt abweichende Slots, mögliches Shadowing und Vorschläge für @custom:oz-upgrades-unsafe-allow-Annotationen aus.

3. Foundry-Testvorlagen

Kopieren Sie eine Vorlage in Ihr Audit-Repository:

root@kitploit:~
cp -r test/templates/reentrancy/ my-audit/tests/

Bearbeiten Sie MyContract.t.sol, um den zu prüfenden Vertrag zu importieren, und führen Sie dann aus:

root@kitploit:~
forge test --match-contract MyContract

4. CI-Integration

Fügen Sie den bereitgestellten Workflow zu Ihrem Repository hinzu:

root@kitploit:~
# .github/workflows/audit.yml
name: EVM Audit

on:
  push:
    branches: [main]
  pull_request:

jobs:
  audit:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Install Foundry
        run: curl -L https://foundry.paradigm.xyz | bash && foundryup
      - name: Run Audit Suite
        run: |
          forge install
          forge test -vv
          forge script scripts/reentrancy_check.sol:ReentrancyChecker --rpc-url ${{ secrets.RPC_URL }}
          forge script scripts/storage_analyzer.sol:StorageComparator --sig "compare(string,string)" storage.json reference.json

Der Workflow kennzeichnet Fehler automatisch und veröffentlicht einen Markdown-Bericht als PR-Kommentar.


Mitwirken

Wir freuen uns über Beiträge! Bitte befolgen Sie diese Schritte:

  1. Repository forken und einen Feature-Branch erstellen (git checkout -b feat/<name>).
  2. Tests schreiben für jeden neuen Helfer oder Bugfix. Neuer Code muss eine 100-prozentige Abdeckung aufweisen (forge coverage).
  3. Linting-Suite ausführen (npm run lint – verwendet solhint und prettier).
  4. Pull Request einreichen mit einer klaren Beschreibung, einem Verweis auf ein Issue (falls zutreffend) und einem kurzen Audit-Anwendungsfall-Beispiel.

Code-Stil

  • Solidity: pragma solidity ^0.8.20;
  • snake_case für interne Funktionen verwenden, camelCase für öffentliche/externe.
  • Jeden öffentlichen Vertrag/jede Schnittstelle mit NatSpec (///) dokumentieren.

Entwicklungsumgebung

root@kitploit:~
# Linting-Tools installieren
npm install

# solhint ausführen
npx solhint 'src/**/*.sol' 'test/**/*.sol'

# Automatische Formatierung
npx prettier --write '**/*.sol'

Lizenz

evm-audit-helpers ist unter der MIT-Lizenz lizenziert. Details finden Sie in der Datei LICENSE.


Viel Spaß beim Auditing!

Tool herunterladen