Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

फ़ीडसंपर्कगोपनीयता© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
evm-audit-helpers — स्मार्ट कॉन्ट्रैक्ट सुरक्षा ऑडिट के लिए Solidity स्निपेट्स और Foundry स्क्रिप्ट्स का संग्रह | Kitploit
उपकरण/GitLabGitLab/dannydoodlesstory/evm-audit-helpers
स्थैतिक विश्लेषणभेद्यता विश्लेषणकोड विश्लेषणDevSecOpsलर्निंग और शिक्षाचयनित संसाधन
GitLabdannydoodlesstory/evm-audit-helpers

evm-audit-helpers

स्मार्ट कॉन्ट्रैक्ट सुरक्षा ऑडिट के लिए Solidity स्निपेट्स और Foundry स्क्रिप्ट्स का संग्रह

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
रिपॉजिटरी देखें
231 महीना पहलेअभी तक समीक्षित नहीं
साझा करें

evm-audit-helpers

GitHub license
GitHub stars
Foundry version
Build Status


अवलोकन

evm-audit-helpers Solidity स्निपेट्स, Foundry स्क्रिप्ट्स और टेस्ट टेम्पलेट्स का एक चुनिंदा संग्रह है, जिसे EVM स्मार्ट‑कॉन्ट्रैक्ट सुरक्षा ऑडिट को तेज़ करने के लिए डिज़ाइन किया गया है। यह रिपॉजिटरी सामान्य ऑडिट चिंताओं जैसे कि रीएंट्रेंसी, स्टोरेज लेआउट बेमेल और गैस‑ऑप्टिमाइज़ेशन कमजोरियों के लिए पुन: प्रयोज्य बिल्डिंग ब्लॉक्स बंडल करता है, जिससे ऑडिटर और डेवलपर्स बॉयलर‑प्लेट के बजाय लॉजिक पर ध्यान केंद्रित कर सकते हैं।

मुख्य लक्ष्य:

  • ऑडिट तैयारी को तेज़ करें तैयार जाँचों और पैटर्न के साथ।
  • ऑडिट रिपोर्ट में स्थिरता सुनिश्चित करें मानक टेस्ट सूट प्रदान करके।
  • सीखने को सुगम बनाएं अच्छी तरह से प्रलेखित उदाहरणों और सर्वोत्तम‑अभ्यास दिशानिर्देशों के माध्यम से।

विशेषताएँ

श्रेणीविवरणप्राथमिक फ़ाइलें
रीएंट्रेंसी चेकर्ससहायक मॉडिफायर, nonReentrant पैटर्न और रनटाइम डिटेक्शन स्क्रिप्ट्स।src/helpers/Reentrancy.sol, scripts/reentrancy_check.sol
स्टोरेज लेआउट विश्लेषकस्टोरेज स्लॉट्स की तुलना करने, लेआउट आरेख उत्पन्न करने और असुरक्षित अपग्रेड का पता लगाने के लिए उपयोगिताएँ।src/helpers/StorageLayout.sol, scripts/storage_analyzer.sol
Foundry टेस्ट टेम्पलेट्ससामान्य कमजोरियों (एक्सेस कंट्रोल, अंकगणित, delegatecall, आदि) को कवर करने वाले बॉयलरप्लेट टेस्ट सूट।test/templates/*
गैस और ऑपकोड ऑडिटगैस उपयोग को प्रोफाइल करने और महंगे ऑपकोड्स को फ्लैग करने के लिए स्क्रिप्ट्स।scripts/gas_profiler.sol
रिपोर्टिंग सहायकJSON/Markdown रिपोर्टर जिन्हें CI डैशबोर्ड में पाइप किया जा सकता है।scripts/report_generator.sol
CI एकीकरणस्वचालित ऑडिट रन के लिए उदाहरण GitHub Actions वर्कफ़्लो।.github/workflows/ci.yml

सभी सहायक Solidity ^0.8.20 के लिए लिखे गए हैं और Foundry (forge, cast) के साथ संगत हैं।


त्वरित आरंभ

# 1️⃣ रिपॉजिटरी क्लोन करें
git clone https://github.com/your-org/evm-audit-helpers.git
cd evm-audit-helpers

# 2️⃣ Foundry इंस्टॉल करें (यदि पहले से इंस्टॉल नहीं है)
curl -L https://foundry.paradigm.xyz | bash
foundryup

# 3️⃣ निर्भरताएँ इंस्टॉल करें
forge install

# 4️⃣ डिफ़ॉल्ट टेस्ट सूट चलाएँ (रीएंट्रेंसी, स्टोरेज और गैस जाँच शामिल हैं)
forge test

टिप: CI‑अनुकूलित कंपाइलर सेटिंग्स का उपयोग करने के लिए अपने शेल में export FOUNDRY_PROFILE=ci जोड़ें।


उपयोग

1. रीएंट्रेंसी जाँच

// 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");
    }
}

संकलित कॉन्ट्रैक्ट पर रनटाइम डिटेक्टर चलाएँ:

forge script scripts/reentrancy_check.sol:ReentrancyChecker --rpc-url $RPC_URL --broadcast

2. स्टोरेज लेआउट विश्लेषण

# संकलित कॉन्ट्रैक्ट के स्टोरेज लेआउट का JSON विवरण उत्पन्न करें
cast abi-storage --contract MyUpgradeable.sol:MyUpgradeable > storage.json

# संदर्भ लेआउट के विरुद्ध तुलना करें (जैसे, पिछले संस्करण से)
forge script scripts/storage_analyzer.sol:StorageComparator \
    --sig "compare(string memory, string memory)" storage.json reference.json

स्क्रिप्ट बेमेल स्लॉट्स, संभावित शैडोइंग और @custom:oz-upgrades-unsafe-allow एनोटेशन के लिए सुझाव आउटपुट करेगी।

3. Foundry टेस्ट टेम्पलेट्स

अपने ऑडिट रिपॉजिटरी में एक टेम्पलेट कॉपी करें:

cp -r test/templates/reentrancy/ my-audit/tests/

ऑडिट के अधीन कॉन्ट्रैक्ट को इम्पोर्ट करने के लिए MyContract.t.sol संपादित करें और चलाएँ:

forge test --match-contract MyContract

4. CI एकीकरण

अपने रिपॉजिटरी में प्रदान किया गया वर्कफ़्लो जोड़ें:

# .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

वर्कफ़्लो स्वचालित रूप से विफलताओं को फ्लैग करेगा और PR टिप्पणी के रूप में एक markdown रिपोर्ट प्रकाशित करेगा।


योगदान

हम योगदान का स्वागत करते हैं! कृपया इन चरणों का पालन करें:

  1. रिपॉजिटरी को फोर्क करें और एक फीचर ब्रांच बनाएँ (git checkout -b feat/<name>).
  2. किसी भी नए हेल्पर या बग‑फिक्स के लिए टेस्ट लिखें। सभी नए कोड में 100% कवरेज होना चाहिए (forge coverage).
  3. लिंटिंग सूट चलाएँ (npm run lint – solhint और prettier का उपयोग करता है).
  4. एक स्पष्ट विवरण, संबंधित इश्यू का संदर्भ (यदि लागू हो) और एक संक्षिप्त ऑडिट‑उपयोग‑केस उदाहरण के साथ एक पुल रिक्वेस्ट सबमिट करें।

कोड शैली

  • Solidity: pragma solidity ^0.8.20;
  • आंतरिक फ़ंक्शनों के लिए snake_case का उपयोग करें, सार्वजनिक/बाहरी के लिए camelCase.
  • प्रत्येक सार्वजनिक कॉन्ट्रैक्ट/इंटरफ़ेस को NatSpec (///) के साथ दस्तावेज़ित करें।

विकास वातावरण

# लिंटिंग टूल्स इंस्टॉल करें
npm install

# solhint चलाएँ
npx solhint 'src/**/*.sol' 'test/**/*.sol'

# ऑटो‑फ़ॉर्मेट
npx prettier --write '**/*.sol'

लाइसेंस

evm-audit-helpers MIT लाइसेंस के अंतर्गत लाइसेंस प्राप्त है। विवरण के लिए LICENSE फ़ाइल देखें।


शुभ ऑडिटिंग!

टूल डाउनलोड करें