
محرك تحليل التلوث البيني الرسمي لأمن التطبيقات. يتتبع البيانات غير الموثوقة عبر حدود الوظائف، طبقات الثبات، والكود غير المتزامن. جاهز للوكيل الذكي مع إعادة تشغيل القواعد الحتمية. بديل مفتوح المصدر لـ 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">محرك تحليل التلوث مفتوح المصدر لعصر الذكاء الاصطناعي</h3>
<p align="center">
تحليل التلوث الرسمي لأمن التطبيقات — يكتشف ما تفوّته محركات مطابقة أنماط AST، ويتيح لوكلاء نماذج اللغة الكبيرة تفعيل الثغرات كقواعد، ويتوسّع حيث لا يستطيع أيٌّ منهما بمفرده.
</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"></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="الرخصة: Apache 2.0"></a>
<a href="https://golang.org/"><img src="https://img.shields.io/badge/Go-1.25+-00ADD8?logo=go" alt="إصدار Go"></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">
</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>أكثر محرك تحليل taint شمولاً لتطبيقات Spring</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* — محرك تلوث رسمي عبر الإجراءات يمكنك تخصيصه واستضافته بنفسك، مبنيٌّ بحيث يقود وكلاء الذكاء الاصطناعي تحليلك الأمني دون استنزاف الرموز في كل عملية فحص.
يولّد الذكاء الاصطناعي كود الإنتاج بسرعة أكبر مما تستطيع فرق الأمان مواكبته، ونوعا الأدوات المبنيان لاكتشاف ما يخطئ فيه يفرض كلٌّ منهما مقايضة سيئة:
- **مُطابِقات أنماط AST** (Semgrep OSS، وast-grep، وأدوات الفحص النصي) مجانية وسريعة، لكنها تطابق البنية النحوية لا تدفق البيانات — فالمدخلات غير الموثوقة التي تعبر حدود دالة أو طبقة تخزين تفلت منها مباشرة. أما التحليل الأعمق عبر الإجراءات الذي *يلتقطها فعلاً* فقد ظل طويلاً محبوسًا داخل أدوات احتكارية.
- **وكلاء أمان نماذج اللغة الكبيرة** يكتشفون ما تفوّته مُطابِقات الأنماط، لكنهم يعيدون قراءة كودك في كل تشغيل. تتراكم الرموز مع كل ملف وكل commit وكل عملية بناء في CI — ومع ذلك لا يستطيع نموذج احتمالي أن يضمن أنه التقط كل شيء.
يمنحك OpenTaint عمق وكيل نماذج اللغة الكبيرة بتكلفة محلل ساكن:
- **اكتشف ما تفوّته مُطابِقات أنماط AST.** محرك رسمي لتدفق البيانات عبر الإجراءات يتتبع البيانات غير الموثوقة عبر حدود الدوال، وطبقات التخزين، والأسماء المستعارة، والكود غير المتزامن.
- **ادفع ثمن النموذج مرة واحدة لا في كل عملية فحص.** دع وكيلاً يقطّر اكتشافًا واحدًا إلى قاعدة تلوث. ثم يعيد المحرك الحتمي تطبيق تلك القاعدة على قاعدة الكود بالكامل — وعلى كل commit بعدها — في دقائق من وقت المعالج، وبتكلفة رموز صفرية.
- **مفتوح المصدر، جاهز للاستخدام.** المحرك والقواعد وتكاملات 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).
---
## سير عمل وكلاء الذكاء الاصطناعي
يتضمن OpenTaint مهارات وكلاء تحوّل التحليل الساكن إلى سير عمل متكامل لأمن التطبيقات. ثبّتها باستخدام:
```bash
npx skills add https://github.com/seqra/opentaint
```
تنسّق مهارة `appsec-agent` تقييمًا كاملًا للمشروع: بناء المشروع، تشغيل OpenTaint، اكتشاف سطح الهجوم، إضافة قواعد موجّهة، نمذجة تدفقات بيانات المكتبات المفقودة، فرز النتائج، وبشكل اختياري توليد فحوصات ديناميكية لإثبات المفهوم للثغرات المؤكدة.
تغطي المهارات المضمّنة حلقة التحليل الأمني الشائعة:
- **الفحص والفرز:** `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](https://github.com/seqra/opentaint/issues)
- **المجتمع:** [Discord](https://discord.gg/6BXDfbP4p9)
- **البريد الإلكتروني:** [[email protected]](mailto:[email protected])
## سجل النجوم
<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). [واجهة سطر الأوامر](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).