
एप्लिकेशन सुरक्षा के लिए औपचारिक अंतर-प्रक्रियात्मक दूषण विश्लेषण इंजन। फ़ंक्शन सीमाओं, स्थायित्व परतों और अतुल्यकालिक कोड में अविश्वसनीय डेटा को ट्रैक करता है। नियतात्मक नियम पुनर्चालन के साथ AI-एजेंट के लिए तैयार। Semgrep Pro और CodeQL का ओपन-सोर्स विकल्प।
<p align="center">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="../../logos/opentaint-logo-dark.svg">
<source media="(prefers-color-scheme: light)" srcset="../../logos/opentaint-logo-light.svg">
<img src="https://raw.githubusercontent.com/seqra/opentaint/HEAD/logos/opentaint-logo-light.svg" alt="OpenTaint" height="100">
</picture>
</p>
<h3 align="center">AI युग के लिए ओपन सोर्स taint विश्लेषण इंजन</h3>
<p align="center">
एप्लिकेशन सुरक्षा के लिए औपचारिक taint विश्लेषण — AST-पैटर्न मैचर जो कुछ चूक जाते हैं उसे ढूँढता है, LLM एजेंटों को कमज़ोरियों को नियमों के रूप में लागू करने देता है, और वहाँ स्केल करता है जहाँ दोनों अकेले नहीं कर सकते।
</p>
<p align="center">
<a href="https://github.com/seqra/opentaint/releases"><img src="https://img.shields.io/github/release/seqra/opentaint.svg" alt="GitHub release"></a>
<a href="https://goreportcard.com/report/github.com/seqra/opentaint/cli"><img src="https://goreportcard.com/badge/github.com/seqra/opentaint/cli" alt="Go Report Card"></a>
<a href="https://github.com/seqra/opentaint/blob/main/LICENSE.md"><img src="https://img.shields.io/badge/License-Apache%202.0-blue.svg" alt="License: Apache 2.0"></a>
<a href="https://golang.org/"><img src="https://img.shields.io/badge/Go-1.25+-00ADD8?logo=go" alt="Go Version"></a>
<a href="https://discord.gg/6BXDfbP4p9"><img src="https://img.shields.io/discord/1403357427176575036?logo=discord&label=Discord" alt="Discord"></a>
</p>
<p align="center">
<a href="https://github.com/seqra/opentaint/blob/main/README.md">English</a> | <a href="https://github.com/seqra/opentaint/blob/main/docs/translations/README.zh.md">简体中文</a> | <a href="https://github.com/seqra/opentaint/blob/main/docs/translations/README.zht.md">繁體中文</a> | <a href="https://github.com/seqra/opentaint/blob/main/docs/translations/README.ko.md">한국어</a> | <a href="https://github.com/seqra/opentaint/blob/main/docs/translations/README.de.md">Deutsch</a> | <a href="https://github.com/seqra/opentaint/blob/main/docs/translations/README.es.md">Español</a> | <a href="https://github.com/seqra/opentaint/blob/main/docs/translations/README.fr.md">Français</a> | <a href="https://github.com/seqra/opentaint/blob/main/docs/translations/README.it.md">Italiano</a> | <a href="https://github.com/seqra/opentaint/blob/main/docs/translations/README.da.md">Dansk</a> | <a href="https://github.com/seqra/opentaint/blob/main/docs/translations/README.ja.md">日本語</a> | <a href="https://github.com/seqra/opentaint/blob/main/docs/translations/README.pl.md">Polski</a> | <a href="https://github.com/seqra/opentaint/blob/main/docs/translations/README.ru.md">Русский</a> | <a href="https://github.com/seqra/opentaint/blob/main/docs/translations/README.bs.md">Bosanski</a> | <a href="https://github.com/seqra/opentaint/blob/main/docs/translations/README.ar.md">العربية</a> | <a href="https://github.com/seqra/opentaint/blob/main/docs/translations/README.no.md">Norsk</a> | <a href="https://github.com/seqra/opentaint/blob/main/docs/translations/README.sv.md">Svenska</a> | <a href="https://github.com/seqra/opentaint/blob/main/docs/translations/README.br.md">Português (Brasil)</a> | <a href="https://github.com/seqra/opentaint/blob/main/docs/translations/README.th.md">ไทย</a> | <a href="https://github.com/seqra/opentaint/blob/main/docs/translations/README.tr.md">Türkçe</a> | <a href="https://github.com/seqra/opentaint/blob/main/docs/translations/README.ua.md">Українська</a> | <a href="https://github.com/seqra/opentaint/blob/main/docs/translations/README.bn.md">বাংলা</a> | <a href="https://github.com/seqra/opentaint/blob/main/docs/translations/README.hi.md">हिन्दी</a> | <a href="https://github.com/seqra/opentaint/blob/main/docs/translations/README.gr.md">Ελληνικά</a> | <a href="https://github.com/seqra/opentaint/blob/main/docs/translations/README.vi.md">Tiếng Việt</a> | <a href="https://github.com/seqra/opentaint/blob/main/docs/translations/README.id.md">Bahasa Indonesia</a>
</p>
<p align="center">
<a href="http://opentaint.org/">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="../../public/opentaint-demo-dark.gif">
<source media="(prefers-color-scheme: light)" srcset="../../public/opentaint-demo-light.gif">
<img src="https://assets.kitploit.com/production/public/readmes/13793/562b0290a09060eff941363dd673b805d145664f68b1074b35b7b670ede8cd66.gif" alt="OpenTaint taint विश्लेषण डेमो">
</picture>
</a>
</p>
<p align="center"><b>समर्थित तकनीकें और एकीकरण</b></p>
<p align="center">
<img src="https://raw.githubusercontent.com/seqra/opentaint/HEAD/logos/java-logo.svg" alt="Java" height="60">
<img src="https://raw.githubusercontent.com/seqra/opentaint/HEAD/logos/kotlin-logo.svg" alt="Kotlin" height="60">
<img src="https://raw.githubusercontent.com/seqra/opentaint/HEAD/logos/spring-boot-logo.svg" alt="Spring" height="60">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="../../logos/github-logo-dark.svg">
<source media="(prefers-color-scheme: light)" srcset="../../logos/github-logo-light.svg">
<img src="https://raw.githubusercontent.com/seqra/opentaint/HEAD/logos/github-logo-light.svg" alt="GitHub" height="60">
</picture>
<img src="https://raw.githubusercontent.com/seqra/opentaint/HEAD/logos/gitlab-logo.svg" alt="GitLab" height="60">
</p>
<p align="center"><i>Spring ऐप्स के लिए सबसे गहन taint विश्लेषण इंजन</i></p>
<p align="center"><b>रोडमैप</b></p>
<p align="center">
<img src="https://raw.githubusercontent.com/seqra/opentaint/HEAD/logos/python-logo.svg" alt="Python" height="60">
<img src="https://raw.githubusercontent.com/seqra/opentaint/HEAD/logos/go-logo.svg" alt="Go" height="60">
<img src="https://raw.githubusercontent.com/seqra/opentaint/HEAD/logos/csharp-logo.svg" alt="C#" height="60">
<img src="https://raw.githubusercontent.com/seqra/opentaint/HEAD/logos/javascript-logo.svg" alt="JavaScript" height="60">
<img src="https://raw.githubusercontent.com/seqra/opentaint/HEAD/logos/typescript-logo.svg" alt="TypeScript" height="60">
</p>
<div align="center">
<details>
<summary><b>और स्क्रीनशॉट</b></summary>
<p align="center">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="../../public/opentaint-frame-dark-1.png">
<source media="(prefers-color-scheme: light)" srcset="../../public/opentaint-frame-light-1.png">
<img src="https://assets.kitploit.com/production/public/readmes/13793/8d9998e1918080fb841ec0ad473f51269941b9b5536ff7ac24480a600ad2f648.png" alt="OpenTaint स्कैन आउटपुट">
</picture>
</p>
<p align="center">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="../../public/opentaint-frame-dark-2.png">
<source media="(prefers-color-scheme: light)" srcset="../../public/opentaint-frame-light-2.png">
<img src="https://assets.kitploit.com/production/public/readmes/13793/3f916c30b3f3b64064e428101084005a58f4ae3d988703946a899f6fb5f6f22a.png" alt="OpenTaint सारांश आउटपुट">
</picture>
</p>
<p align="center">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="../../public/opentaint-frame-dark-3.png">
<source media="(prefers-color-scheme: light)" srcset="../../public/opentaint-frame-light-3.png">
<img src="https://assets.kitploit.com/production/public/readmes/13793/a9f747d50d24686930d7fb97c3539bb8f34c42f3c24a79c7f21b8e1d55a7ba43.png" alt="OpenTaint सारांश आउटपुट">
</picture>
</p>
<p align="center">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="../../public/opentaint-frame-dark-4.png">
<source media="(prefers-color-scheme: light)" srcset="../../public/opentaint-frame-light-4.png">
<img src="https://assets.kitploit.com/production/public/readmes/13793/6f527df53125d8b57390c691e3ab37080b3ed7c6c0f9614af7dbbe4e7883c046.png" alt="OpenTaint सारांश आउटपुट">
</picture>
</p>
<p align="center">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="../../public/opentaint-frame-dark-5.png">
<source media="(prefers-color-scheme: light)" srcset="../../public/opentaint-frame-light-5.png">
<img src="https://assets.kitploit.com/production/public/readmes/13793/063464f019e0d1ec835eedd8e14fb1553c50030d193a8dc6739c079bce648126.png" alt="OpenTaint सारांश आउटपुट">
</picture>
</p>
</details>
</div>
---
## OpenTaint क्यों?
> OpenTaint *Semgrep Pro* और *CodeQL* का एक ओपन सोर्स विकल्प है — एक औपचारिक inter-procedural taint इंजन जिसे आप अनुकूलित और self-host कर सकते हैं, AI एजेंटों द्वारा आपके सुरक्षा विश्लेषण को संचालित करने के लिए बनाया गया, ताकि हर स्कैन पर टोकन खर्च किए बिना काम चल सके।
AI प्रोडक्शन कोड उससे कहीं तेज़ी से बनाता है जितनी सुरक्षा टीमें संभाल पाती हैं, और जो दो प्रकार के टूल इसे पकड़ने के लिए बने हैं, दोनों एक बुरा समझौता करवाते हैं:
- **AST-पैटर्न मैचर** (Semgrep OSS, ast-grep, लिंटर) मुफ़्त और तेज़ हैं, लेकिन ये सिंटैक्स मिलाते हैं, डेटा फ़्लो नहीं — अविश्वसनीय इनपुट जो फ़ंक्शन सीमा या persistence लेयर पार कर जाता है, सीधे निकल जाता है। गहरा inter-procedural विश्लेषण जो इसे *वास्तव में* पकड़ता है, लंबे समय से proprietary टूल्स के पीछे बंद रहा है।
- **LLM सुरक्षा एजेंट** वह ढूँढते हैं जो पैटर्न मैचर चूक जाते हैं, लेकिन हर रन में आपका कोड दोबारा पढ़ते हैं। हर फ़ाइल, हर commit, हर CI बिल्ड पर टोकन जमा होते हैं — और एक probabilistic मॉडल फिर भी यह गारंटी नहीं दे सकता कि उसने सब कुछ पकड़ लिया।
OpenTaint आपको static analyzer की लागत पर LLM एजेंट की गहराई देता है:
- **वह ढूँढें जो AST-पैटर्न मैचर चूक जाते हैं।** एक औपचारिक inter-procedural dataflow इंजन फ़ंक्शन सीमाओं, persistence लेयर, aliases और async कोड में अविश्वसनीय डेटा को ट्रैक करता है।
- **मॉडल के लिए एक बार भुगतान करें, हर स्कैन के लिए नहीं।** एक एजेंट को एक खोज को taint नियम में बदलने दें। फिर deterministic इंजन उस नियम को पूरे codebase — और उसके बाद हर commit — पर मिनटों के CPU समय में, शून्य टोकन लागत पर दोबारा लागू करता है।
- **ओपन सोर्स, सब कुछ शामिल।** इंजन, नियम और CI एकीकरण Apache 2.0 और MIT के तहत एक स्टैक के रूप में आते हैं।
## त्वरित शुरुआत
**इंस्टॉल स्क्रिप्ट (Linux/macOS)**
```
curl -fsSL https://opentaint.org/install.sh | bash
```
**Homebrew से इंस्टॉल (Linux/macOS):**
```bash
brew install --cask seqra/tap/opentaint
```
**इंस्टॉल स्क्रिप्ट (Windows PowerShell)**
```
irm https://opentaint.org/install.ps1 | iex
```
**npm से इंस्टॉल (Linux/macOS/Windows):**
```bash
npm install -g @seqra/opentaint
```
**या npx से तुरंत चलाएँ — इंस्टॉल की ज़रूरत नहीं (Node.js चाहिए):**
```bash
npx @seqra/opentaint scan
```
**अपना प्रोजेक्ट स्कैन करें:**
```bash
opentaint scan
```
**या Docker का उपयोग करें:**
```bash
docker run --rm -v $(pwd):/project -v $(pwd):/output \
ghcr.io/seqra/opentaint:latest \
opentaint scan --output /output/results.sarif /project
```
अधिक विकल्पों के लिए देखें [इंस्टॉलेशन](https://github.com/seqra/opentaint/blob/main/docs/README.md#installation) और [उपयोग](https://github.com/seqra/opentaint/blob/main/docs/README.md#usage)।
---
## AI एजेंट वर्कफ़्लो
OpenTaint में एजेंट स्किल शामिल हैं जो static analysis को end-to-end एप्लिकेशन-सुरक्षा वर्कफ़्लो में बदलते हैं। इन्हें इंस्टॉल करें:
```bash
npx skills add https://github.com/seqra/opentaint
```
`appsec-agent` स्किल पूरे प्रोजेक्ट की सुरक्षा जाँच के चरणों का समन्वय करती है: प्रोजेक्ट बिल्ड करना, OpenTaint चलाना, attack surface खोजना, लक्षित नियम जोड़ना, गायब लाइब्रेरी डेटा फ़्लो मॉडल करना, निष्कर्षों का triage करना, और वैकल्पिक रूप से पुष्टि की गई कमज़ोरियों के लिए dynamic proof-of-concept जाँच बनाना।
शामिल स्किल सामान्य सुरक्षा-विश्लेषण लूप को कवर करती हैं:
- **स्कैन और triage:** `build-project`, `run-scan`, `analyze-findings`, `generate-poc`
- **कवरेज विस्तार:** `triage-dependencies`, `discover-attack-surface`, `create-test-project`, `create-rule`, `assemble-lib-rules`
- **डेटा फ़्लो मॉडलिंग:** `analyze-external-methods`, `create-pass-through-approximation`, `create-dataflow-approximation`, `debug-rule`, `report-analyzer-issue`
---
## दस्तावेज़
पूर्ण गाइड — इंस्टॉलेशन, उपयोग, कॉन्फ़िगरेशन, CI/CD एकीकरण: **[दस्तावेज़](https://github.com/seqra/opentaint/blob/main/docs/README.md)**।
## सहायता
- **समस्याएँ:** [GitHub Issues](https://github.com/seqra/opentaint/issues)
- **समुदाय:** [Discord](https://discord.gg/6BXDfbP4p9)
- **ईमेल:** [[email protected]](mailto:[email protected])
## Star History
<a href="https://www.star-history.com/?repos=seqra%2Fopentaint&type=date&legend=top-left">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/chart?repos=seqra/opentaint&type=date&theme=dark&legend=top-left&sealed_token=cNibcudvsLJKQVlqN0qt2kK3b3-5zBDkzDzTamAWPRP6ny8KmCeZIooBYT7NBhjkd-T6OiiW7Iu9b1FSgL6n9IHMTPuoqKahF1NtidSTKkDXcbw8bY6k57DDstncYkKHJieEn9sJQ8oKJIYyBtYuQfk19qu5Kb1kvzCMT_dqOXXv3LM7EKZlljFcXAUh" />
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/chart?repos=seqra/opentaint&type=date&legend=top-left&sealed_token=cNibcudvsLJKQVlqN0qt2kK3b3-5zBDkzDzTamAWPRP6ny8KmCeZIooBYT7NBhjkd-T6OiiW7Iu9b1FSgL6n9IHMTPuoqKahF1NtidSTKkDXcbw8bY6k57DDstncYkKHJieEn9sJQ8oKJIYyBtYuQfk19qu5Kb1kvzCMT_dqOXXv3LM7EKZlljFcXAUh" />
<img alt="Star History Chart" src="https://assets.kitploit.com/production/public/readmes/placeholders/f0fc86cfe65f76d40e15aaec61704ec8220a56dc89d4be03c46f67cb31b9fa8c.svg" />
</picture>
</a>
## लाइसेंस
[कोर विश्लेषण इंजन](https://github.com/seqra/opentaint/blob/main/core) [Apache 2.0 लाइसेंस](https://github.com/seqra/opentaint/blob/main/LICENSE.md) के तहत जारी है। [CLI](https://github.com/seqra/opentaint/blob/main/cli), [GitHub Action](https://github.com/seqra/opentaint/blob/main/github), [GitLab CI टेम्पलेट](https://github.com/seqra/opentaint/blob/main/gitlab) और [नियम](https://github.com/seqra/opentaint/blob/main/rules) [MIT लाइसेंस](https://github.com/seqra/opentaint/blob/main/cli/LICENSE) के तहत जारी हैं।