
منصة تحليل ثابتة لرمز المصدر لعشاق أمن التطبيقات.

Grepmarx هو تطبيق ويب يوفر منصة واحدة لفهم وتحليل وتحديد الثغرات الأمنية بسرعة في قواعد الأكواد البرمجية الكبيرة والمجهولة.
قدرات SAST (اختبار أمان التحليل الثابت):
قدرات SCA (تحليل تكوين البرمجيات):
إضافات
| تخصيص الفحص | منصة العمل التحليلية | تحرير حزمة القواعد |
|---|---|---|
![]() | ![]() | ![]() |
Grepmarx مزود بتكوين ليعمل في Docker و Gunicorn.
تأكد من تثبيت docker-composer على النظام، وأن خدمة Docker قيد التشغيل. يمكن بعد ذلك تشغيل التطبيق بسهولة في حاوية Docker. الخطوات:
احصل على الكود
$ git clone https://github.com/Orange-Cyberdefense/grepmarx.git
$ cd grepmarx
تشغيل التطبيق في Docker
$ sudo docker-compose pull && sudo docker-compose build && sudo docker-compose up -d
زُر http://localhost:5000 في متصفحك. يجب أن يكون التطبيق قيد التشغيل.
Gunicorn 'Green Unicorn' هو خادم HTTP WSGI بلغة Python لأنظمة UNIX. تم توفير ملف تكوين supervisor لتشغيله مع عامل Celery المطلوب (المستخدم لترتيب فحوصات الأمان).
التثبيت باستخدام pip
$ pip install gunicorn supervisor
تشغيل التطبيق باستخدام binary gunicorn
$ supervisord -c supervisord.conf
زُر http://localhost:8001 في متصفحك. يجب أن يكون التطبيق قيد التشغيل.
لتشغيل فحص، ستحتاج إلى إضافة إدخال واحد على الأقل في Administration/Repository. فيما يلي بعض الأمثلة لمستودعات قواعد Semgrep/Opengrep التي يمكن استخدامها:
https://github.com/opengrep/opengrep-rules: المكتبة القياسية لقواعد Opengrephttps://github.com/patched-codes/semgrep-rules: مجموعة من قواعد Semgrep المرخصة بشكل مسموحhttps://github.com/trailofbits/semgrep-rules: قواعد semgrep التي طورتها Trail of Bitshttps://github.com/Decurity/semgrep-smart-contracts: قواعد semgrep تبحث عن أنماط الثغرات في العقود الذكيةhttps://github.com/0xdea/semgrep-rules: قواعد semgrep من 0xdeahttps://github.com/mindedsecurity/semgrep-rules-android-security: قواعد Semgrep المستمدة من OWASP MASTG خصيصًا لتطبيقات Androidhttps://github.com/akabe1/akabe1-semgrep-rules: مجموعة قواعد Semgrep المخصصة لـ akabe1https://github.com/s0rcy/semgrep-rules: مجموعة قواعد Semgrep الشخصية لـ s0rcy لتحليل الأمان والبحثتأكد من موافقتك والامتثال لملف الترخيص (LICENSE) لمستودعات القواعد التي تستخدمها!
في هذه المرحلة، كل ما عليك فعله هو إنشاء حزم قواعد وفقًا لاحتياجاتك ثم تشغيل فحوصاتك.
احصل على الكود
$ git clone https://github.com/Orange-Cyberdefense/grepmarx.git
$ cd grepmarx
تثبيت وحدات virtualenv
$ virtualenv env
$ source env/bin/activate
تثبيت وحدات Python
$ # SQLite Database (Development)
$ pip3 install -r requirements.txt
$ # OR with PostgreSQL connector (Production)
$ # pip install -r requirements-pgsql.txt
تثبيت متطلبات إضافية
# Dependency scan requirements (cdxgen)
$ sudo apt install -y npm openjdk-17-jdk maven gradle golang composer
$ sudo npm install -g @cyclonedx/cdxgen
# Application Inspector dependencies
$ sudo apt install -y dotnet-runtime-8.0
تأكد من أن إصدار nodejs >= 20.X، وإلا سيفشل cdxgen.
خادم Redis مطلوب لترتيب فحوصات الأمان. قم بتثبيت حزمة
redisباستخدام مدير حزم التوزيعة المفضل لديك، ثم:
$ redis-server
تعيين متغير البيئة FLASK_APP
$ export FLASK_APP=run.py
$ # Set up the DEBUG environment
$ # export FLASK_ENV=development
تشغيل عملية عامل Celery
قم بتغيير التوافقية لزيادة عدد الفحوصات المتزامنة
$ celery -A app.celery_worker.celery worker --pool=prefork --loglevel=info --detach --concurrency=1 -Q scans
تشغيل التطبيق (وضع التطوير)
$ # --host=0.0.0.0 - expose the app on all network interfaces (default 127.0.0.1)
$ # --port=5000 - specify the app port (default 5000)
$ flask run --host=0.0.0.0 --port=5000
الوصول إلى grepmarx في المتصفح: http://127.0.0.1:5000/
Grepmarx - مقدم من Orange Cyberdefense.