
ماسح ضوئي بسيط للثغرات الأمنية من نوع zero-day مدعوم بنماذج اللغة الكبيرة (LLM) بواسطة AISLE.
ماسح ثغرات من نوع zero-day يعمل بالـ LLM بشكل بسيط من AISLE.

نموذج أولي بحثي لأغراض العرض التوضيحي. هذا برنامج بسيط مكون من ملف واحد يمكنه اكتشاف ثغرات zero-day حقيقية. لاحظ أنه نموذج أولي، متحيز نحو أخطاء سلامة الذاكرة في C/C++، وسينتج نتائج إيجابية خاطئة. نحن نشاركه كما هو بروح البحث المفتوح — توقع وجود زوايا حادة.
نانو-محلل هو ماسح بسيط بلغة Python من ملف واحد يرسل الكود المصدري عبر سلسلة LLM من ثلاث مراحل:
يتم حفظ النتائج كملفات Markdown وJSON للمراجعة البشرية.
هذا نموذج أولي v0.1. يرجى مراعاة ما يلي:
rg) لاستعلامات grep في الفرزcsearch/cindex) لـ grep أسرع على المستودعات الكبيرةgit clone https://github.com/weareaisle/nano-analyzer.git
cd nano-analyzer
# No dependency installation needed. Run directly:
python3 scan.py --help
قم بتعيين مفتاح API كمتغير بيئة:
# For OpenAI models (model names without a slash, e.g. "gpt-5.4-nano"):
export OPENAI_API_KEY=sk-...
# For OpenRouter models (model names with a slash, e.g. "qwen/qwen3-32b"):
export OPENROUTER_API_KEY=sk-or-...
يحدد الماسح أي مفتاح يستخدم بناءً على اسم النموذج: إذا كان يحتوي على /، فإنه يمر عبر OpenRouter؛ وإلا فإنه يستخدم واجهة برمجة تطبيقات OpenAI مباشرة.
# Scan a single file
python3 scan.py ./path/to/file.c
# Scan a directory recursively
python3 scan.py ./path/to/src/
# Use a different model
python3 scan.py ./src --model gpt-5.4
# Control parallelism
python3 scan.py ./src --parallel 30
# Point triage grep at the full repo root (useful when scanning a subdirectory)
python3 scan.py ./lib/crypto/ --repo-dir ./
# Only surface high-confidence findings
python3 scan.py ./src --min-confidence 0.7
# More triage rounds for higher accuracy (default: 5)
python3 scan.py ./src --triage-rounds 7
يتم حفظ النتائج إلى ~/nano-analyzer-results/<timestamp>/ (أو --output-dir):
<timestamp>/
├── summary.json # ملخص المسح القابل للقراءة آليًا
├── summary.md # ملخص المسح القابل للقراءة البشرية
├── <filename>.md # مخرجات الماسح الخام لكل ملف
├── <filename>.context.md # إحاطة السياق لكل ملف
├── <filename>.json # بيانات النتائج الكاملة لكل ملف
├── triages/ # تفاصيل منطق الفرز
│ └── T0001_<file>_<title>.md
├── findings/ # النتائج التي نجت من الفرز
│ └── VULN-001_<file>.md
├── triage.json # جميع أحكام الفرز
└── triage_survivors.md # ملخص النتائج المؤكدة
عندما يجد المسح مشكلة خطورتها متوسطة أو أعلى، يتم تفعيل مسار الفرز:
يتم كتابة النتائج التي تنجو من الفرز إلى دليل findings/ مع سلاسل منطقية كاملة.
هذه الأداة هي نموذج أولي بحثي. إنها ليست بديلاً عن عمليات تدقيق الأمان المهنية، أو مراجعة الكود اليدوية، أو أدوات التحليل الثابت الراسخة. لا تعتمد عليها كتقييم أمان وحيد. استخدمها على مسؤوليتك الخاصة.
رخصة Apache 2.0
| Flag | Default | Description |
|---|
path | (required) | الملف أو الدليل المراد مسحه |
--model | gpt-5.4-nano | النموذج لجميع المراحل (السياق، المسح، الفرز) |
--parallel | 50 | أقصى عدد استعلامات API متزامنة للمسح |
--triage-threshold | medium | فرز النتائج بهذه الخطورة أو أعلى |
--triage-rounds | 5 | جولات الفرز لكل نتيجة |
--triage-parallel | 50 | أقصى عدد استعلامات API متزامنة للفرز |
--max-connections | parallel + triage-parallel | الحد الأقصى لإجمالي استعلامات API |
--min-confidence | 0.0 | عرض النتائج التي تزيد ثقتها عن هذا الحد فقط (0.0–1.0) |
--project | directory name | اسم المشروع المستخدم في موجّهات الفرز |
--repo-dir | auto | جذر المستودع لاستعلامات grep (تلقائي: المجلد الأصل للملفات، دليل المسح للمجلدات) |
--output-dir | ~/nano-analyzer-results/<timestamp>/ | مكان حفظ النتائج |
--max-chars | 200,000 | تخطي الملفات الأكبر من هذا الحجم |
--verbose-triage | off | عرض تقدم الفرز لكل جولة |