
إطار عمل بايثون لبناء سير عمل نماذج اللغة الكبيرة (LLM) كآلات حالة مع التحقق الرسمي عبر نظرية البرهان Z3، والتحقق من نموذج CTL، والتنبؤ المتوافق لاستخراج بيانات صحيح بشكل مبرهن.
أثبت أن وكيل الذكاء الاصطناعي الخاص بك محصّن ضد الحقن، ومطابق للمواصفات، ولن يتصرف خارج الحدود — قبل أن تُطلقه.
أداة تحقق وقت التصميم لوكلاء LLM — وليست حاجزًا وقت التشغيل. استورد وكيلك LangGraph / CrewAI / AutoGen / MCP وتُثبت Aura خمسة أمور حول الوكيل الذي كتبته بالفعل، ثم تمنحك المثال المضاد الدقيق أو شهادة. Z3 · فحص نموذج CTL · تدفق المعلومات/التلوث · المعايرة التوافقية. يعمل محليًا، وفي CI، دون مفتاح API.
تحقق من تصميم → استورد وكيلًا حقيقيًا من شيفرته → يضيء الثالوث القاتل مع المسار الدقيق → احفظ خط أساس واحظر الانحدارات. · ▶ شاهد الجولة الكاملة
pip install aura-state # or: uv pip install aura-state · uv add aura-state
$ aura-state demo # no keys, no config, no agent of your own needed
aura-state check · support-ticket-agent · 4 nodes
✗ trifecta [send]: lethal trifecta closed — prompt injection at 'fetch' (untrusted)
can reach external sink 'send' unsanitized while 'draft' brings private data into
scope. Path: fetch → lookup → draft → send. Break it with a sanitizer between
'fetch' and 'send', or remove one of the three capabilities.
✗ NOT PROVEN — 1 blocking finding(s) # exit 1 → CI fails
checked: trifecta closed · taint proven · reachability proven · obligations proven · policy 0 flagged
الحقن عبر المطالبات (Prompt injection) ليس سوى واحد منها.
| الخاصية | بعبارات بسيطة | |
|---|---|---|
| 🔒 | آمن — التلوث + الثالوث القاتل | لا يمكن خداعه لتسريب البيانات |
| ✅ | صحيح — التزامات Z3/SMT | المخرجات تخضع لقواعدك (amount ≤ limit) |
| ♻️ | حي — فحص نموذج CTL | ينتهي، كل خطوة قابلة للوصول، لا نهايات مسدودة |
| 📊 | معاير — فترات split-conformal | يعرف مدى ثقته الفعلية |
| 🛑 | محكوم — الامتناع المُتحكَّم بالمخاطر | يرفض التصرف عندما يكون غير متأكد |
aura-state check my_agent.json # a studio export
aura-state check your_agent.py # a LangGraph / CrewAI / AutoGen source file — parsed, never executed
aura-state check ./my-agent-repo/ # a whole directory
uvx aura-state check agents/*.json # zero-install via uv — perfect for CI
بالإضافة إلى الثلاثي، يثبت check أيضًا:
"manifest": { "side_effects": ["read"] } إلى التدفق الخاص بك:
✗ least-privilege [Pay]: 'Pay' can external 'payment.charge', outside the declared manifest
~/.cursor/mcp.json ومرّره كمعامل"). ثابت — لا يتصل أبدًا بخادم.أثبته — ثم أثبت الإثبات. أصدر شهادة قابلة للتحقق وأعد فحصها دون الوثوق بمن أصدرها:
aura-state certify your_agent.py --out cert.json # design + verdict, content-hashed
aura-state verify-cert cert.json # re-runs the verifier — catches any tamper
يُطابق المادة 12 من قانون الذكاء الاصطناعي الأوروبي / ISO 42001 (أدلة، وليس مجرد توثيق).
قِسه بمعايير مرجعية. يشغّل aura-state bench مجموعة بيانات مُصنّفة (الدقة على أزواج آمنة/قابلة للاستغلال — سليم، لذا فإن معدل الاستدعاء 100% بحكم البناء؛ والرقم المقيس هو الدقة) بالإضافة إلى تغطية الاستيراد على وكلاء MCP/الأطر الحقيقيين المُستوعَبين دون تعديل.
توجد أدوات التحقق من الوكلاء قبل التنفيذ — لكن كل واحدة منها تفعل شيئًا واحدًا وتجبرك على إعادة كتابة وكيلك وفق صيغتها الشكلية. ميزة Aura هي كونها الأداة الجاهزة التي تستوعب الوكيل الذي كتبته بالفعل وتشغّل المجموعة كاملة:
| ساكن (قبل تشغيله)؟ | تدفق بيانات أمني؟ | يستورد وكيلك الحقيقي؟ | |
|---|---|---|---|
| AgentProof | ✅ | ❌ الطوبولوجيا فقط | ✅ |
| AgentFlow | ✅ | ✅ | ❌ لغة سياسات DSL الخاصة به |
| FIDES (Microsoft) | ❌ وقت التشغيل | ✅ | ❌ مخطط يُبنى معه |
| Aura-State | ✅ | ✅ | ✅ LangGraph / CrewAI / AutoGen / MCP |
لم نخترع هذه الأساليب — البحث غنيّ وبعضه أكثر صرامة من بحثنا. نحن الأداة التي يمكنك pip install وتوجيهها إلى وكيلك الحالي اليوم. وهي سليمة / تفشل مغلقة: القدرة غير المعروفة تُعرض كتنبيه استشاري، ولا تُمرَّر بصمت أبدًا.
أسقطها في CI وسيُفحص كل PR:
Drop it into CI and every PR is checked:
# .github/workflows/aura.yml
- uses: your-org/aura-state@v0
with: { paths: "agents/*.json" }
الثلاثي القاتل هو أكثر أنماط الفشل إثارة للخوف بالنسبة لوكيل يستخدم الأدوات: اللحظة التي يستطيع فيها (1) قراءة بيانات خاصة، و(2) استيعاب محتوى غير موثوق، و(3) التواصل خارجيًا — كل ذلك على مسار واحد يمكن الوصول إليه — فإن حقنًا توجيهيًا مخفيًا في ذلك المحتوى يمكنه قراءة بياناتك وإرسالها للخارج. الجميع يحذر من ذلك. Aura يثبت أن وكيلك لا يستطيع إغلاقه، بشكل ثابت، قبل أن تُطلق المنتج:
$ aura-state check dev_assistant.tools.json # ← your MCP tools/list export
✗ trifecta [slack_post_message]: lethal trifecta closed — prompt injection at 'fetch'
(untrusted) can reach external sink 'slack_post_message' unsanitized while 'read_file'
brings private data into scope. Path: fetch → Agent → slack_post_message.
Break it with a sanitizer between 'fetch' and 'slack_post_message'.
وجّهه مباشرة إلى إعداد MCP الخاص بك. صدّر tools/list الخاص بوكيلك (أو سلّمه إعداد العميل الخاص بك) ويقوم Aura بنمذجة أسوأ الحالات — يمكن لنموذج اللغة الكبير استدعاء أي أداة بأي ترتيب — ثم يقرر ما إذا كانت fetch + filesystem + slack معًا تشكّل قناة تسريب. لا يتصل أبدًا بأي خادم ولا يشغّله.
أو وجّهه إلى كود وكيلك. يستورد Aura بشكل ثابت سطح الأدوات من ملف مصدري أو مستودع LangGraph / CrewAI / LangChain — دون تثبيت، ولا يشغّل كودك أبدًا:
aura-state check your_agent.py # extracts @tool functions & framework tools
aura-state check ./my-agent-repo/ # a whole directory
✗ trifecta [post_to_slack]: prompt injection at 'fetch_url' (untrusted) can reach
'post_to_slack' unsanitized while 'read_customer_file' brings private data into scope.