
أداة CLI لفحص قواعد الأكواد بحثًا عن التشفير المعرض للخطر الكمومي
قم بمسح قاعدة الشيفرة الخاصة بك بحثًا عن التشفير المعرض للخطر الكمي قبل فوات الأوان.
البدء السريع • لماذا الاستعداد الكمي؟ • الاستخدام • مستويات المخاطر • CI/CD • حول
Crypto Scanner هي أداة سطر أوامر (CLI) تقوم بمسح قاعدة الشيفرة الخاصة بك بحثًا عن الخوارزميات التشفيرية وتنتج تقييمات مخاطر الضعف الكمي. تقوم بتحليل الشيفرة المصدرية وملفات التهيئة وشهادات X.509 لتحديد التشفير الذي سيتم كسره بواسطة الحواسيب الكمومية.
طوّر بواسطة Quantum Shield Labs — لمساعدة المؤسسات على الاستعداد لعصر ما بعد الكم.
من المتوقع ظهور الحواسيب الكمومية ذات الأهمية التشفيرية (CRQCs) القادرة على كسر RSA و ECC بحلول 2033. هذا ليس خيالًا علميًا - بل جدول زمني تستعد له الحكومات والمؤسسات الكبرى بنشاط.
يقوم الخصوم بالفعل بجمع البيانات المشفرة اليوم بقصد فك تشفيرها بمجرد توفر الحواسيب الكمومية. إذا كانت بياناتك ذات قيمة طويلة الأجل (سجلات الرعاية الصحية، البيانات المالية، الأسرار التجارية، الاتصالات الحكومية)، فهي معرضة للخطر بالفعل.
| التحدي | الواقع |
|---|---|
| تعقيد الترحيل | تستغرق قواعد الشيفرة الكبيرة 3-5+ سنوات للانتقال |
خوارزمية شور، عند تشغيلها على حاسوب كمي قوي بما يكفي، يمكنها تحليل الأعداد الصحيحة الكبيرة وحساب اللوغاريتمات المتقطعة بكفاءة. هذا يكسر:
لا يمكنك ترحيل ما لا تعرف أنه موجود. يوفر Crypto Scanner الجرد التشفيري الذي هو الخطوة الأولى الأساسية في أي برنامج استعداد كمي.
📘 اعرف المزيد: اقرأ دليل Quantum Shield Labs للحصول على إرشادات شاملة للترحيل.
احصل على أول مسح للضعف الكمي في أقل من 60 ثانية:
# التثبيت من PyPI
pip install crypto-scanner
# مسح مشروعك
crypto-scanner scan .
# إنشاء تقرير HTML تنفيذي
crypto-scanner scan . --html --output quantum-risk-report.html
هذا كل شيء. لديك الآن جرد تشفيري كامل لقاعدة الشيفرة الخاصة بك.
pip install crypto-scanner
git clone https://github.com/mbennett-labs/crypto-scanner.git
cd crypto-scanner
pip install -e .
# مسح دليل (إخراج JSON إلى stdout)
crypto-scanner scan <directory>
# عرض أنواع الملفات المدعومة وتصنيفات المخاطر
crypto-scanner info
# عرض الإصدار
crypto-scanner --version
# مسح مع إخراج مفصل
crypto-scanner scan ./src --verbose
# حفظ تقرير JSON إلى ملف
crypto-scanner scan . --output crypto-audit.json
# إنشاء تقرير HTML ذي علامة تجارية لأصحاب المصلحة
crypto-scanner scan . --html --output quantum-assessment.html
# استبعاد أدلة محددة
crypto-scanner scan . --exclude vendor --exclude legacy
# استبعاد أنماط الملفات
crypto-scanner scan . --exclude "*.test.js" --exclude "*.spec.ts"
# دمج الخيارات
crypto-scanner scan ./backend -v --exclude node_modules -o report.json
يتم استبعاد ما يلي تلقائيًا لتجنب مسح التبعيات:
.git, .svn, .hg # التحكم في الإصدارات
node_modules, vendor # تبعيات الحزم
__pycache__, .pytest_cache, .mypy_cache
.venv, venv, env # البيئات الافتراضية
dist, build, out # مخرجات البناء
.idea, .vscode # أدلة IDE
site-packages, third_party
الخوارزميات التي سيتم كسرها تمامًا بواسطة خوارزمية شور:
الخوارزميات ذات الثغرات الكلاسيكية المعروفة:
الخوارزميات الآمنة حاليًا ولكن يجب مراقبتها:
| ## منخفض — كاف أو مقاوم للكم
الخوارزميات التي توفر حماية كافية:
| الامتداد | التنسيق |
|---|---|
.pem | PEM مشفر |
.crt, .cer, .cert | شهادة |
.der | DER مشفر |
تنسيق الإخراج الافتراضي، مثالي للأتمتة وخطوط أنابيب CI/CD:
{
"scan_directory": "/path/to/project",
"scan_timestamp": "2026-02-06T10:30:00",
"scanner_version": "0.1.0",
"summary": {
"total_files_scanned": 150,
"total_findings": 23,
"critical_count": 5,
"high_count": 8,
"medium_count": 7,
"low_count": 3
},
"excluded_patterns": [".git", "node_modules", "..."],
"findings": [
{
"file_path": "/path/to/auth.py",
"line_number": 42,
"algorithm": "RSA",
"key_size": 2048,
"risk_level": "critical",
"description": "تم اكتشاف توليد مفتاح RSA",
"recommendation": "خطط للترحيل إلى خوارزميات ما بعد الكم (ML-KEM, ML-DSA)",
"context": "key = rsa.generate_private_key(public_exponent=65537, key_size=2048)"
}
]
}
تقرير احترافي مستقل مع علامة Quantum Shield Labs التجارية:
إنشاء باستخدام:
crypto-scanner scan . --html --output report.html
name: مسح الثغرات التشفيرية
on: [push, pull_request]
jobs:
crypto-scan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: إعداد Python
uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: تثبيت Crypto Scanner
run: pip install crypto-scanner
- name: تشغيل المسح التشفيري
run: crypto-scanner scan ./src --output crypto-report.json
- name: التحقق من النتائج الحرجة
run: |
CRITICAL=$(jq '.summary.critical_count' crypto-report.json)
if [ "$CRITICAL" -gt 0 ]; then
echo "::error::تم العثور على $CRITICAL خوارزمية حرجة معرضة للكم!"
jq '.findings[] | select(.risk_level == "critical")' crypto-report.json
exit 1
fi
- name: رفع التقرير
uses: actions/upload-artifact@v4
if: always()
with:
name: crypto-vulnerability-report
path: crypto-report.json
crypto-scan:
stage: security
image: python:3.12
script:
- pip install crypto-scanner
- crypto-scanner scan . --output crypto-report.json
- |
CRITICAL=$(jq '.summary.critical_count' crypto-report.json)
if [ "$CRITICAL" -gt 0 ]; then
echo "تم اكتشاف تشفير حرج معرض للكم!"
exit 1
fi
artifacts:
reports:
dotenv: crypto-report.json
paths:
- crypto-report.json
when: always
أضف إلى .pre-commit-config.yaml:
repos:
- repo: local
hooks:
- id: crypto-scanner
name: ماسح التشفير
entry: bash -c 'crypto-scanner scan . --output /tmp/crypto-scan.json && CRITICAL=$(jq ".summary.critical_count" /tmp/crypto-scan.json) && [ "$CRITICAL" -eq 0 ]'
language: system
pass_filenames: false
always_run: true
#!/bin/bash
# crypto-check.sh - فشل إذا تم العثور على ثغرات حرجة
set -e
crypto-scanner scan . --output /tmp/crypto-report.json
CRITICAL=$(jq '.summary.critical_count' /tmp/crypto-report.json)
HIGH=$(jq '.summary.high_count' /tmp/crypto-report.json)
echo "اكتمل المسح: $CRITICAL حرجة، $HIGH عالية المخاطر"
if [ "$CRITICAL" -gt 0 ]; then
echo "فشل: تم اكتشاف تشفير حرج معرض للكم!"
exit 1
fi
crypto-scanner/
├── src/crypto_scanner/
│ ├── cli.py # واجهة Typer CLI
│ ├── scanner.py # منطق التنسيق الأساسي
│ ├── models.py # نماذج بيانات Pydantic
│ ├── patterns.py # 50+ نمط كشف بالتعبير النمطي
│ ├── analyzers/ # محللات أنواع الملفات
│ │ ├── base.py # فئة أساسية مجردة
│ │ ├── source.py # محلل الشيفرة المصدرية (14 لغة)
│ │ ├── config.py # محلل ملفات التهيئة
│ │ └── certificate.py # محلل شهادات X.509
│ └── reporters/ # مولدات الإخراج
│ ├── json_reporter.py
│ └── html_reporter.py
└── tests/ # مجموعة اختبارات شاملة
SourceCodeAnalyzer — مطابقة الأنماط عبر 14 لغة برمجةConfigAnalyzer — تحليل YAML/JSON + مطابقة الأنماط لملفات التهيئةCertificateAnalyzer — تحليل X.509 لاستخراج الخوارزميات وأحجام المفاتيحالمساهمات مرحب بها! إليك كيفية البدء:
git clone https://github.com/mbennett-labs/crypto-scanner.git
cd crypto-scanner
pip install -e ".[dev]"
# تشغيل جميع الاختبارات
pytest tests/ -v
# تشغيل مع التغطية
pytest tests/ -v --cov=crypto_scanner --cov-report=html
يتم تعريف أنماط التشفير في src/crypto_scanner/patterns.py. يتضمن كل نمط:
git checkout -b feature/pattern-jadid)pytest tests/ -v)رخصة MIT — انظر LICENSE للتفاصيل.
Quantum Shield Labs يساعد المؤسسات على الاستعداد لعصر ما بعد الكم مع:
تم بناؤه بعناية بواسطة Quantum Shield Labs
| تحتوي تبعياتك على تشفير ضعيف لا تراه |
| التفويضات التنظيمية | معايير NIST للـ PQC (ML-KEM، ML-DSA) أصبحت نهائية الآن |
| موعد CNSA 2.0 النهائي | تتطلب NSA خوارزميات مقاومة للكم بحلول 2033 |
| الخيار | الاختصار | الوصف |
|---|
--html | إنشاء تقرير HTML بدلاً من JSON | |
--output | -o | حفظ التقرير إلى ملف (بدلاً من stdout) |
--verbose | -v | إظهار تقدم المسح التفصيلي |
--exclude | -e | أنماط استبعاد إضافية (قابلة للتكرار) |
--version | -V | عرض الإصدار والخروج |
| الخوارزمية | أحجام المفاتيح | التأثير الكمي | الإجراء الموصى به |
|---|
| RSA | الكل (1024-4096+) | مكسور تمامًا | الترحيل إلى ML-KEM + ML-DSA |
| ECDSA/ECC | جميع المنحنيات | مكسور تمامًا | الترحيل إلى ML-DSA |
| DH/ECDH | الكل | تبادل المفاتيح مكسور | الترحيل إلى ML-KEM |
| DSA | الكل | مكسور تمامًا | الترحيل إلى ML-DSA |
| الخوارزمية | المشكلة | الإجراء الموصى به |
|---|
| MD5 | هجمات التصادم، مكسور تمامًا | استبدال بـ SHA-3 أو SHA-256 |
| SHA-1 | تم إثبات هجمات التصادم | استبدال بـ SHA-256+ |
| DES | مفتاح 56 بت، مكسور بشكل تافه | استبدال بـ AES-256 |
| 3DES | هجمات المنتصف | استبدال بـ AES-256 |
| AES-128 | خوارزمية جروفر تقلل الأمان | الترقية إلى AES-256 |
| الخوارزمية | الحالة | الإجراء الموصى به |
|---|
| SHA-256 | آمن، جروفر يخفض إلى 128 بت | التخطيط للترحيل إلى SHA-3 |
| SHA-384 | آمن | مراقبة التطورات |
| SHA-512 | مقاومة كمومية جيدة | مراقبة التطورات |
| TLS 1.2 | آمن ولكنه متقدم في العمر | تفضيل TLS 1.3 |
| الخوارزمية | الحالة | ملاحظات |
|---|
| AES-256 | مقاوم للكم | أمان ما بعد الكم 128 بت |
| ChaCha20 | حديث، آمن | بديل جيد لـ AES |
| SHA-3 | أحدث معيار NIST | موصى به للمشاريع الجديدة |
| ML-KEM | ما بعد الكم (Kyber) | معيار NIST 2024 |
| ML-DSA | ما بعد الكم (Dilithium) | معيار NIST 2024 |
| الامتداد | اللغة |
|---|
.py, .pyw | Python |
.js, .mjs, .cjs | JavaScript |
.ts, .tsx | TypeScript |
.java | Java |
.go | Go |
.rs | Rust |
.c, .h, .cpp, .hpp | C/C++ |
.cs | C# |
.rb | Ruby |
.php | PHP |
.swift | Swift |
.kt, .kts | Kotlin |
.scala | Scala |
| الامتداد | التنسيق |
|---|
.yaml, .yml | YAML |
.json | JSON |
.toml | TOML |
.ini, .cfg, .conf, .config | INI/Config |
.env | متغيرات البيئة |