Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

फ़ीडसंपर्कगोपनीयता© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
qlcoder — एजेंटिक फ्रेमवर्क फॉर सिंथेसाइज़िंग CodeQL क्वेरीज़ | Kitploit
उपकरण/GitHubGitHub/neuralprogram/qlcoder
स्थैतिक विश्लेषणभेद्यता स्कैनरभेद्यता विश्लेषणकोड विश्लेषणपेपर और शोधAI-सहायित रिवर्सिंग
GitHubneuralprogram/qlcoder

qlcoder

एजेंटिक फ्रेमवर्क फॉर सिंथेसाइज़िंग CodeQL क्वेरीज़

रिपॉजिटरी देखें
2871031 महीना पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

QLCoder

CodeQL क्वेरी संश्लेषित करने के लिए एजेंटिक फ्रेमवर्क

विषय-सूची

  • अवलोकन
  • स्थापना
    • डॉकर (अनुशंसित)
    • नेटिव (लिनक्स)
  • उपयोग
  • त्वरित प्रारंभ
  • विकास उपकरण
  • उदाहरण
  • पेपर वातावरण
  • योगदान
  • टीम
  • उद्धरण
  • संबद्ध परियोजनाएँ

अवलोकन

QLCoder Iterative Refinement

QLCoder एक फ्रेमवर्क है जो भेद्यता पहचान के लिए एंड-टू-एंड CodeQL क्वेरी संश्लेषित करने हेतु LLM का उपयोग करता है। किसी मौजूदा CVE के मेटाडेटा, LLM और कोडिंग एजेंट को देखते हुए, QLCoder मौजूदा CVE का पता लगाने के लिए एक CodeQL क्वेरी को पुनरावृत्त रूप से संश्लेषित करता है। प्रारंभिक क्वेरी एक CodeQL पाथ क्वेरी टेम्पलेट है जो डिफ के निकाले गए AST से भरा जाता है। क्वेरी संश्लेषित करते समय, कोडिंग एजेंट के पास RAG डेटाबेस और CodeQL भाषा सर्वर के साथ इंटरफेस करने के लिए उपकरणों तक पहुंच होती है। बाद में, क्वेरी का उपयोग मल्टीवेरिएंट विश्लेषण, रिग्रेशन परीक्षण, या CodeQL क्वेरी लिखने के लिए मार्गदर्शन के रूप में किया जा सकता है।

स्थापना

डॉकर (अनुशंसित)

चरण 1: CodeQL स्थापित करें

नोट - पेपर में CodeQL संस्करण 2.22.2 का उपयोग किया गया था। हालाँकि, कोई भी संस्करण (और भाषा) उपयोग किया जा सकता है। QLCoder स्थानीय CodeQL संस्करण के QL पैक को वेक्टर डेटाबेस में संग्रहीत करता है। पथ .env में कॉन्फ़िगर किए गए हैं।

CodeQL Action releases page से CodeQL Action बंडल का उपयुक्त संस्करण डाउनलोड करें।

  • नवीनतम संस्करण के लिए: नवीनतम रिलीज़ पर जाएँ और अपने OS के लिए उपयुक्त बंडल डाउनलोड करें:

    • macOS के लिए codeql-bundle-osx64.tar.gz
    • Linux के लिए codeql-bundle-linux64.tar.gz
  • किसी विशिष्ट संस्करण के लिए (जैसे, 2.22.2): CodeQL Action releases page पर जाएँ, codeql-bundle-v2.22.2 टैग की गई रिलीज़ खोजें, और अपने प्लेटफ़ॉर्म के लिए उपयुक्त बंडल डाउनलोड करें।

~/codeql में निकालें (या कोई अन्य पथ — तदनुसार .env में CODEQL_HOME अपडेट करें):

tar -xzf codeql-bundle-<platform>.tar.gz -C ~/

चरण 2: CodeQL LSP MCP सर्वर स्थापित करें

CodeQL LSP MCP server को क्लोन करें और इसे बिल्ड करें।

git clone https://github.com/neuralprogram/codeql-lsp-mcp ~/codeql-lsp-mcp
cd ~/codeql-lsp-mcp
npm install
npm run build

चरण 3: सेवाओं को कॉन्फ़िगर और प्रारंभ करें

cp .env.example .env
echo "APP_UID=$(id -u)" >> .env
echo "APP_GID=$(id -g)" >> .env

.env में अपनी API कुंजी और CodeQL पथ भरें:

ANTHROPIC_API_KEY=...

# QL पैक पथ आपके CodeQL संस्करण पर निर्भर करते हैं।
# संस्करण संख्याएँ खोजें:
#   ls ~/codeql/qlpacks/codeql/java-queries/   → SECURITY_QLPACK_PATH के लिए उपयोग करें
#   ls ~/codeql/qlpacks/codeql/java-all/        → LIBRARY_QLPACK_PATH के लिए उपयोग करें
SECURITY_QLPACK_PATH=~/codeql/qlpacks/codeql/java-queries/<version>/Security/CWE
LIBRARY_QLPACK_PATH=~/codeql/qlpacks/codeql/java-all/<version>/semmle/code/java

फिर QLCoder ऐप और ChromaDB प्रारंभ करें:

docker compose up -d

चरण 4: CVE रिपॉजिटरी प्राप्त करें

CVE को data/project_info.csv में सूचीबद्ध होना चाहिए। यह बगी कमिट पर रिपॉजिटरी को क्लोन करता है और फिक्स डिफ उत्पन्न करता है।

docker compose run --rm app python3 scripts/get_cve_repos.py --cve CVE-2025-27818
# या एक साथ कई:
docker compose run --rm app python3 scripts/get_cve_repos.py --cves CVE-2025-27818,CVE-2025-0851
# फ़ाइल से CVEs संसाधित करें (प्रति पंक्ति एक CVE ID)
docker compose run --rm app python3 scripts/get_cve_repos.py --cve-file cves.txt
# सभी CVEs संसाधित करें
docker compose run --rm app python3 scripts/get_cve_repos.py --all
# मौजूदा डिफ को पुनः उत्पन्न करने के लिए बलपूर्वक
docker compose run --rm app python3 scripts/get_cve_repos.py --cve CVE-2018-9159 --force

चरण 5: CodeQL डेटाबेस बनाएँ

डेटाबेस --build-mode=none के साथ बनाए जाते हैं — किसी बिल्ड टूलचेन की आवश्यकता नहीं है।

# किसी विशिष्ट CVE के CodeQL डेटाबेस बनाने के लिए
docker compose run --rm app python3 scripts/build_codeql_dbs.py --cve-id CVE-2025-27818

यह cves/CVE-2025-27818/CVE-2025-27818-vul और cves/CVE-2025-27818/CVE-2025-27818-fix बनाता है।

# सभी प्राप्त CVE रिपॉजिटरी के CodeQL डेटाबेस बनाने के लिए
docker compose run --rm app python3 scripts/build_codeql_dbs.py

चरण 6: RAG डेटाबेस भरें

वेक्टर डेटाबेस भरने के लिए ये स्क्रिप्ट चलाएँ। codeql_docs_fetcher.py और cwe_fetcher.py एक बार की सेटअप हैं; नए CVEs जोड़ने के बाद cves_fetcher.py को फिर से चलाया जाना चाहिए।

docker compose run --rm app python3 scripts/codeql_docs_fetcher.py
docker compose run --rm app python3 scripts/cwe_fetcher.py
docker compose run --rm app python3 scripts/cves_fetcher.py

नेटिव (लिनक्स)

चरण 1: CodeQL स्थापित करें

नोट - पेपर में CodeQL संस्करण 2.22.2 का उपयोग किया गया था। हालाँकि, कोई भी संस्करण (और भाषा) उपयोग किया जा सकता है। QLCoder स्थानीय CodeQL संस्करण के QL पैक को वेक्टर डेटाबेस में संग्रहीत करता है। पथ .env में कॉन्फ़िगर किए गए हैं।

CodeQL Action releases page से CodeQL Action बंडल का उपयुक्त संस्करण डाउनलोड करें।

  • नवीनतम संस्करण के लिए: नवीनतम रिलीज़ पर जाएँ और अपने OS के लिए उपयुक्त बंडल डाउनलोड करें:

    • Linux के लिए codeql-bundle-linux64.tar.gz
  • किसी विशिष्ट संस्करण के लिए (जैसे, 2.22.2): CodeQL Action releases page पर जाएँ, codeql-bundle-v2.22.2 टैग की गई रिलीज़ खोजें, और अपने प्लेटफ़ॉर्म के लिए उपयुक्त बंडल डाउनलोड करें।

डाउनलोड करने के बाद, प्रोजेक्ट रूट निर्देशिका में संग्रह निकालें:

tar -xzf codeql-bundle-<platform>.tar.gz

यह अंदर निष्पादन योग्य codeql के साथ एक उप-निर्देशिका codeql/ बनाना चाहिए।

इस निष्पादन योग्य का पथ अपने PATH पर्यावरण चर में जोड़ें:

export PATH="$PWD/codeql:$PATH"

चरण 2: CodeQL LSP MCP सर्वर स्थापित करें

CodeQL LSP MCP server को क्लोन करें और इसे बिल्ड करें।

git clone https://github.com/neuralprogram/codeql-lsp-mcp
cd codeql-lsp-mcp
npm install
npm run build

चरण 3: Conda वातावरण सेटअप करें

conda env create -f environment.yml
conda activate qlcoder

चरण 4: .env कॉन्फ़िगर करें

cp .env.example .env

.env में अपनी API कुंजी और CodeQL पथ भरें:

ANTHROPIC_API_KEY=...
CODEQL_HOME=~/codeql
CODEQL_LSP_MCP_HOME=~/codeql-lsp-mcp

# QL पैक पथ आपके CodeQL संस्करण पर निर्भर करते हैं।
# संस्करण संख्याएँ खोजें:
#   ls ~/codeql/qlpacks/codeql/java-queries/   → SECURITY_QLPACK_PATH के लिए उपयोग करें
#   ls ~/codeql/qlpacks/codeql/java-all/        → LIBRARY_QLPACK_PATH के लिए उपयोग करें
SECURITY_QLPACK_PATH=~/codeql/qlpacks/codeql/java-queries/<version>/Security/CWE
LIBRARY_QLPACK_PATH=~/codeql/qlpacks/codeql/java-all/<version>/semmle/code/java

चरण 5: CVE रिपॉजिटरी प्राप्त करें

CVE को data/project_info.csv में सूचीबद्ध होना चाहिए। यह बगी कमिट पर रिपॉजिटरी को क्लोन करता है और फिक्स डिफ उत्पन्न करता है।

python3 scripts/get_cve_repos.py --cve CVE-2025-27818
# या एक साथ कई:
python3 scripts/get_cve_repos.py --cves CVE-2025-27818,CVE-2025-0851
# फ़ाइल से CVEs संसाधित करें (प्रति पंक्ति एक CVE ID)
python3 scripts/get_cve_repos.py --cve-file cves.txt
# सभी CVEs संसाधित करें
python3 scripts/get_cve_repos.py --all
# मौजूदा डिफ को पुनः उत्पन्न करने के लिए बलपूर्वक
python3 scripts/get_cve_repos.py --cve CVE-2018-9159 --force

चरण 6: CodeQL डेटाबेस बनाएँ

डेटाबेस --build-mode=none के साथ बनाए जाते हैं — किसी बिल्ड टूलचेन की आवश्यकता नहीं है।

टूल डाउनलोड करें