Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/pascal-lab/tai-e
أمان أندرويدالتحليل الثابتتحليل الثغرات الأمنيةتحليل الكودالتعلم والتعليم
GitHubpascal-lab/tai-e

Tai-e

إطار عمل تحليل ثابت سهل التعلم/الاستخدام لجافا وأندرويد

عرض المستودع
1.8k1983منذ 4 أيامتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
الموقع الإلكتروني

Tai-e

test java maven-central codecov DOI

✨أخبار

  • الإصدار v0.5.4:
    • تأتي Tai-e مع واجهة أمامية جديدة، توفر تحويلاً أسرع وأكثر موثوقية من برامج Java إلى IR الخاص بـ Tai-e.
    • يتم دعم تحليل تطبيقات Android من خلال مكون إضافي قائم على PacDroid مدمج مع تحليل المؤشرات.
    • يتم دعم تحليل Spring DI و WEC من خلال المكون الإضافي لتحليل Spring.
  • تم قبول ورقتنا "Two Approaches to Fast Bytecode Frontend for Static Analysis" في OOPSLA'25. تعرض هذه الورقة الواجهة الأمامية الجديدة للبايت كود في Tai-e، والتي هي أسرع وأكثر موثوقية بشكل ملحوظ من الواجهات الأمامية الحالية.
  • تم قبول ورقتنا "Pointer Analysis for Database-Backed Applications" في PLDI'25. تصف هذه الورقة تحليل مؤشرات شامل لتطبيقات Java المدعومة بقواعد البيانات المطورة على أساس Tai-e.
  • تم قبول ورقتنا "PacDroid: A Pointer-Analysis-Centric Framework for Security Vulnerabilities in Android Apps" في ICSE'25. يوضح هذا العمل قدرة Tai-e الجديدة في تحليل Android، ويوفر نهجًا بسيطًا وفعالاً لتحليل أمان التطبيقات. حصل هذا العمل على جائزة أفضل قطعة أثرية🏅.
  • تم قبول ورقتنا "Bridge the Islands: Pointer Analysis for Microservice Systems" في ISSTA'25. تصف هذه الورقة أول تحليل مؤشرات لأنظمة Microservice في Java تم تطويره على أساس Tai-e.
  • تم قبول ورقتنا "Interactive Cross-Language Pointer Analysis for Resolving Native Code in Java Programs" في ICSE'25. هذا أول تحليل مؤشرات عبر اللغات بين Java و C. فاز هذا العمل بجائزة الورقة المتميزة🏅.
  • تم قبول ورقتنا "Context Sensitivity without Context: A Cut-Shortcut Approach to Fast and Precise Pointer Analysis" في PLDI'23. هذا هو أول عمل بحثي منشور تم تطويره على أساس Tai-e.
  • تم قبول ورقتنا "Tai-e: A Developer-Friendly Static Analysis Framework for Java by Harnessing the Good Designs of Classics" في ISSTA'23. تصف هذه الورقة التصميمات للمكونات الرئيسية لـ Tai-e.

جدول المحتويات

  • ما هو Tai-e؟
  • كيفية الحصول على Tai-e القابل للتشغيل؟
  • كيفية تضمين Tai-e في مشروعك؟
    • الإصدار المستقر
    • أحدث إصدار
  • التوثيق
    • التوثيق المرجعي
    • سجل التغييرات
  • مهام Tai-e

ما هو Tai-e؟

Tai-e (النطق: [ˈtaɪə:]) هو إطار عمل جديد لتحليل البرامج الثابتة للغة Java (يرجى الاطلاع على ورقة ISSTA 2023 للحصول على التفاصيل)، والذي يتميز بتصميمات "أفضل" مما لا شك فيه من كل من التصميمات الجديدة التي اقترحناها وتلك الموجودة في الأطر الكلاسيكية مثل Soot و WALA و Doop و SpotBugs. Tai-e سهل التعلم، سهل الاستخدام، فعال، وقابل للتوسع بشكل كبير، مما يسمح لك بتطوير تحليلات جديدة بسهولة فوقه.

حاليًا، يوفر Tai-e مكونات التحليل الرئيسية التالية (والمزيد من التحليلات قيد التطوير):

  • إطار عمل قوي لتحليل المؤشرات
    • إنشاء مخطط الاستدعاء أثناء التنفيذ
    • تقنيات مختلفة كلاسيكية ومتقدمة لتجريد الكومة وحساسية السياق لتحليل المؤشرات
    • نظام المكونات الإضافية للتحليل القابل للتوسع (يسمح بتطوير وإضافة تحليلات جديدة تتفاعل مع تحليل المؤشرات بسهولة)
  • تحليل أمان قابل للتكوين
    • تحليل التلوث، الذي يسمح بتكوين المصادر، المصارف، نقل التلوث، والمعقمات
    • كشف العديد من تسريبات المعلومات وثغرات الحقن
    • مفاضلات مختلفة بين الدقة والكفاءة (الاستفادة من إطار تحليل المؤشرات)
  • تحليلات أساسية / خدمية متنوعة
    • تحليلات أساسية، مثل تحليل الانعكاس وتحليل الاستثناءات
    • تحليلات ميزات اللغة الحديثة، مثل تحليل lambda و method reference، وتحليل invokedynamic
    • أدوات خدمية مثل مؤقت التحليل، مدقق القيود (لتصحيح الأخطاء)، ومفرغات المخططات المختلفة
  • إطار تحليل تدفق التحكم / البيانات
    • إنشاء مخطط تدفق التحكم
    • تحليلات تدفق البيانات الكلاسيكية، مثل تحليل المتغيرات الحية، نشر الثوابت
    • تحليلات تدفق البيانات الخاصة بك
  • نظام كشف الأخطاء المشابه لـ SpotBugs
    • كاشفات الأخطاء، مثل كاشف المؤشر الفارغ، كاشف clone() غير الصحيح
    • كاشفات الأخطاء الخاصة بك

تم تطوير Tai-e بلغة Java، ويمكن تشغيله على أنظمة التشغيل الرئيسية بما في ذلك Windows و Linux و macOS.

كبادرة احترام للمطورين، نتوقع منك يرجى الاستشهاد بالورقة من ISSTA 2023 التي تصف إطار Tai-e في عملك البحثي:

Tian Tan and Yue Li. 2023. Tai-e: A Developer-Friendly Static Analysis Framework for Java by Harnessing the Good Designs of Classics. In Proceedings of the 32nd ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA '23), July 17–21, 2023, Seattle, WA, USA (pdf, bibtex).

كيفية الحصول على Tai-e القابل للتشغيل؟

الطريقة الموصى بها هي تنزيل توزيعة ZIP من GitHub Releases. تحتوي التوزيعة على Tai-e، جميع التبعيات وقت التشغيل، التوثيق دون اتصال، ونصوص بدء التشغيل لنظامي Windows و Linux و macOS.

بدلاً من ذلك، يمكنك بناء أحدث إصدار من Tai-e بنفسك من الكود المصدري. يمكن القيام بذلك ببساطة عبر Gradle (تأكد من أن Java 17 (أو إصدار أعلى) متوفرة على نظامك):

root@kitploit:~
./gradlew distZip

سيتم إنشاء توزيعة ZIP في tai-e/build/distributions/. بعد استخراجها، قم بتشغيل Tai-e عبر نص بدء التشغيل:

root@kitploit:~
# على Linux/macOS
./tai-e-<version>/bin/tai-e -h
# على Windows
.\tai-e-<version>\bin\tai-e.bat -h

من أجل التوافق مع الإصدارات القديمة والبرامج النصية، لا يزال Tai-e يوفر JAR شاملة قديمة:

root@kitploit:~
./gradlew fatJar
java -jar build/tai-e-all-<version>.jar -h

كيفية تضمين Tai-e في مشروعك؟

تم تصميم Tai-e كأداة مستقلة، ولكن لديك أيضًا خيار تضمينه في مشروعك كاعتمادية. وهو متوفر في مستودعات Maven، مما يسمح لك بدمجه بسهولة في مشاريع Java الخاصة بك باستخدام أدوات البناء مثل Gradle و Maven. نحافظ على كل من الإصدارات المستقرة والأحدث من Tai-e، وفيما يلي الإحداثيات المقابلة بتنسيقات نصوص Gradle و Maven:

الإصدار المستقر

لـ Gradle:

root@kitploit:~
dependencies {
    implementation("net.pascal-lab:tai-e:0.5.4")
}

لـ Maven:

root@kitploit:~

<dependencies>
    <dependency>
        <groupId>net.pascal-lab</groupId>
        <artifactId>tai-e</artifactId>
        <version>0.5.4</version>
    </dependency>
</dependencies>

أحدث إصدار

لـ Gradle:

root@kitploit:~
repositories {
    mavenCentral()
    maven { url = uri("https://central.sonatype.com/repository/maven-snapshots/") }
}

dependencies {
    implementation("net.pascal-lab:tai-e:0.5.5-SNAPSHOT")
}

لـ Maven:

root@kitploit:~
<repositories>
    <repository>
        <id>snapshots</id>
        <name>Sonatype snapshot server</name>
        <url>https://central.sonatype.com/repository/maven-snapshots/</url>
    </repository>
</repositories>

<dependencies>
    <dependency>
        <groupId>net.pascal-lab</groupId>
        <artifactId>tai-e</artifactId>
        <version>0.5.5-SNAPSHOT</version>
    </dependency>
</dependencies>

يمكنك استخدام هذه الإحداثيات في نصوص Gradle أو Maven الخاصة بك لتضمين الإصدار المطلوب من Tai-e في مشروعك.

التوثيق

التوثيق المرجعي

لقد قدمنا معلومات مفصلة عن Tai-e في التوثيق المرجعي، والذي يغطي جوانب مختلفة مثل الإعداد في IntelliJ IDEA، خيارات سطر الأوامر، و تطوير تحليل جديد.

يرجى ملاحظة أن التوثيق المرجعي المذكور أعلاه يتعلق بـ أحدث إصدار من Tai-e. إذا كنت بحاجة إلى توثيق لإصدار مستقر معين، يرجى الرجوع إلى فهرس التوثيق. بالإضافة إلى ذلك، يتم تضمين التوثيق داخل المستودع ويتم صيانته جنبًا إلى جنب مع الكود المصدري. يمكنك الوصول إلى التوثيق المرجعي لإصدار معين من Tai-e (بتنسيق AsciiDoc) من خلال استكشاف دليل docs/en، بدءًا من index.adoc. يسمح لك هذا بالوصول إلى التوثيق الخاص بالإصدار لـ Tai-e.

بالإضافة إلى التوثيق المرجعي، Javadocs لـ Tai-e هي أيضًا متاحة كمورد مرجعي مفيد.

سجل التغييرات

نظرًا لأننا نطور ونحدث Tai-e بنشاط، فإننا نسجل التغييرات البارزة التي أجريناها، خاصة الميزات الجديدة والتغييرات الجذرية، في CHANGELOG. إذا وجدت شيئًا خاطئًا بعد تحديث Tai-e، ربما يمكنك التحقق من CHANGELOG للحصول على معلومات مفيدة.

مهام Tai-e

بالإضافة إلى ذلك، قمنا بتطوير إصدار تعليمي من Tai-e حيث تم تصميم ثماني مهام برمجة بعناية لتدريب المتعلمين بشكل منهجي على تنفيذ تقنيات تحليل ثابتة مختلفة لتحليل برامج Java حقيقية. يشارك الإصدار التعليمي قدرًا كبيرًا من الكود مع Tai-e، وبالتالي فإن أداء المهام سيكون طريقة جيدة للتعرف على Tai-e.

تنزيل الأداة