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 لعمليات تدقيق أمان العقود الذكية

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
عرض المستودع
13منذ 20 أياملم تتم المراجعة بعد
مشاركة

أدوات مساعدة لتدقيق EVM

GitHub license
GitHub stars
Foundry version
Build Status


نظرة عامة

evm-audit-helpers هي مجموعة منسقة من مقتطفات Solidity، ونصوص Foundry، وقوالب اختبار مصممة لتسريع عمليات تدقيق أمان العقود الذكية على EVM. يضم المستودع لبنات بناء قابلة لإعادة الاستخدام لاهتمامات التدقيق الشائعة مثل إعادة الدخول (reentrancy)، وعدم تطابق تخطيط التخزين، ومزالق تحسين الغاز، مما يسمح للمدققين والمطورين بالتركيز على المنطق بدلاً من الكود التكراري.

الأهداف الرئيسية:

  • تسريع التحضير للتدقيق من خلال فحوصات وأنماط جاهزة.
  • ضمان الاتساق عبر تقارير التدقيق من خلال توفير مجموعات اختبار قياسية.
  • تسهيل التعلّم من خلال أمثلة موثقة جيداً وإرشادات أفضل الممارسات.

الميزات

الفئةالوصفالملفات الأساسية
فحوصات إعادة الدخولمعدّلات مساعدة، وأنماط nonReentrant، ونصوص اكتشاف وقت التشغيل.src/helpers/Reentrancy.sol, scripts/reentrancy_check.sol
محلل تخطيط التخزينأدوات لمقارنة فتحات التخزين، وإنشاء مخططات التخطيط، واكتشاف الترقيات غير الآمنة.src/helpers/StorageLayout.sol, scripts/storage_analyzer.sol
قوالب اختبار Foundryمجموعات اختبار جاهزة تغطي الثغرات الشائعة (التحكم في الوصول، الحسابات، delegatecall، إلخ).test/templates/*
تدقيق الغاز و Opcodeنصوص لتحليل استخدام الغاز وتحديد الـ opcodes المكلفة.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).


البدء السريع

root@kitploit:~
# 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

نصيحة: أضف export FOUNDRY_PROFILE=ci إلى شلّتك لاستخدام إعدادات المحول المُحسّنة لـ CI.


الاستخدام

1. فحوصات إعادة الدخول

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

تشغيل كاشف وقت التشغيل على عقد مُجمَّع:

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

2. تحليل تخطيط التخزين

root@kitploit:~
# إنشاء وصف 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

انسخ قالباً إلى مستودع التدقيق الخاص بك:

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

عدّل MyContract.t.sol لاستيراد العقد قيد التدقيق ثم شغّل:

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

4. تكامل CI

أضف سير العمل المقدم إلى مستودعك:

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

سيقوم سير العمل تلقائياً بالإشارة إلى حالات الفشل ونشر تقرير markdown كتعليق على الـ PR.


المساهمة

نرحب بالمساهمات! يرجى اتباع الخطوات التالية:

  1. قم بعمل Fork للمستودع وأنشئ فرع ميزة (git checkout -b feat/<name>).
  2. اكتب اختبارات لأي أداة جديدة أو إصلاح أخطاء. يجب أن تحقق جميع الأكواد الجديدة تغطية 100 ٪ (forge coverage).
  3. شغّل مجموعة الفحص اللغوي (npm run lint – تستخدم solhint و prettier).
  4. قدّم طلب سحب (Pull Request) مع وصف واضح، وإشارة إلى مشكلة (إن وجدت)، ومثال موجز لحالة استخدام التدقيق.

نمط الكود

  • Solidity: pragma solidity ^0.8.20;
  • استخدم snake_case للدوال الداخلية، وcamelCase للدوال العامة/الخارجية.
  • وثّق كل عقد/واجهة عامة باستخدام NatSpec (///).

بيئة التطوير

root@kitploit:~
# تثبيت أدوات الفحص اللغوي
npm install

# تشغيل solhint
npx solhint 'src/**/*.sol' 'test/**/*.sol'

# تنسيق تلقائي
npx prettier --write '**/*.sol'

الترخيص

evm-audit-helpers مرخّص بموجب رخصة MIT. راجع ملف LICENSE للحصول على التفاصيل.


تدقيق سعيد!

تنزيل الأداة