Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
semgrep-rules — विभिन्न भाषाओं में स्थैतिक कोड विश्लेषण, सुरक्षा कमजोरियों का पता लगाने और सुरक्षित कोडिंग प्रथाओं को लागू करने के लिए Semgrep नियमों का संग्रह। | Kitploit
उपकरण/GitHubGitHub/trailofbits/semgrep-rules
स्थैतिक विश्लेषणभेद्यता विश्लेषणकोड विश्लेषणDevSecOpsगलत कॉन्फ़िगरेशन
GitHubtrailofbits/semgrep-rules

semgrep-rules

विभिन्न भाषाओं में स्थैतिक कोड विश्लेषण, सुरक्षा कमजोरियों का पता लगाने और सुरक्षित कोडिंग प्रथाओं को लागू करने के लिए Semgrep नियमों का संग्रह।

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

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

सभी देखें →

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

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

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

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

Trail of Bits सार्वजनिक Semgrep नियम

यह रिपॉजिटरी Trail of Bits द्वारा विकसित और जनता के लिए उपलब्ध कराए गए Semgrep नियमों को समाहित करती है। ये हमारे निरंतर विकास प्रयासों का हिस्सा हैं और हमारे सुरक्षा ऑडिट, भेद्यता अनुसंधान, और आंतरिक परियोजनाओं में उपयोग किए जाते हैं। जैसे-जैसे हम नई तकनीकों की पहचान करेंगे, ये समय के साथ विकसित होते रहेंगे।

Semgrep मार्गदर्शन के लिए Testing Handbook देखें।

Semgrep का उपयोग करना

नियमों को चलाने का सबसे आसान तरीका Semgrep registry से चलाना है। ऐसा करने के लिए, अपने प्रोजेक्ट के रूट फ़ोल्डर पर जाएँ और निम्नलिखित चलाएँ:```shell $ semgrep --config "p/trailofbits"

root@kitploit:~
वैकल्पिक रूप से, आप इस रिपॉजिटरी को क्लोन कर सकते हैं, अपने प्रोजेक्ट के रूट फ़ोल्डर में नेविगेट कर सकते हैं, और नीचे दिए गए कमांड का उपयोग करके अलग-अलग नियम चला सकते हैं :```shell
$ semgrep --config /path/to/semgrep-rules/semgreprule.yml

क्लोन की गई रिपॉजिटरी से सभी नियम चलाने के लिए:```shell $ semgrep --config /path/to/semgrep-rules/ .

root@kitploit:~
## उपयोगी फ़्लैग

Semgrep आपकी `.gitignore` फ़ाइल में मौजूद फ़ाइलों को छोड़कर सभी समर्थित कोड फ़ाइलों पर चलेगा। यदि आप नियमों को आपकी `.gitignore` में शामिल फ़ाइलों सहित सभी फ़ाइलों और निर्देशिकाओं पर चलाना चाहते हैं, तो `--no-git-ignore` फ़्लैग जोड़ें।```shell
$ semgrep --config /path/to/semgrep-rules/ . --no-git-ignore

आप Semgrep को किसी भी पैटर्न से मेल खाने वाली फ़ाइलों और निर्देशिकाओं को अनदेखा करने के लिए भी कह सकते हैं। उदाहरण के लिए, यदि आप Semgrep को सभी Go टेस्ट फ़ाइलों को अनदेखा करने के लिए कहना चाहते हैं, तो आप निम्न चला सकते हैं:

root@kitploit:~
$ semgrep --config /path/to/semgrep-rules/ . --exclude='*_test.go'
```
परिणामों को फ़ाइल में आउटपुट करने के लिए `-o` का उपयोग करें:```shell
$ semgrep --config /path/to/semgrep-rules/hanging-goroutine.yml -o leaks.txt'
```
## नियम

### go

| ID | Playground | Impact | Confidence | Description |
| -- | :--------: | :----: | :--------: | ----------- |
| [eth-rpc-tracetransaction](https://github.com/trailofbits/semgrep-rules/blob/HEAD/go/eth-rpc-tracetransaction.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.go.eth-rpc-tracetransaction.eth-rpc-tracetransaction) | 🟥 | 🌕 | EVM लेन-देन या ब्लॉक से ट्रेस जानकारी निकालने के प्रयासों का पता लगाता है। एक्सचेंज या ब्रिज अनुप्रयोगों में, रिवर्टेड कॉल फ्रेम के दौरान स्थानांतरित मूल्यों की गणना होने से रोकने के लिए इन एंडपॉइंट्स को लपेटते हुए अतिरिक्त तर्क लागू किया जाना चाहिए। |
| [eth-txreceipt-status](https://github.com/trailofbits/semgrep-rules/blob/HEAD/go/eth-txreceipt-status.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.go.eth-txreceipt-status.eth-txreceipt-status) | 🟥 | 🌕 | यह पता लगाता है कि लेन-देन रसीद की स्थिति कब पढ़ी जाती है |
| [hanging-goroutine](https://github.com/trailofbits/semgrep-rules/blob/HEAD/go/hanging-goroutine.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.go.hanging-goroutine.hanging-goroutine) | 🟩 | 🌗 | गोरूटीन लीक |
| [invalid-usage-of-modified-variable](https://github.com/trailofbits/semgrep-rules/blob/HEAD/go/invalid-usage-of-modified-variable.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.go.invalid-usage-of-modified-variable.invalid-usage-of-modified-variable) | 🟧 | 🌘 | त्रुटि होने पर संभावित अनजाने में असाइनमेंट |
| [iterate-over-empty-map](https://github.com/trailofbits/semgrep-rules/blob/HEAD/go/iterate-over-empty-map.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.go.iterate-over-empty-map.iterate-over-empty-map) | 🟩 | 🌗 | खाली मैप पर संभवतः अनावश्यक पुनरावृत्ति |
| [missing-runlock-on-rwmutex](https://github.com/trailofbits/semgrep-rules/blob/HEAD/go/missing-runlock-on-rwmutex.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.go.missing-runlock-on-rwmutex.missing-runlock-on-rwmutex) | 🟧 | 🌗 | किसी फ़ंक्शन से लौटने से पहले `RWMutex` लॉक पर `RUnlock` का अभाव |
| [missing-unlock-before-return](https://github.com/trailofbits/semgrep-rules/blob/HEAD/go/missing-unlock-before-return.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.go.missing-unlock-before-return.missing-unlock-before-return) | 🟧 | 🌗 | किसी फ़ंक्शन से लौटने से पहले `mutex` अनलॉक का अभाव |
| [nil-check-after-call](https://github.com/trailofbits/semgrep-rules/blob/HEAD/go/nil-check-after-call.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.go.nil-check-after-call.nil-check-after-call) | 🟧 | 🌗 | संभावित nil डीरेफरेंस |
| [racy-append-to-slice](https://github.com/trailofbits/semgrep-rules/blob/HEAD/go/racy-append-to-slice.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.go.racy-append-to-slice.racy-append-to-slice) | 🟧 | 🌗 | कई गोरूटीन से `append` के समवर्ती कॉल |
| [racy-write-to-map](https://github.com/trailofbits/semgrep-rules/blob/HEAD/go/racy-write-to-map.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.go.racy-write-to-map.racy-write-to-map) | 🟧 | 🌗 | कई गोरूटीन में एक ही मैप पर समवर्ती लेखन |
| [servercodec-readrequestbody-unhandled-nil](https://github.com/trailofbits/semgrep-rules/blob/HEAD/go/servercodec-readrequestbody-unhandled-nil.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.go.servercodec-readrequestbody-unhandled-nil.servercodec-readrequestbody-unhandled-nil) | 🟩 | 🌘 | संभावित रूप से गलत `ServerCodec` इंटरफ़ेस कार्यान्वयन |
| [string-to-int-signedness-cast](https://github.com/trailofbits/semgrep-rules/blob/HEAD/go/string-to-int-signedness-cast.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.go.string-to-int-signedness-cast.string-to-int-signedness-cast) | 🟧 | 🌘 | इंटीजर अंडरफ्लो |
| [sync-mutex-value-copied](https://github.com/trailofbits/semgrep-rules/blob/HEAD/go/sync-mutex-value-copied.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.go.sync-mutex-value-copied.sync-mutex-value-copied) | 🟩 | 🌘 | वैल्यू रिसीवर के माध्यम से `sync.Mutex` की कॉपी |
| [unmarshal-tag-is-dash](https://github.com/trailofbits/semgrep-rules/blob/HEAD/go/unmarshal_tag_is_dash.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.go.unmarshal_tag_is_dash.unmarshal-tag-is-dash) | 🟧 | 🌘 |  |
| [unmarshal-tag-is-omitempty](https://github.com/trailofbits/semgrep-rules/blob/HEAD/go/unmarshal_tag_is_omitempty.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.go.unmarshal_tag_is_omitempty.unmarshal-tag-is-omitempty) | 🟩 | 🌘 |  |
| [unsafe-dll-loading](https://github.com/trailofbits/semgrep-rules/blob/HEAD/go/unsafe-dll-loading.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.go.unsafe-dll-loading.unsafe-dll-loading) | 🟥 | 🌘 | DLL हाईजैकिंग हमलों के प्रति संवेदनशील फ़ंक्शन का उपयोग |
| [waitgroup-add-called-inside-goroutine](https://github.com/trailofbits/semgrep-rules/blob/HEAD/go/waitgroup-add-called-inside-goroutine.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.go.waitgroup-add-called-inside-goroutine.waitgroup-add-called-inside-goroutine) | 🟧 | 🌗 | अनाम गोरूटीन के अंदर `sync.WaitGroup.Add` के कॉल |
| [waitgroup-wait-inside-loop](https://github.com/trailofbits/semgrep-rules/blob/HEAD/go/waitgroup-wait-inside-loop.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.go.waitgroup-wait-inside-loop.waitgroup-wait-inside-loop) | 🟧 | 🌗 | लूप के अंदर `sync.WaitGroup.Wait` के कॉल |

### python

| ID | Playground | Impact | Confidence | Description |
| -- | :--------: | :----: | :--------: | ----------- |
| [automatic-memory-pinning](https://github.com/trailofbits/semgrep-rules/blob/HEAD/python/automatic-memory-pinning.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.python.automatic-memory-pinning.automatic-memory-pinning) | 🟩 | 🌘 | `PyTorch` मेमोरी स्वचालित रूप से पिन नहीं की गई |
| [lxml-in-pandas](https://github.com/trailofbits/semgrep-rules/blob/HEAD/python/lxml-in-pandas.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.python.lxml-in-pandas.lxml-in-pandas) | 🟧 | 🌘 | pandas में `lxml` लोड करने से संभावित XXE हमले |
| [msgpack-numpy](https://github.com/trailofbits/semgrep-rules/blob/HEAD/python/msgpack-numpy.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.python.msgpack-numpy.msgpack-numpy) | 🟥 | 🌗 | पिकलिंग पर निर्भर फ़ंक्शन से संभावित मनमाना कोड निष्पादन |
| [numpy-distutils](https://github.com/trailofbits/semgrep-rules/blob/HEAD/python/numpy-distutils.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.python.numpy-distutils.numpy-distutils) | 🟩 | 🌘 | अप्रचलित `numpy.distutils` का उपयोग |
| [numpy-f2py-compile](https://github.com/trailofbits/semgrep-rules/blob/HEAD/python/numpy-f2py-compile.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.python.numpy-f2py-compile.numpy-f2py-compile) | 🟥 | 🌗 | `NumPy` `f2py` संकलन से संभावित मनमाना कोड निष्पादन |
| [numpy-in-pytorch-datasets](https://github.com/trailofbits/semgrep-rules/blob/HEAD/python/numpy-in-pytorch-datasets.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.python.numpy-in-pytorch-datasets.numpy-in-pytorch-datasets) | 🟩 | 🌘 | `Torch` डेटासेट के अंदर `NumPy` RNG के कॉल |
| [numpy-in-pytorch-modules](https://github.com/trailofbits/semgrep-rules/blob/HEAD/python/numpy-in-pytorch-modules.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.python.numpy-in-pytorch-modules.numpy-in-pytorch-modules) | 🌫️ | 🌗 | `PyTorch` मॉड्यूल के अंदर `NumPy` फ़ंक्शन के उपयोग |
| [numpy-load-library](https://github.com/trailofbits/semgrep-rules/blob/HEAD/python/numpy-load-library.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.python.numpy-load-library.numpy-load-library) | 🟥 | 🌗 | `NumPy` लाइब्रेरी लोडिंग से संभावित मनमाना कोड निष्पादन |
| [onnx-session-options](https://github.com/trailofbits/semgrep-rules/blob/HEAD/python/onnx-session-options.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.python.onnx-session-options.onnx-session-options) | 🟥 | 🌗 | `ONNX` लाइब्रेरी लोडिंग से संभावित मनमाना कोड निष्पादन |
| [pandas-eval](https://github.com/trailofbits/semgrep-rules/blob/HEAD/python/pandas-eval.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.python.pandas-eval.pandas-eval) | 🟥 | 🌕 | उपयोगकर्ता-प्रदत्त एक्सप्रेशन का मूल्यांकन करने वाले `pandas` फ़ंक्शन से संभावित मनमाना कोड निष्पादन |
| [pickles-in-keras-deprecation](https://github.com/trailofbits/semgrep-rules/blob/HEAD/python/pickles-in-keras-deprecation.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.python.pickles-in-keras-deprecation.pickles-in-keras-deprecation) | 🟥 | 🌗 | Keras के load_model फ़ंक्शन से संभावित मनमाना कोड निष्पादन |
| [pickles-in-keras](https://github.com/trailofbits/semgrep-rules/blob/HEAD/python/pickles-in-keras.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.python.pickles-in-keras.pickles-in-keras) | 🟥 | 🌗 | Keras के load_model फ़ंक्शन से संभावित मनमाना कोड निष्पादन |
| [pickles-in-numpy](https://github.com/trailofbits/semgrep-rules/blob/HEAD/python/pickles-in-numpy.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.python.pickles-in-numpy.pickles-in-numpy) | 🟥 | 🌗 | पिकलिंग पर निर्भर `NumPy` फ़ंक्शन से संभावित मनमाना कोड निष्पादन |
| [pickles-in-pandas](https://github.com/trailofbits/semgrep-rules/blob/HEAD/python/pickles-in-pandas.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.python.pickles-in-pandas.pickles-in-pandas) | 🟥 | 🌗 | पिकलिंग पर निर्भर `Pandas` फ़ंक्शन से संभावित मनमाना कोड निष्पादन |
| [pickles-in-pytorch-distributed](https://github.com/trailofbits/semgrep-rules/blob/HEAD/python/pickles-in-pytorch-distributed.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.python.pickles-in-pytorch-distributed.pickles-in-pytorch-distributed) | 🟥 | 🌗 | पिकलिंग पर निर्भर `PyTorch.Distributed` फ़ंक्शन से संभावित मनमाना कोड निष्पादन |
| [pickles-in-pytorch](https://github.com/trailofbits/semgrep-rules/blob/HEAD/python/pickles-in-pytorch.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.python.pickles-in-pytorch.pickles-in-pytorch) | 🟥 | 🌗 | पिकलिंग पर निर्भर `PyTorch` फ़ंक्शन से संभावित मनमाना कोड निष्पादन |
| [pickles-in-tensorflow](https://github.com/trailofbits/semgrep-rules/blob/HEAD/python/pickles-in-tensorflow.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.python.pickles-in-tensorflow.pickles-in-tensorflow) | 🟥 | 🌗 | tensorflow के load फ़ंक्शन से संभावित मनमाना कोड निष्पादन |
| [pytorch-classes-load-library](https://github.com/trailofbits/semgrep-rules/blob/HEAD/python/pytorch-classes-load-library.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.python.pytorch-classes-load-library.pytorch-classes-load-library) | 🟥 | 🌗 | `PyTorch` लाइब्रेरी लोडिंग से संभावित मनमाना कोड निष्पादन |
| [pytorch-package](https://github.com/trailofbits/semgrep-rules/blob/HEAD/python/pytorch-package.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.python.pytorch-package.pytorch-package) | 🟥 | 🌕 | `torch.package` से संभावित मनमाना कोड निष्पादन |
| [pytorch-tensor](https://github.com/trailofbits/semgrep-rules/blob/HEAD/python/pytorch-tensor.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.python.pytorch-tensor.pytorch-tensor) | 🌫️ | 🌘 | अनुचित टेंसर निर्माण से संभावित पार्सिंग समस्याएं और अक्षमता |
| [scikit-joblib-load](https://github.com/trailofbits/semgrep-rules/blob/HEAD/python/scikit-joblib-load.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.python.scikit-joblib-load.scikit-joblib-load) | 🟥 | 🌗 | पिकलिंग पर निर्भर `SciKit.Joblib` फ़ंक्शन से संभावित मनमाना कोड निष्पादन |
| [tarfile-extractall-traversal](https://github.com/trailofbits/semgrep-rules/blob/HEAD/python/tarfile-extractall-traversal.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.python.tarfile-extractall-traversal.tarfile-extractall-traversal) | 🟧 | 🌗 | `tarfile` के लिए `extractall` कॉल में संभावित पाथ ट्रैवर्सल |
| [tensorflow-load-library](https://github.com/trailofbits/semgrep-rules/blob/HEAD/python/tensorflow-load-library.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.python.tensorflow-load-library.tensorflow-load-library) | 🟥 | 🌗 | `TensorFlow` लाइब्रेरी लोडिंग से संभावित मनमाना कोड निष्पादन |
| [waiting-with-pytorch-distributed](https://github.com/trailofbits/semgrep-rules/blob/HEAD/python/waiting-with-pytorch-distributed.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.python.waiting-with-pytorch-distributed.waiting-with-pytorch-distributed) | 🟩 | 🌗 | अनुरोधों की प्रतीक्षा न करने पर संभावित `PyTorch` अपरिभाषित व्यवहार |

### rs

| ID | Playground | Impact | Confidence | Description |
| -- | :--------: | :----: | :--------: | ----------- |
| [panic-in-function-returning-result](https://github.com/trailofbits/semgrep-rules/blob/HEAD/rs/panic-in-function-returning-result.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.rs.panic-in-function-returning-result.panic-in-function-returning-result) | 🟩 | 🌘 | `Result` लौटाने वाले फ़ंक्शन में `unwrap` या `expect` को कॉल करना |

### javascript

| ID | Playground | Impact | Confidence | Description |
| -- | :--------: | :----: | :--------: | ----------- |
| [schema-directives](https://github.com/trailofbits/semgrep-rules/blob/HEAD/javascript/apollo-graphql/schema-directives.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.javascript.apollo-graphql.schema-directives.schema-directives) | 🟥 | 🌗 | अप्रचलित ApolloServer विकल्प 'schemaDirectives' का उपयोग |
| [use-of-graphql-upload](https://github.com/trailofbits/semgrep-rules/blob/HEAD/javascript/apollo-graphql/use-of-graphql-upload.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.javascript.apollo-graphql.use-of-graphql-upload.use-of-graphql-upload) | 🟧 | 🌕 | graphql-upload लाइब्रेरी का उपयोग |
| [v3-potentially-bad-cors](https://github.com/trailofbits/semgrep-rules/blob/HEAD/javascript/apollo-graphql/v3-cors-audit.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.javascript.apollo-graphql.v3-cors-audit.v3-potentially-bad-cors) | 🟧 | 🌕 | संभावित रूप से खराब CORS नीति |
| [v3-express-bad-cors](https://github.com/trailofbits/semgrep-rules/blob/HEAD/javascript/apollo-graphql/v3-cors-express.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.javascript.apollo-graphql.v3-cors-express.v3-express-bad-cors) | 🟥 | 🌗 | खराब CORS नीति |
| [v3-express-no-cors](https://github.com/trailofbits/semgrep-rules/blob/HEAD/javascript/apollo-graphql/v3-cors-express.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.javascript.apollo-graphql.v3-cors-express.v3-express-no-cors) | 🟩 | 🌘 | CORS नीति का अभाव |
| [v3-bad-cors](https://github.com/trailofbits/semgrep-rules/blob/HEAD/javascript/apollo-graphql/v3-cors.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.javascript.apollo-graphql.v3-cors.v3-bad-cors) | 🟥 | 🌗 | खराब CORS नीति |
| [v3-no-cors](https://github.com/trailofbits/semgrep-rules/blob/HEAD/javascript/apollo-graphql/v3-cors.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.javascript.apollo-graphql.v3-cors.v3-no-cors) | 🟩 | 🌘 | CORS नीति का अभाव |
| [v3-csrf-prevention](https://github.com/trailofbits/semgrep-rules/blob/HEAD/javascript/apollo-graphql/v3-csrf-prevention.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.javascript.apollo-graphql.v3-csrf-prevention.v3-csrf-prevention) | 🟧 | 🌘 | CSRF रोकथाम का अभाव |
| [v4-csrf-prevention](https://github.com/trailofbits/semgrep-rules/blob/HEAD/javascript/apollo-graphql/v4-csrf-prevention.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.javascript.apollo-graphql.v4-csrf-prevention.v4-csrf-prevention) | 🟧 | 🌘 | CSRF सुरक्षा अक्षम |

### ruby

| ID | Playground | Impact | Confidence | Description |
| -- | :--------: | :----: | :--------: | ----------- |
| [action-dispatch-insecure-ssl](https://github.com/trailofbits/semgrep-rules/blob/HEAD/ruby/action-dispatch-insecure-ssl.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.ruby.action-dispatch-insecure-ssl.action-dispatch-insecure-ssl) | 🟥 | 🌘 |  |
| [action-mailer-insecure-tls](https://github.com/trailofbits/semgrep-rules/blob/HEAD/ruby/action-mailer-insecure-tls.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.ruby.action-mailer-insecure-tls.action-mailer-insecure-tls) | 🟥 | 🌘 |  |
| [active-record-encrypts-misorder](https://github.com/trailofbits/semgrep-rules/blob/HEAD/ruby/active-record-encrypts-misorder.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.ruby.active-record-encrypts-misorder.active-record-encrypts-misorder) | 🟥 | 🌘 |  |
| [active-record-hardcoded-encryption-key](https://github.com/trailofbits/semgrep-rules/blob/HEAD/ruby/active-record-hardcoded-encryption-key.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.ruby.active-record-hardcoded-encryption-key.active-record-hardcoded-encryption-key) | 🟥 | 🌘 |  |
| [faraday-disable-verification](https://github.com/trailofbits/semgrep-rules/blob/HEAD/ruby/faraday-disable-verification.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.ruby.faraday-disable-verification.faraday-disable-verification) | 🟥 | 🌘 |  |
| [global-timeout](https://github.com/trailofbits/semgrep-rules/blob/HEAD/ruby/global-timeout.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.ruby.global-timeout.global-timeout) | 🟩 | 🌘 |  |
| [insecure-rails-cookie-session-store](https://github.com/trailofbits/semgrep-rules/blob/HEAD/ruby/insecure-rails-cookie-session-store.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.ruby.insecure-rails-cookie-session-store.insecure-rails-cookie-session-store) | 🟩 | 🌘 |  |
| [json-create-deserialization](https://github.com/trailofbits/semgrep-rules/blob/HEAD/ruby/json-create-deserialization.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.ruby.json-create-deserialization.json-create-deserialization) | 🟥 | 🌕 |  |
| [rails-cache-store-marshal](https://github.com/trailofbits/semgrep-rules/blob/HEAD/ruby/rails-cache-store-marshal.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.ruby.rails-cache-store-marshal.rails-cache-store-marshal) | 🟩 | 🌗 |  |
| [rails-cookie-attributes](https://github.com/trailofbits/semgrep-rules/blob/HEAD/ruby/rails-cookie-attributes.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.ruby.rails-cookie-attributes.rails-cookie-attributes) | 🟩 | 🌘 |  |
| [rails-params-json](https://github.com/trailofbits/semgrep-rules/blob/HEAD/ruby/rails-params-json.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.ruby.rails-params-json.rails-params-json) | 🟥 | 🌕 |  |
| [rest-client-disable-verification](https://github.com/trailofbits/semgrep-rules/blob/HEAD/ruby/rest-client-disable-verification.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.ruby.rest-client-disable-verification.rest-client-disable-verification) | 🟥 | 🌘 |  |
| [ruby-saml-skip-validation](https://github.com/trailofbits/semgrep-rules/blob/HEAD/ruby/ruby-saml-skip-validation.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.ruby.ruby-saml-skip-validation.ruby-saml-skip-validation) | 🟧 | 🌘 |  |
| [yaml-unsafe-load](https://github.com/trailofbits/semgrep-rules/blob/HEAD/ruby/yaml-unsafe-load.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.ruby.yaml-unsafe-load.yaml-unsafe-load) | 🟥 | 🌘 |  |

### hcl

| ID | Playground | Impact | Confidence | Description |
| -- | :--------: | :----: | :--------: | ----------- |
| [docker-hardcoded-password](https://github.com/trailofbits/semgrep-rules/blob/HEAD/hcl/nomad/docker-hardcoded-password.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.hcl.nomad.docker-hardcoded-password.docker-hardcoded-password) | 🟥 | 🌘 |  |
| [docker-privileged-mode](https://github.com/trailofbits/semgrep-rules/blob/HEAD/hcl/nomad/docker-privileged-mode.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.hcl.nomad.docker-privileged-mode.docker-privileged-mode) | 🟩 | 🌘 |  |
| [podman-tls-verify-disabled](https://github.com/trailofbits/semgrep-rules/blob/HEAD/hcl/nomad/podman-tls-verify-disabled.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.hcl.nomad.podman-tls-verify-disabled.podman-tls-verify-disabled) | 🟩 | 🌘 |  |
| [root-user](https://github.com/trailofbits/semgrep-rules/blob/HEAD/hcl/nomad/root-user.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.hcl.nomad.root-user.root-user) | 🟩 | 🌘 |  |
| [tls-hostname-verification-disabled](https://github.com/trailofbits/semgrep-rules/blob/HEAD/hcl/nomad/tls-hostname-verification-disabled.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.hcl.nomad.tls-hostname-verification-disabled.tls-hostname-verification-disabled) | 🟥 | 🌘 |  |
| [aws-oidc-role-policy-duplicate-condition](https://github.com/trailofbits/semgrep-rules/blob/HEAD/hcl/terraform/aws-oidc-role-policy-duplicate-condition.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.hcl.terraform.aws-oidc-role-policy-duplicate-condition.aws-oidc-role-policy-duplicate-condition) | 🟥 | 🌘 |  |
| [aws-oidc-role-policy-missing-sub](https://github.com/trailofbits/semgrep-rules/blob/HEAD/hcl/terraform/aws-oidc-role-policy-missing-sub.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.hcl.terraform.aws-oidc-role-policy-missing-sub.aws-oidc-role-policy-missing-sub) | 🟥 | 🌘 |  |
| [vault-hardcoded-token](https://github.com/trailofbits/semgrep-rules/blob/HEAD/hcl/terraform/vault-hardcoded-token.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.hcl.terraform.vault-hardcoded-token.vault-hardcoded-token) | 🟥 | 🌘 |  |
| [vault-skip-tls-verify](https://github.com/trailofbits/semgrep-rules/blob/HEAD/hcl/terraform/vault-skip-tls-verify.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.hcl.terraform.vault-skip-tls-verify.vault-skip-tls-verify) | 🟥 | 🌘 |  |

### jvm

| ID | Playground | Impact | Confidence | Description |
| -- | :--------: | :----: | :--------: | ----------- |
| [gc-call](https://github.com/trailofbits/semgrep-rules/blob/HEAD/jvm/gc-call.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.jvm.gc-call.gc-call) | 🟩 | 🌘 |  |
| [mongo-hostname-verification-disabled](https://github.com/trailofbits/semgrep-rules/blob/HEAD/jvm/mongo-hostname-verification-disabled.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.jvm.mongo-hostname-verification-disabled.mongo-hostname-verification-disabled) | 🟥 | 🌘 |  |

### yaml| ID | Playground | प्रभाव | विश्वास | विवरण |
| -- | :--------: | :----: | :--------: | ----------- |
| [apt-key-unencrypted-url](https://github.com/trailofbits/semgrep-rules/blob/HEAD/yaml/ansible/apt-key-unencrypted-url.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.yaml.ansible.apt-key-unencrypted-url.apt-key-unencrypted-url) | 🟥 | 🌘 |  |
| [apt-key-validate-certs-disabled](https://github.com/trailofbits/semgrep-rules/blob/HEAD/yaml/ansible/apt-key-validate-certs-disabled.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.yaml.ansible.apt-key-validate-certs-disabled.apt-key-validate-certs-disabled) | 🟥 | 🌘 |  |
| [apt-unencrypted-url](https://github.com/trailofbits/semgrep-rules/blob/HEAD/yaml/ansible/apt-unencrypted-url.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.yaml.ansible.apt-unencrypted-url.apt-unencrypted-url) | 🟥 | 🌘 |  |
| [dnf-unencrypted-url](https://github.com/trailofbits/semgrep-rules/blob/HEAD/yaml/ansible/dnf-unencrypted-url.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.yaml.ansible.dnf-unencrypted-url.dnf-unencrypted-url) | 🟥 | 🌘 |  |
| [dnf-validate-certs-disabled](https://github.com/trailofbits/semgrep-rules/blob/HEAD/yaml/ansible/dnf-validate-certs-disabled.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.yaml.ansible.dnf-validate-certs-disabled.dnf-validate-certs-disabled) | 🟥 | 🌘 |  |
| [get-url-unencrypted-url](https://github.com/trailofbits/semgrep-rules/blob/HEAD/yaml/ansible/get-url-unencrypted-url.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.yaml.ansible.get-url-unencrypted-url.get-url-unencrypted-url) | 🟥 | 🌘 |  |
| [get-url-validate-certs-disabled](https://github.com/trailofbits/semgrep-rules/blob/HEAD/yaml/ansible/get-url-validate-certs-disabled.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.yaml.ansible.get-url-validate-certs-disabled.get-url-validate-certs-disabled) | 🟥 | 🌘 |  |
| [rpm-key-unencrypted-url](https://github.com/trailofbits/semgrep-rules/blob/HEAD/yaml/ansible/rpm-key-unencrypted-url.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.yaml.ansible.rpm-key-unencrypted-url.rpm-key-unencrypted-url) | 🟥 | 🌘 |  |
| [rpm-key-validate-certs-disabled](https://github.com/trailofbits/semgrep-rules/blob/HEAD/yaml/ansible/rpm-key-validate-certs-disabled.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.yaml.ansible.rpm-key-validate-certs-disabled.rpm-key-validate-certs-disabled) | 🟥 | 🌘 |  |
| [unarchive-unencrypted-url](https://github.com/trailofbits/semgrep-rules/blob/HEAD/yaml/ansible/unarchive-unencrypted-url.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.yaml.ansible.unarchive-unencrypted-url.unarchive-unencrypted-url) | 🟥 | 🌘 |  |
| [unarchive-validate-certs-disabled](https://github.com/trailofbits/semgrep-rules/blob/HEAD/yaml/ansible/unarchive-validate-certs-disabled.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.yaml.ansible.unarchive-validate-certs-disabled.unarchive-validate-certs-disabled) | 🟥 | 🌘 |  |
| [wrm-cert-validation-ignore](https://github.com/trailofbits/semgrep-rules/blob/HEAD/yaml/ansible/wrm-cert-validation-ignore.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.yaml.ansible.wrm-cert-validation-ignore.wrm-cert-validation-ignore) | 🟥 | 🌘 |  |
| [yum-unencrypted-url](https://github.com/trailofbits/semgrep-rules/blob/HEAD/yaml/ansible/yum-unencrypted-url.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.yaml.ansible.yum-unencrypted-url.yum-unencrypted-url) | 🟥 | 🌘 |  |
| [yum-validate-certs-disabled](https://github.com/trailofbits/semgrep-rules/blob/HEAD/yaml/ansible/yum-validate-certs-disabled.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.yaml.ansible.yum-validate-certs-disabled.yum-validate-certs-disabled) | 🟥 | 🌘 |  |
| [zypper-repository-unencrypted-url](https://github.com/trailofbits/semgrep-rules/blob/HEAD/yaml/ansible/zypper-repository-unencrypted-url.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.yaml.ansible.zypper-repository-unencrypted-url.zypper-repository-unencrypted-url) | 🟥 | 🌘 |  |
| [zypper-unencrypted-url](https://github.com/trailofbits/semgrep-rules/blob/HEAD/yaml/ansible/zypper-unencrypted-url.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.yaml.ansible.zypper-unencrypted-url.zypper-unencrypted-url) | 🟥 | 🌘 |  |
| [port-all-interfaces](https://github.com/trailofbits/semgrep-rules/blob/HEAD/yaml/docker-compose/port-all-interfaces.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.yaml.docker-compose.port-all-interfaces.port-all-interfaces) | 🟩 | 🌕 |  |
| [aws-secret-key](https://github.com/trailofbits/semgrep-rules/blob/HEAD/yaml/github-actions/aws-secret-key.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.yaml.github-actions.aws-secret-key.aws-secret-key) | 🟧 | 🌘 |  |
| [azure-principal-secret](https://github.com/trailofbits/semgrep-rules/blob/HEAD/yaml/github-actions/azure-principal-secret.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.yaml.github-actions.azure-principal-secret.azure-principal-secret) | 🟧 | 🌘 |  |
| [gcp-credentials-json](https://github.com/trailofbits/semgrep-rules/blob/HEAD/yaml/github-actions/gcp-credentials-json.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.yaml.github-actions.gcp-credentials-json.gcp-credentials-json) | 🟧 | 🌘 |  |
| [jfrog-hardcoded-credential](https://github.com/trailofbits/semgrep-rules/blob/HEAD/yaml/github-actions/jfrog-hardcoded-credential.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.yaml.github-actions.jfrog-hardcoded-credential.jfrog-hardcoded-credential) | 🟧 | 🌘 |  |
| [pypi-publish-password](https://github.com/trailofbits/semgrep-rules/blob/HEAD/yaml/github-actions/pypi-publish-password.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.yaml.github-actions.pypi-publish-password.pypi-publish-password) | 🟧 | 🌘 |  |
| [rubygems-publish-key](https://github.com/trailofbits/semgrep-rules/blob/HEAD/yaml/github-actions/rubygems-publish-key.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.yaml.github-actions.rubygems-publish-key.rubygems-publish-key) | 🟧 | 🌘 |  |
| [vault-token](https://github.com/trailofbits/semgrep-rules/blob/HEAD/yaml/github-actions/vault-token.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.yaml.github-actions.vault-token.vault-token) | 🟧 | 🌘 |  |


### generic

| ID | Playground | प्रभाव | विश्वास | विवरण |
| -- | :--------: | :----: | :--------: | ----------- |
| [amqp-unencrypted-transport](https://github.com/trailofbits/semgrep-rules/blob/HEAD/generic/amqp-unencrypted-transport.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.generic.amqp-unencrypted-transport.amqp-unencrypted-transport) | 🟥 | 🌘 |  |
| [container-privileged](https://github.com/trailofbits/semgrep-rules/blob/HEAD/generic/container-privileged.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.generic.container-privileged.container-privileged) | 🟥 | 🌗 |  |
| [container-user-root](https://github.com/trailofbits/semgrep-rules/blob/HEAD/generic/container-user-root.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.generic.container-user-root.container-user-root) | 🟥 | 🌗 |  |
| [curl-insecure](https://github.com/trailofbits/semgrep-rules/blob/HEAD/generic/curl-insecure.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.generic.curl-insecure.curl-insecure) | 🟥 | 🌗 |  |
| [curl-unencrypted-url](https://github.com/trailofbits/semgrep-rules/blob/HEAD/generic/curl-unencrypted-url.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.generic.curl-unencrypted-url.curl-unencrypted-url) | 🟥 | 🌗 |  |
| [gpg-insecure-flags](https://github.com/trailofbits/semgrep-rules/blob/HEAD/generic/gpg-insecure-flags.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.generic.gpg-insecure-flags.gpg-insecure-flags) | 🟥 | 🌗 |  |
| [installer-allow-untrusted](https://github.com/trailofbits/semgrep-rules/blob/HEAD/generic/installer-allow-untrusted.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.generic.installer-allow-untrusted.installer-allow-untrusted) | 🟥 | 🌘 |  |
| [mongodb-insecure-transport](https://github.com/trailofbits/semgrep-rules/blob/HEAD/generic/mongodb-insecure-transport.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.generic.mongodb-insecure-transport.mongodb-insecure-transport) | 🟥 | 🌘 |  |
| [mysql-insecure-sslmode](https://github.com/trailofbits/semgrep-rules/blob/HEAD/generic/mysql-insecure-sslmode.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.generic.mysql-insecure-sslmode.mysql-insecure-sslmode) | 🟥 | 🌗 |  |
| [node-disable-certificate-validation](https://github.com/trailofbits/semgrep-rules/blob/HEAD/generic/node-disable-certificate-validation.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.generic.node-disable-certificate-validation.node-disable-certificate-validation) | 🟥 | 🌘 |  |
| [openssl-insecure-flags](https://github.com/trailofbits/semgrep-rules/blob/HEAD/generic/openssl-insecure-flags.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.generic.openssl-insecure-flags.openssl-insecure-flags) | 🟥 | 🌗 |  |
| [postgres-insecure-sslmode](https://github.com/trailofbits/semgrep-rules/blob/HEAD/generic/postgres-insecure-sslmode.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.generic.postgres-insecure-sslmode.postgres-insecure-sslmode) | 🟥 | 🌘 |  |
| [redis-unencrypted-transport](https://github.com/trailofbits/semgrep-rules/blob/HEAD/generic/redis-unencrypted-transport.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.generic.redis-unencrypted-transport.redis-unencrypted-transport) | 🟥 | 🌘 |  |
| [ssh-disable-host-key-checking](https://github.com/trailofbits/semgrep-rules/blob/HEAD/generic/ssh-disable-host-key-checking.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.generic.ssh-disable-host-key-checking.ssh-disable-host-key-checking) | 🟥 | 🌗 |  |
| [tar-insecure-flags](https://github.com/trailofbits/semgrep-rules/blob/HEAD/generic/tar-insecure-flags.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.generic.tar-insecure-flags.tar-insecure-flags) | 🟥 | 🌗 |  |
| [wget-no-check-certificate](https://github.com/trailofbits/semgrep-rules/blob/HEAD/generic/wget-no-check-certificate.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.generic.wget-no-check-certificate.wget-no-check-certificate) | 🟥 | 🌗 |  |
| [wget-unencrypted-url](https://github.com/trailofbits/semgrep-rules/blob/HEAD/generic/wget-unencrypted-url.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.generic.wget-unencrypted-url.wget-unencrypted-url) | 🟥 | 🌗 |  |

### swift

| ID | Playground | प्रभाव | विश्वास | विवरण |
| -- | :--------: | :----: | :--------: | ----------- |
| [insecure-url-host-hassuffix-check](https://github.com/trailofbits/semgrep-rules/blob/HEAD/swift/insecure-url-host-hassuffix-check.yaml) | [🛝🔗](https://semgrep.dev/playground/r/trailofbits.swift.insecure-url-host-hassuffix-check.insecure-url-host-hassuffix-check) | 🌫️ | 🌘 |  |

## योगदान

पुल रिक्वेस्ट और मुद्दों का स्वागत है!

अधिक जानकारी के लिए [CONTRIBUTING.md](https://github.com/trailofbits/semgrep-rules/blob/HEAD/CONTRIBUTING.md) देखें।

## लाइसेंस

इस रिपॉजिटरी में परिभाषित नियम AGPLv3 के तहत लाइसेंस प्राप्त हैं।

साइडकार उदाहरण *अन्य कार्यों से व्युत्पन्न हो सकते हैं*, और आवश्यकता पड़ने पर अपने मूल लाइसेंस बनाए रखते हैं।
टूल डाउनलोड करें