
LLMs का उपयोग करके PDF, DOCX और TXT दस्तावेज़ों से संरचित साइबर खतरा खुफिया (CTI) निकालता है। MITRE ATT&CK हमले के प्रवाह, पता लगाने के अवसर और व्यापक इकाई-संबंध ग्राफ़ उत्पन्न करता है।
एक शक्तिशाली, स्टैंडअलोन कमांड-लाइन टूल जो उन्नत संरचित आउटपुट क्षमताओं वाले बड़े भाषा मॉडल (LLM) का उपयोग करके दस्तावेज़ों से साइबर खतरा खुफिया (CTI) निकालने के लिए है।
# Clone या standalone-tdo फ़ोल्डर डाउनलोड करें
cd standalone-tdo
# वर्चुअल वातावरण बनाएँ (अनुशंसित)
python -m venv .venv
source .venv/bin/activate # Windows पर: .venv\Scripts\activate
# निर्भरताएँ स्थापित करें
pip install -r requirements.txt
टूल कॉन्फ़िगरेशन के लिए .env फ़ाइल से लोड किए गए पर्यावरण चर का उपयोग करता है:
# उदाहरण कॉन्फ़िगरेशन कॉपी करें
cp env.example .env
# अपनी सेटिंग्स के साथ .env संपादित करें
# आवश्यक चर:
GEMINI_API_KEY=your-google-ai-api-key-here
GEMINI_MODEL=gemini-2.5-flash
Gemini API कुंजी प्राप्त करना:
.env फ़ाइल में कॉपी करेंउपलब्ध मॉडल:
gemini-2.5-flash-preview-05-20 (अनुशंसित - तेज़ और लागत प्रभावी)gemini-2.5-pro-preview-06-05 (अधिक शक्तिशाली, धीमा)# सभी सुविधाओं के साथ एक फ़ाइल प्रोसेस करें
python tdo_bulk.py report.pdf --flow --opps
# कई फ़ाइलें प्रोसेस करें
python tdo_bulk.py file1.pdf file2.docx file3.txt
# समानांतर कार्यकर्ताओं के साथ एक निर्देशिका में सभी फ़ाइलें प्रोसेस करें
python tdo_bulk.py reports/ -j 4
# मूल्यांकन के साथ व्यापक विश्लेषण उत्पन्न करें
python tdo_bulk.py report.pdf --flow --opps --eval-opps
usage: tdo_bulk.py [options] FILE [FILE ...]
Positional Arguments:
FILE प्रोसेस करने के लिए एक या अधिक फ़ाइलें या निर्देशिकाएँ
Core Options:
-o, --output DIR आउटपुट निर्देशिका (डिफ़ॉल्ट: ./extracted_data)
--csv FILE CSV फ़ाइल में सारांश निर्यात करें
-j, --jobs N समानांतर कार्यकर्ताओं की संख्या (डिफ़ॉल्ट: 1)
--retries N LLM पुनर्प्रयास संख्या (डिफ़ॉल्ट: 2)
--backoff SEC घातांकीय बैक-ऑफ़ आधार (डिफ़ॉल्ट: 1.5)
Analysis Features:
--flow Attack-Flow JSON उत्पन्न करें
--opps खतरा पहचान अवसर उत्पन्न करें
--eval-opps पहचान अवसरों की गुणवत्ता का मूल्यांकन करें
--debug-opps अवसर निर्माण के लिए डीबग जानकारी दिखाएँ
Output Control:
-q, --quiet न्यूनतम कंसोल आउटपुट
-v, --verbose डीबग-स्तरीय लॉगिंग
-h, --help सहायता संदेश दिखाएँ और बाहर निकलें
# बुनियादी CTI निष्कर्षण
python tdo_bulk.py threat_report.pdf
# सभी सुविधाओं के साथ पूर्ण विश्लेषण
python tdo_bulk.py apt_report.pdf --flow --opps --eval-opps
# समानांतर कार्यकर्ताओं के साथ बैच प्रसंस्करण
python tdo_bulk.py reports_folder/ -j 8 --flow --opps
# परिणाम CSV में निर्यात करें
python tdo_bulk.py *.pdf --csv results.csv
# ऑटोमेशन के लिए शांत मोड
python tdo_bulk.py reports/ -q -o /var/soc/cti --opps
प्रत्येक प्रोसेस की गई फ़ाइल के लिए, टूल उत्पन्न करता है:
{filename}_extracted.json: व्यापक स्कीमा के साथ संरचित CTI डेटा{filename}_{timestamp}.md: सभी विश्लेषण के साथ मानव-पठनीय मार्कडाउन रिपोर्ट--flow के साथ)--opps के साथ)| इकाई प्रकार | विवरण | मुख्य गुण |
|---|---|---|
| ThreatActor | साइबर खतरा समूह | aliases, primary_motivation, first_seen |
| Tool | वैध सॉफ़्टवेयर | family, capabilities, kill_chain_phases |
| Malware | दुर्भावनापूर्ण सॉफ़्टवेयर | family, capabilities, first_seen, last_seen |
| Technique | MITRE ATT&CK तकनीकें | id (T1234), description, kill_chain_phases |
| Tactic | MITRE ATT&CK रणनीतियाँ | id (TA0001), description |
| Infrastructure | IPs, डोमेन, URLs | type, tags, first_seen, last_seen |
| Indicator | फ़ाइल हैश, पैटर्न | value, pattern, valid_from, valid_until |
| Vulnerability | CVE प्रविष्टियाँ | id, cvss_score, affected_software |
| Campaign | नामित हमला अभियान | objective, status, first_seen |
| Identity | लक्ष्य संगठन | type, description |
| CourseOfAction | शमन, पैच | type, description |
| Source | दस्तावेज़ उत्पत्ति | filename, document_title, file_size_mb |
आरोपण और अभिनेता संबंध:
USES_TOOL, USES_TECHNIQUE, CONDUCTS, ATTRIBUTED_TO, TARGETSतकनीकी संबंध:
TOOL_IMPLEMENTS_TECHNIQUE, HOSTS_ON, COMMUNICATES_WITH, VARIANT_OFDROPS, DOWNLOADS, INDICATES, OBSERVED_ON, EXPLOITSउन्नत संबंध:
MITIGATES, DETECTS, IS_SUBTECHNIQUE_OF, FLOW_CONTAINS_STEPFLOW_USED_BY_ACTOR, OBSERVES, SOURCED_FROMसभी संबंध confidence, source, first_seen, last_seen जैसे गुणों का समर्थन करते हैं।
टूल साक्ष्य-आधारित पहचान अवसर उत्पन्न करता है:
{
"id": "opp-001",
"name": "पावरशेल प्रक्रिया इंजेक्शन का पता लगाएं",
"technique_id": "T1055",
"artefacts": ["WriteProcessMemory कॉल के साथ powershell.exe"],
"behaviours": ["वैध प्रक्रियाओं में प्रक्रिया इंजेक्शन"],
"rationale": "APT समूह आमतौर पर प्रक्रिया इंजेक्शन के लिए पावरशेल का उपयोग करते हैं",
"confidence": 0.8,
"source": "प्रक्रिया इंजेक्शन के लिए पावरशेल का उपयोग (T1055)",
"evidence": [
"• पावरशेल WriteProcessMemory कॉल निष्पादित करता है (पंक्ति 45)",
"• संबंध: ThreatActor USES_TECHNIQUE T1055"
]
}
उन्नत हमला प्रवाह प्रदान करता है:
{
"flow": {
"label": "AttackFlow",
"pk": "attack-flow--uuid",
"properties": {
"name": "APT29 बहु-चरणीय हमला",
"description": "डेटा निष्कासन प्रवाह के लिए परिष्कृत फ़िशिंग"
}
},
"steps": [
{
"order": 1,
"entity": {"label": "Technique", "pk": "T1566.001"},
"description": "फ़िशिंग अटैचमेंट वितरण",
"reason": "रिपोर्ट के अनुभाग 2.1 में उल्लिखित प्रारंभिक पहुँच विधि"
}
]
}
tdo_bulk.py)python-dotenv का उपयोग करके .env कॉन्फ़िगरेशन लोड करता हैtdo_bulk_runner.py)