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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
yaraast — مكتبة بايثون قوية وأداة سطر أوامر لتحليل قواعد YARA وتفحصها ومعالجتها من خلال تمثيل شجرة البنية المجردة (AST) | Kitploit
أدوات/GitHubGitHub/seifreed/yaraast
التحليل الثابتتحليل الثغرات الأمنيةتحليل الكودالبرمجة النصية والأتمتةتحليل البرمجيات الخبيثةالأدوات والمكونات
GitHubseifreed/yaraast

yaraast

مكتبة بايثون قوية وأداة سطر أوامر لتحليل قواعد YARA وتفحصها ومعالجتها من خلال تمثيل شجرة البنية المجردة (AST)

عرض المستودع
54546منذ 12 أيامتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

YARAAST

yaraast

تحليل وتحويل قواعد YARA باستخدام مجموعة أدوات AST بلغة Python

CI License: MIT Python 3.11-3.14

GitHub Stars GitHub Issues Docs


نظرة عامة

yaraast هي مكتبة Python لتحليل ومعالجة قواعد عائلة YARA باستخدام أشجار البنية المجردة (AST). تدعم سير عمل YARA الكلاسيكية وYARA-L وYARA-X مع اكتشاف تلقائي للهجة وأدوات سطر أوامر.

الميزات الرئيسية

الميزةالوصف
تحليل متعدد اللهجاتتحليل YARA وYARA-L وYARA-X من ملفات أو نصوص
اكتشاف تلقائي للهجةمحلل موحد يكتشف لهجات القواعد تلقائيًا
أدوات ASTبناء وتحويل ومقارنة وتسلسل أشجار AST
تنسيق وتحققأوامر CLI لسير عمل التحليل/التنسيق/التحقق
دعم التدفقتحليل ملفات كبيرة جدًا بوضع التدفق
تكاملات النظام البيئيقدرات اختيارية متعلقة بـ LSP وlibyara

نظام القواعد المدعوم

root@kitploit:~
اللهجات   YARA, YARA-L, YARA-X
المحللات    محلل قياسي، محلل موحد، محلل تدفقي
المخرجات    YARA, JSON, YAML, عروض شجرة AST
الأدوات    CLI، زوار، بناة، تسلسل، فحوصات دلالية

تختلف مستويات الدعم حسب اللهجة. YARA الكلاسيكية مستقرة، وYARA-X في مرحلة بيتا، وYARA-L تجريبية، والاكتشاف التلقائي للهجة هو جهد بأفضل ما يمكن. راجع مصفوفة التوافق للمحركات والقدرات الدقيقة التي يختبرها CI.


التثبيت

من PyPI (موصى به)

root@kitploit:~
pip install yaraast

من المصدر

root@kitploit:~
git clone https://github.com/seifreed/yaraast.git
cd yaraast
python3 -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate
pip install -e .

بداية سريعة

root@kitploit:~
import yaraast

yara_code = """
rule example {
    strings:
        $a = "malware" nocase
    condition:
        $a
}
"""

document = yaraast.parse(yara_code)
print(document.ast.rules[0].name)

الاستخدام

واجهة سطر الأوامر

root@kitploit:~
# تحليل وطباعة YARA معياري
yaraast parse rules.yar

# تحليل إلى JSON
yaraast parse rules.yar --format json

# تحليل مع لهجة صريحة
yaraast parse rules.yar --dialect yara-x

# التحقق من الملف (فحوصات بناء الجملة + التحليل)
yaraast validate rules.yar

# تنسيق الملف في مكانه (مُنسق قائم على AST)
yaraast fmt rules.yar

# فحص التنسيق دون تعديل الملف
yaraast fmt rules.yar --check

أوامر CLI الأساسية

الأمرالوصف
parseتحليل ملف قواعد وإخراج YARA/JSON/YAML/شجرة
validateالتحقق من القواعد وتشغيل أوامر فرعية للتحقق
fmtمُنسق قائم على AST (مع --check و--diff)
formatتنسيق الإدخال إلى ملف إخراج مستهدف
validate-syntaxنقطة دخول تحقق تركز على بناء الجملة
lspتشغيل ميزات بروتوكول خادم اللغة

مكتبة Python

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

root@kitploit:~
from pathlib import Path

import yaraast

source = "rule example { condition: true }"

# اكتشاف اللهجة تلقائيًا
document = yaraast.parse(source)

# فرض لهجة محددة
document = yaraast.parse(source, dialect="yara")

# تحليل الملفات، توليد مصدر جديد، وتنسيقه بشكل قانوني
Path("rules.yar").write_text(source, encoding="utf-8")
file_document = yaraast.parse_file("rules.yar")
generated = yaraast.generate(file_document)
formatted = yaraast.format_canonical(source, dialect="yara")

# الحفاظ على كل بايت خارج تعديل بايت UTF-8 صريح
offset = source.encode("utf-8").index(b"true")
rewritten = yaraast.rewrite_lossless(
    source,
    [yaraast.SourceEdit(offset, offset + 4, "false")],
)

# المحللات العامة تطبق حدودًا افتراضية مقيدة. تجاوزها لكل عملية عند الحاجة.
limits = yaraast.ResourceLimits(max_input_bytes=1024 * 1024, parse_deadline=5.0)
document = yaraast.parse(source, resource_limits=limits)

cancel = yaraast.CancellationToken()
cancel.cancel()
# yaraast.parse(source, cancellation_token=cancel) يرفع ParseCancelledError

ResourceLimits() يعطل جميع الحدود صراحةً. تحليل CLI يستخدم الافتراضيات العامة؛ تحليل LSP يستخدم حدودًا أكثر صرامة للإدخال والرموز والتداخل والأنماط والمواعيد النهائية ولا يخزن نتيجة جزئية أبدًا بعد الإلغاء أو فشل الحد.

محلل مباشر + زائر

root@kitploit:~
from pathlib import Path

from yaraast.parser import Parser
from yaraast.visitor import BaseVisitor

class RuleCollector(BaseVisitor):
    def __init__(self):
        self.rules = []

    def visit_rule(self, node):
        self.rules.append(node.name)
        super().visit_rule(node)

ast = Parser(Path("rules.yar").read_text(encoding="utf-8")).parse()
collector = RuleCollector()
collector.visit(ast)
print(collector.rules)

التبعيات الاختيارية

root@kitploit:~
# دعم LSP
pip install yaraast[lsp]

# تكامل libyara
pip install yaraast[libyara]

# أدوات الأداء
pip install yaraast[performance]

# دعم التصور
pip install yaraast[visualization]

# حزمة دعم وقت التشغيل
pip install yaraast[all]

# أدوات وقت التشغيل والتطوير
pip install yaraast[dev-all]

وثائق وقت التشغيل

  • توافق اللهجات: docs/compatibility.md
  • تفاصيل وقت تشغيل LSP: docs/lsp-runtime.md
  • تقرير تكافؤ LSP: docs/lsp-parity-report.md
  • أحدث أداة قياس أداء وقت التشغيل: docs/benchmarks/lsp-runtime-latest.json

المتطلبات

  • Python 3.11 أو 3.12 أو 3.13 أو 3.14
  • راجع pyproject.toml للقائمة الكاملة للتبعيات والإضافات

المساهمة

المساهمات مرحب بها. راجع CONTRIBUTING.md للإعداد وفحوصات الجودة وإرشادات سير العمل.

  1. انسخ المستودع (Fork)
  2. أنشئ فرعًا (git checkout -b feature/your-change)
  3. نفذ التغييرات (git commit -m "Add your change")
  4. ادفع (git push origin feature/your-change)
  5. افتح طلب سحب (Pull Request)

سياسة المشروع موثقة في SECURITY.md وCODE_OF_CONDUCT.md وCHANGELOG.md وMIGRATING.md.


الترخيص

هذا المشروع مرخص بموجب رخصة MIT - راجع LICENSE.

المؤلف

  • Marc Rivero ([email protected])
  • المستودع: github.com/seifreed/yaraast

مبني لسير عمل تحليل البرمجيات الخبيثة وهندسة الكشف

تنزيل الأداة