
AppSec उत्साही लोगों के लिए एक स्रोत कोड स्थैतिक विश्लेषण मंच।

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 'ग्रीन यूनिकॉर्न' UNIX के लिए एक Python WSGI HTTP सर्वर है। इसे आवश्यक Celery वर्कर (सुरक्षा स्कैन कतार के लिए उपयोग किया जाता है) के साथ शुरू करने के लिए एक सुपरवाइज़र कॉन्फ़िगरेशन फ़ाइल प्रदान की गई है।
pip का उपयोग करके स्थापित करें
$ pip install gunicorn supervisor
gunicorn बाइनरी का उपयोग करके ऐप शुरू करें
$ supervisord -c supervisord.conf
अपने ब्राउज़र में http://localhost:8001 पर जाएँ। ऐप चालू और चल रहा होना चाहिए।
स्कैन चलाने के लिए, आपको मैन्युअल रूप से Administration/Repository में कम से कम एक प्रविष्टि जोड़नी होगी। यहाँ Semgrep/Opengrep नियम भंडारों के कुछ उदाहरण दिए गए हैं जिनका उपयोग किया जा सकता है:
https://github.com/opengrep/opengrep-rules: Opengrep नियमों के लिए मानक पुस्तकालयhttps://github.com/patched-codes/semgrep-rules: अनुमति-युक्त Semgrep नियमों का संग्रहhttps://github.com/trailofbits/semgrep-rules: Trail of Bits द्वारा विकसित semgrep नियमhttps://github.com/Decurity/semgrep-smart-contracts: स्मार्ट कॉन्ट्रैक्ट में कमज़ोरियों के पैटर्न की तलाश करने वाले semgrep नियमhttps://github.com/0xdea/semgrep-rules: 0xdea द्वारा semgrep नियमhttps://github.com/mindedsecurity/semgrep-rules-android-security: OWASP MASTG से प्राप्त Semgrep नियम, विशेष रूप से Android एप्लिकेशन के लिएhttps://github.com/akabe1/akabe1-semgrep-rules: akabe1 के कस्टम Semgrep नियमों का संग्रहhttps://github.com/s0rcy/semgrep-rules: सुरक्षा विश्लेषण और अनुसंधान के लिए s0rcy के व्यक्तिगत Semgrep नियमों का संग्रहसुनिश्चित करें कि आप अपने द्वारा उपयोग किए जाने वाले नियम भंडारों की LICENSE फ़ाइल से सहमत हैं और उसका अनुपालन करते हैं!
इस चरण में, आपको बस अपनी आवश्यकताओं के अनुसार नियम पैक बनाने हैं और फिर अपने स्कैन लॉन्च करने हैं।
कोड प्राप्त करें
$ git clone https://github.com/Orange-Cyberdefense/grepmarx.git
$ cd grepmarx
virtualenv मॉड्यूल स्थापित करें
$ virtualenv env
$ source env/bin/activate
Python मॉड्यूल स्थापित करें
$ # SQLite डेटाबेस (विकास)
$ pip3 install -r requirements.txt
$ # या PostgreSQL कनेक्टर के साथ (उत्पादन)
$ # pip install -r requirements-pgsql.txt
अतिरिक्त आवश्यकताएँ स्थापित करें
# निर्भरता स्कैन आवश्यकताएँ (cdxgen)
$ sudo apt install -y npm openjdk-17-jdk maven gradle golang composer
$ sudo npm install -g @cyclonedx/cdxgen
# एप्लिकेशन इंस्पेक्टर निर्भरताएँ
$ sudo apt install -y dotnet-runtime-8.0
सुनिश्चित करें कि nodejs संस्करण >= 20.X है, अन्यथा cdxgen विफल हो जाएगा।
सुरक्षा स्कैन को कतारबद्ध करने के लिए रेडिस सर्वर आवश्यक है। अपने पसंदीदा डिस्ट्रो पैकेज मैनेजर के साथ
redisपैकेज स्थापित करें, फिर:
$ redis-server
FLASK_APP पर्यावरण चर सेट करें
$ export FLASK_APP=run.py
$ # DEBUG पर्यावरण सेट करें
$ # export FLASK_ENV=development
celery वर्कर प्रक्रिया शुरू करें
एक साथ स्कैन की संख्या बढ़ाने के लिए concurrency बदलें
$ celery -A app.celery_worker.celery worker --pool=prefork --loglevel=info --detach --concurrency=1 -Q scans
एप्लिकेशन शुरू करें (विकास मोड)
$ # --host=0.0.0.0 - सभी नेटवर्क इंटरफेस पर ऐप को एक्सपोज़ करें (डिफ़ॉल्ट 127.0.0.1)
$ # --port=5000 - ऐप पोर्ट निर्दिष्ट करें (डिफ़ॉल्ट 5000)
$ flask run --host=0.0.0.0 --port=5000
ब्राउज़र में grepmarx तक पहुँचें: http://127.0.0.1:5000/
Grepmarx - Orange Cyberdefense द्वारा प्रदान किया गया