अपडेट पर वापस जाएँ
New releaseAug 23, 2026

detection-rules dev-v2.1.0

Elastic Security के लिए SIEM डिटेक्शन नियम विकसित करें, मान्य करें और प्रकाशित करें, जिसमें Python CLI टूलिंग, KQL पार्सिंग, Kibana एकीकरण और पैकेज्ड थ्रेट हंटिंग क्वेरी शामिल हैं।

साझा करें

Supported Python versions Unit Tests Chat ATT&CK navigator coverage

Detection Rules

Detection Rules, Elastic Security द्वारा उपयोग किए जाने वाले rules का घर है। इस रिपॉज़िटरी का उपयोग Elastic Security के Detection Engine के लिए rules के विकास, रखरखाव, परीक्षण, सत्यापन और रिलीज़ के लिए किया जाता है।

इस रिपॉज़िटरी की घोषणा सबसे पहले Elastic के ब्लॉग पोस्ट, Elastic Security ने सार्वजनिक detection rules रिपॉज़िटरी खोली में की गई थी। अतिरिक्त सामग्री के लिए, साथ में दिया गया वेबिनार देखें, Elastic Security: detection rules के लिए सार्वजनिक रिपॉज़िटरी का परिचय

विषय-सूची

इस रिपॉज़िटरी का अवलोकन

Detection Rules में केवल स्टैटिक rule फ़ाइलों से अधिक सामग्री है। इस रिपॉज़िटरी में Detections-as-code पाइपलाइन बनाने, Python में यूनिट टेस्टिंग और Kibana में Detection Engine के साथ एकीकरण के लिए कोड भी शामिल है।

फ़ोल्डरविवरण
detection_rules/rule पार्सिंग, सत्यापन और पैकेजिंग के लिए Python मॉड्यूल
etc/विविध फ़ाइलें, जैसे ECS और Beats स्कीमा तथा कॉन्फ़िगरेशन फ़ाइलें
hunting/रूट डायरेक्टरी जहाँ threat hunting पैकेज और क्वेरी संग्रहीत की जाती हैं
kibana/Kibana और Detection Engine के लिए API कॉल्स को संभालने हेतु Python लाइब्रेरी
kql/Kibana Query Language को पार्स और सत्यापित करने के लिए Python लाइब्रेरी
rules/रूट डायरेक्टरी जहाँ rules संग्रहीत होते हैं
rules_building_block/रूट डायरेक्टरी जहाँ building block rules संग्रहीत होते हैं
tests/rules के यूनिट परीक्षण के लिए Python कोड

आरंभ करना

हालाँकि rules को मैन्युअल रूप से .toml फ़ाइलें बनाकर जोड़ा जा सकता है, लेकिन हम इसकी अनुशंसा नहीं करते। इस रिपॉज़िटरी में एक Python मॉड्यूल भी शामिल है जो rule निर्माण और यूनिट परीक्षण में सहायता करता है। यदि आपके पास Python 3.12+ है, तो निर्भरताएँ (dependencies) स्थापित करने के लिए makefile का उपयोग करके नीचे दिया गया कमांड चलाएँ:

✗ make
python3.12 -m pip install --upgrade pip setuptools
Looking in indexes: https://pypi.org/simple
Requirement already satisfied: pip in /opt/homebrew/lib/python3.12/site-packages (24.0)
Requirement already satisfied: setuptools in /opt/homebrew/lib/python3.12/site-packages (69.1.1)
python3.12 -m venv ./env/detection-rules-build
./env/detection-rules-build/bin/pip install --upgrade pip setuptools
Looking in indexes: https://pypi.org/simple
Requirement already satisfied: pip in ./env/detection-rules-build/lib/python3.12/site-packages (24.0)
Collecting setuptools
  Using cached setuptools-69.1.1-py3-none-any.whl.metadata (6.2 kB)
Using cached setuptools-69.1.1-py3-none-any.whl (819 kB)
Installing collected packages: setuptools
Successfully installed setuptools-69.1.1
Installing kql and kibana packages...
...

या निम्न कमांड का उपयोग करके निर्भरताएँ स्थापित करें:

$ pip3 install ".[dev]"
Collecting jsl==0.2.4
  Downloading jsl-0.2.4.tar.gz (21 kB)
Collecting jsonschema==3.2.0
  Downloading jsonschema-3.2.0-py2.py3-none-any.whl (56 kB)
     |████████████████████████████████| 56 kB 318 kB/s
Collecting requests==2.22.0
  Downloading requests-2.22.0-py2.py3-none-any.whl (57 kB)
     |████████████████████████████████| 57 kB 1.2 MB/s
Collecting Click==7.0
  Downloading Click-7.0-py2.py3-none-any.whl (81 kB)
     |████████████████████████████████| 81 kB 2.6 MB/s
...

नोट: kibana और kql पैकेज PyPI पर उपलब्ध नहीं हैं और इन्हें lib डायरेक्टरी से स्थापित किया जाना चाहिए। hunting पैकेज में वैकल्पिक निर्भरताएँ हैं जिन्हें pip3 install ".[hunting]" के साथ स्थापित किया जाना है।


# Install from the repository
pip3 install git+https://github.com/elastic/detection-rules.git#subdirectory=lib/kibana
pip3 install git+https://github.com/elastic/detection-rules.git#subdirectory=lib/kql

# Or locally for development
pip3 install lib/kibana lib/kql

याद रखें, यदि आप वर्चुअल एनवायरनमेंट का उपयोग कर रहे हैं तो उसे सक्रिय करना सुनिश्चित करें। यदि make के माध्यम से स्थापित किया गया है, तो संबंधित वर्चुअल एनवायरनमेंट env/detection-rules-build/ में बनाया जाता है। यदि आपको Python 3.12 एनवायरनमेंट का उपयोग करने में परेशानी हो रही है, तो कृपया हमारी समस्या निवारण मार्गदर्शिका में प्रासंगिक अनुभाग देखें।

यह पुष्टि करने के लिए कि सब कुछ ठीक से स्थापित हो गया है, --help फ़्लैग के साथ चलाएँ

$  python -m detection_rules --help

Usage: detection_rules [OPTIONS] COMMAND [ARGS]...

  Commands for detection-rules repository.

Options:
  -D, --debug / -N, --no-debug  Print full exception stacktrace on errors
  -h, --help                    Show this message and exit.

Commands:
  build-limited-rules     Import rules from json, toml, or Kibana exported rule file(s), filter out unsupported ones, and write to output NDJSON file.
  build-threat-map-entry  Build a threat map entry.
  create-rule             Create a detection rule.
  custom-rules            Commands for supporting custom rules.
  dev                     Commands related to the Elastic Stack rules release lifecycle.
  es                      Commands for integrating with Elasticsearch.
  export-rules-from-repo  Export rule(s) and exception(s) into an importable ndjson file.
  generate-rules-index    Generate enriched indexes of rules, based on a KQL search, for indexing/importing into elasticsearch/kibana.
  import-rules-to-repo    Import rules from json, toml, or yaml files containing Kibana exported rule(s).
  kibana                  Commands for integrating with Kibana.
  mass-update             Update multiple rules based on eql results.
  normalize-data          Normalize Elasticsearch data timestamps and sort.
  rule-search             Use KQL or EQL to find matching rules.
  test                    Run unit tests over all of the rules.
  toml-lint               Cleanup files with some simple toml formatting.
  typosquat               Commands for generating typosquat detections.
  validate-all            Check if all rules validates against a schema.
  validate-rule           Check if a rule staged in rules dir validates against a schema.
  view-rule               View an internal rule or specified rule file.

नोट:

  • यदि आप वर्चुअल एनवायरनमेंट का उपयोग कर रहे हैं, तो उपरोक्त कमांड चलाने से पहले उसे सक्रिय करना सुनिश्चित करें।
  • यदि Windows का उपयोग कर रहे हैं, तो आपको अपने Python संस्करण के आधार पर <venv_directory>\Scripts\pywin32_postinstall.py -install भी चलाना पड़ सकता है।

योगदान मार्गदर्शिका बताती है कि Detection Rules में योगदान करते समय नया rule बनाने और उसका परीक्षण करने के लिए create-rule और test कमांड का उपयोग कैसे करें।

अधिक उन्नत कमांड लाइन इंटरफ़ेस (CLI) उपयोग के लिए, CLI मार्गदर्शिका देखें।

योगदान कैसे करें

हम Detection Rules में आपके योगदान का स्वागत करते हैं! योगदान देने से पहले, कृपया इस रिपॉज़िटरी, इसकी डायरेक्टरी संरचना, और rule निर्माण के बारे में हमारे philosophy से परिचित हों। जब आप योगदान देने के लिए तैयार हों, तो योगदान मार्गदर्शिका पढ़ें ताकि यह जान सकें कि हम detection विचारों को प्रोडक्शन rules में कैसे बदलते हैं और परीक्षण के साथ सत्यापित करते हैं।

Detections as Code (DaC)

Detection Rules रिपॉज़िटरी में कई कमांड शामिल हैं जो "as code" दर्शन के साथ rules प्रबंधित करने में सहायता करते हैं। रणनीतियों और अनुशंसित सेटअप जानकारी के लिए हमारे DaC विशिष्ट दस्तावेज़ीकरण से शुरुआत करने की अनुशंसा की जाती है। हालाँकि, यदि आप सीधे शुरू करना चाहते हैं, तो कृपया इस रिपॉज़िटरी को कस्टम rules के साथ उपयोग के लिए कॉन्फ़िगर करने की जानकारी हेतु हमारे स्थानीय detections as code दस्तावेज़ीकरण और custom rules दस्तावेज़ीकरण देखें, तथा rules आयात और निर्यात करने के कमांड की जानकारी के लिए हमारा CLI दस्तावेज़ीकरण देखें।

RTAs

हमलावर तकनीकों का अनुकरण करने और rules को सत्यापित करने के लिए उपयोग किए जाने वाले Red Team Automations (RTAs) समर्पित रिपॉज़िटरी - Cortado में पाए जा सकते हैं।

लाइसेंसिंग

इस रिपॉज़िटरी में सब कुछ — rules, कोड, आदि — Elastic License v2 के अंतर्गत लाइसेंस प्राप्त है। ये rules Elastic Security एप्लिकेशन के भीतर Detection Engine के संदर्भ में उपयोग के लिए डिज़ाइन किए गए हैं। यदि आप हमारी Elastic Cloud प्रबंधित सेवा या Elastic Stack सॉफ़्टवेयर के डिफ़ॉल्ट वितरण का उपयोग कर रहे हैं, जिसमें मुफ़्त सुविधाओं का पूरा सेट शामिल है, तो आपको detection engine में पहली बार नेविगेट करने पर नवीनतम rules मिलेंगे।

कभी-कभी, हम किसी अन्य रिपॉज़िटरी से ऐसे rules आयात करना चाह सकते हैं जिनके पास पहले से लाइसेंस है, जैसे MIT या Apache 2.0। यह स्वागत योग्य है, जब तक लाइसेंस Elastic License v2 के अंतर्गत सबलाइसेंसिंग की अनुमति देता है। हम उन लाइसेंस सूचनाओं को NOTICE.txt में रखते हैं और अन्य सभी rules के साथ Elastic License v2 के रूप में सबलाइसेंस करते हैं। हम योगदानकर्ताओं से किसी भी Elastic रिपॉज़िटरी में कोड योगदान करने से पहले योगदानकर्ता लाइसेंस समझौता पर हस्ताक्षर करने की भी आवश्यकता रखते हैं।

प्रश्न? समस्याएँ? सुझाव?

  • Detection Engine के बारे में अधिक जानना चाहते हैं? Kibana में अवलोकन देखें।
  • इस रिपॉज़िटरी में नए और अद्यतन rules शामिल हैं जो अभी तक रिलीज़ नहीं हुए हैं। स्टैक के साथ रिलीज़ किए गए नवीनतम rules देखने के लिए, Prebuilt rule संदर्भ देखें।
  • यदि आप कोई false positive या अन्य प्रकार का बग रिपोर्ट करना चाहते हैं, तो कृपया GitHub issue बनाएँ और पहले जाँच लें कि कोई मौजूदा issue तो नहीं है।
  • Detection Rules के साथ सहायता चाहिए? हमारे Security Discuss Forum में issue पोस्ट करें या Slack वर्कस्पेस के भीतर #security-detection-rules चैनल में पूछें।
  • DaC से संबंधित विशिष्ट मामलों के लिए, अधिक जानकारी हेतु कृपया हमारा support और scope दस्तावेज़ीकरण देखें।

श्रेणियाँ