العودة إلى التحديثات
New releaseJul 29, 2026

slither v0.11.6

محلل ثابت لـ Solidity و Vyper

مشاركة

Slither، أداة التحليل الثابت للعقود الذكية

شعار إطار عمل Slither للتحليل الثابت

Build Status PyPI Slither - Read the Docs Slither - Wiki

انضم إلى سلاك Empire Hacking

Slack Status

- مناقشات ودعم

Slither هو إطار عمل للتحليل الثابت للعقود الذكية بلغة Solidity و Vyper، مكتوب بلغة Python3. يقوم بتشغيل مجموعة من كاشفات الثغرات الأمنية، ويطبع معلومات مرئية حول تفاصيل العقد، ويوفر واجهة برمجة تطبيقات لكتابة تحليلات مخصصة بسهولة. يمكّن Slither المطورين من العثور على الثغرات الأمنية، وتحسين فهمهم للكود، والنمذجة السريعة للتحليلات المخصصة.

الميزات

  • يكشف عن كود Solidity الضعيف مع نتائج إيجابية خاطئة منخفضة (انظر قائمة الجوائز)
  • يحدد مكان حدوث حالة الخطأ في الكود المصدري
  • يتكامل بسهولة مع التكامل المستمر وبنيات Hardhat/Foundry
  • 'طابعات' مدمجة تبلغ بسرعة عن معلومات العقد الحيوية
  • واجهة برمجة تطبيقات للكاشفات لكتابة تحليلات مخصصة بلغة Python
  • القدرة على تحليل العقود المكتوبة بلغة Solidity >= 0.4
  • التمثيل الوسيط (SlithIR) يتيح تحليلات بسيطة وعالية الدقة
  • يحل 99.9% من جميع كود Solidity العام بشكل صحيح
  • متوسط وقت التنفيذ أقل من ثانية واحدة لكل عقد
  • يتكامل مع فحص كود GitHub في CI
  • دعم العقود الذكية بلغة Vyper

الاستخدام

قم بتشغيل Slither على تطبيق Hardhat/Foundry/Dapp/Brownie:```console slither .

هذا هو الخيار المفضل إذا كان مشروعك يحتوي على تبعيات، حيث يعتمد Slither على إطار التجميع الأساسي لتجميع الكود المصدري. ومع ذلك، يمكنك تشغيل Slither على ملف واحد لا يستورد تبعيات:```console
slither tests/uninitialized.sol

كيفية التثبيت

ملاحظة يتطلب Slither بايثون 3.10+. إذا كنت لن تستخدم أحد أطر التجميع المدعومة، فأنت بحاجة إلى solc، مترجم Solidity؛ نوصي باستخدام solc-select للتبديل بسهولة بين إصدارات solc.

باستخدام uv (موصى به)

uv هو مدير حزم بايثون سريع أسرع من pip بمقدار 10-100 مرة.```console

Install uv if you haven't already

curl -LsSf https://astral.sh/uv/install.sh | sh

Install slither as a tool

uv tool install slither-analyzer

Or run slither without installation

uvx --from slither-analyzer slither

للترقية:```console
uv tool upgrade slither-analyzer

استخدام Pip```console

python3 -m pip install slither-analyzer

للتحديث:```console
python3 -m pip install --upgrade slither-analyzer

استخدام Brew```console

brew install slither-analyzer

### استخدام Git (التطوير)```bash
git clone https://github.com/crytic/slither.git && cd slither

# Install as editable for development
uv tool install -e .

# Or use uv run for testing without installation
uv run slither <target>

العلامة -e تقوم بالتثبيت في الوضع القابل للتحرير، مما يعني أن التغييرات على الكود المصدري تنعكس فورًا دون الحاجة إلى إعادة التثبيت.

استخدام Docker

استخدم صورة docker الخاصة بـ eth-security-toolbox. وهي تتضمن جميع أدوات الأمان الخاصة بنا وكل إصدار رئيسي من Solidity في صورة واحدة. سيتم تثبيت /home/share في /share داخل الحاوية.```bash docker pull trailofbits/eth-security-toolbox

لمشاركة دليل داخل الحاوية:```bash
docker run -it -v /home/share:/share trailofbits/eth-security-toolbox

التكامل

  • لتكامل GitHub Action، استخدم slither-action.
  • لتكامل pre-commit، استخدم (استبدل $GIT_TAG بالعلامة الحقيقية) ```YAML
  • لتوليد تقرير ماركداون، استخدم slither [target] --checklist.
  • لتوليد ماركداون مع تمييز الكود المصدري من GitHub، استخدم slither [target] --checklist --markdown-root https://github.com/ORG/REPO/blob/COMMIT/ (استبدل ORG و REPO و COMMIT)

الكاشفات

الفئات