العودة إلى التحديثات
New releaseAug 2, 2026

toolbox v0.2.1

اختبار أمان التطبيقات التعاوني بين البشر والعوامل عبر CLI وMCP

مشاركة
go-appsec/toolbox

license Build Status Vibe-Scale 1.0(V2|U0|T0): Significant AI, fully reviewed

أدوات اختبار أمان التطبيقات القائمة على MCP لوكيل البرمجة الخاص بك.

ليست ماسحًا ضوئيًا — بل منصة عمل تعاونية. تواجه الوكلاء صعوبة مع واجهات المستخدم وواجهات برمجة التطبيقات ذات الحالة (stateful APIs)؛ بينما أنت بارع في كليهما. يتيح لك Sectool استكشاف تطبيق عبر البروكسي الخاص به بينما يحلل وكيل ويعالج نفس حركة المرور المصادق عليها التي تولّدها.

تتولى أنت عمليات المصادقة والتفاعلات مع واجهة المستخدم، بينما يستعلم الوكيل عن التدفقات، ويحوّر الطلبات، ويكتشف الانعكاسات، ويراقب التفاعلات خارج النطاق، ويجرّب تبديلات أخرى. الجمع بين قدراتكما يجعل المهام الروتينية أسهل، ويقلل احتمالية تفويت المؤشرات الخفية، ويجعل الاختبار المعقد أكثر شمولًا.

البدء

1. تثبيت sectool

go install github.com/go-appsec/toolbox/sectool@latest

ليس لديك Go؟ حمّل الملف التنفيذي لمنصتك (Linux وmacOS وWindows — amd64 وarm64) من الإصدار الأحدث.

2. تشغيل خادم MCP (Model Context Protocol)

sectool mcp

يبدأ هذا خادم MCP على المنفذ 9119 مع بروكسي HTTP مدمج على المنفذ 8080.

3. إعداد المتصفح

وجّه إعدادات البروكسي في متصفحك إلى 127.0.0.1:8080 (أو المنفذ المحدد عبر --proxy-port).

لاعتراض حركة HTTPS، ثبّت شهادة المرجع المصدق (CA) من ~/.sectool/ca.pem (تُنشأ تلقائيًا عند أول تشغيل). تقبل معظم المتصفحات هذه الشهادة عبر إعدادات الشهادات الخاصة بها؛ وعلى macOS يمكنك أيضًا إضافتها إلى سلسلة المفاتيح (keychain) الخاصة بالنظام.

تستخدم Burp؟ اتبع إعدادات بروكسي Burp بدلًا من ذلك، ثم شغّل sectool بالأمر sectool mcp --burp.

4. ربط الوكيل الخاص بك

Claude Code:

claude mcp add --transport http sectool http://127.0.0.1:9119/mcp

Codex (~/.codex/config.toml):

[mcp_servers.sectool]
url = "http://127.0.0.1:9119/mcp"

5. تعاون

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

خيارات الخادم

خلفيات البروكسي (Proxy backends)

الأصلي (Native): بروكسي مدمج بدقة نقل (wire-fidelity) ودعم لـ HTTP/1.1 وHTTP/2 وWebSocket. مصمم ليكون بقدرات Burp في اختبارات MITM. ملف تنفيذي واحد يوفر خادم MCP والبروكسي وCLI — مكتفٍ ذاتيًا بالكامل وقابل للاستخدام في البيئات الخالية من الواجهة الرسومية (headless).

Burp (اختياري): إذا كنت تفضل واجهة رسومية لمراجعة إجراءات الوكيل أو كان Burp يعمل لديك بالفعل، ثبّت امتداد MCP من BApp Store وتأكد من أن خادم MCP يعمل على http://127.0.0.1:9876/.

الخيارالوصف
(افتراضي)كشف تلقائي: يحاول استخدام Burp MCP أولًا، ثم يتراجع إلى البروكسي الأصلي
--proxy-port 8080فرض البروكسي الأصلي على المنفذ المحدد
--burpفرض Burp MCP (يفشل إذا لم يكن متاحًا)

خيارات الجلسة

سير العمل (Workflow)

يحدد Sectool تلقائيًا سير العمل المناسب عندما يستدعي الوكيل أداة workflow في بداية الجلسة. يمكنك تخطي هذه الخطوة وتوفير الرموز (tokens) بتحديد سير العمل مسبقًا:

sectool mcp                        # Default: agent selects task type via workflow tool
sectool mcp --workflow explore     # Pre-set exploration mode
sectool mcp --workflow test-report # Pre-set validation mode
sectool mcp --workflow none        # No workflow instructions
sectool mcp --workflow multi       # Multiple agents share the server
الوضعالوصف
(افتراضي)يختار الوكيل نوع المهمة باستدعاء أداة workflow، ويتلقى تعليمات التعاون
exploreاختبار أمني استكشافي؛ جميع الأدوات متاحة
test-reportالتحقق من تقرير ثغرة محدد؛ أدوات الزحف مستثناة
noneبدون تعليمات سير عمل، جميع الأدوات متاحة فورًا
multiعند مشاركة عدة مستخدمين أو وكلاء للخادم؛ يخفي الميزات التي قد يسبب فيها وكيل ارتباكًا لوكيل آخر

توجّه تعليمات سير العمل الوكلاء نحو الاختبار التعاوني بدلًا من محاولة القيام بكل شيء بشكل مستقل أو قيادتك خلال عملية دون إضافة قيمة. إذا كانت لديك أفكار لتحسين تعاون الوكلاء، افتح مشكلة (issue).

الملاحظات (Notes)

يتيح علم --notes أداتي notes_save وnotes_list لحفظ الملاحظات المرتبطة بالتدفقات. وهو معطل افتراضيًا للحفاظ على استخدام السياق في حده الأدنى للجلسات القصيرة. فعّله عندما تتوقع نتائج متعددة أو ضغطًا للمحادثة (conversation compactions).

قنوات نقل MCP

يكشف الخادم عن نقطتي نهاية:

  • /mcp - HTTP قابل للبث (موصى به)
  • /sse - SSE (قديم، للعملاء الأقدم)

مثال على استخدام CLI

تشارك واجهة CLI الحالة مع الوكيل وتوفر واجهة سهلة للبشر للمراجعة وإعادة الإرسال والبرمجة النصية. جميع أوامر CLI مرتبطة بأدوات MCP، لذلك يتشارك الوكيل الحالة نفسها.

# Review what the proxy captured while you browsed
sectool proxy summary
sectool proxy list --host example.com
sectool proxy cookies --name session_id

# Crawl an app to discover endpoints and forms
sectool crawl create --url https://example.com
sectool crawl summary <session_id>

# Replay a captured request with modifications
sectool replay send --flow <flow_id> --add-header "X-Test: value"

# Set up out-of-band interaction testing and check for callbacks
sectool oast create
sectool oast poll <oast_id>
sectool oast get <event_id>

# Compare two flows, detect reflections, inspect JWTs
sectool diff <flow_a> <flow_b> --scope response
sectool reflected <flow_id>
sectool jwt <token>

# Export a flow, edit it offline, and resend
sectool proxy export <flow_id>
# ... edit ./sectool-requests/<flow_id>/request.http ...
sectool replay send --bundle <flow_id>

استخدم sectool <command> --help للحصول على خيارات مفصلة.

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

  • بروكسي بدقة نقل (Wire-fidelity proxy) - MITM لـ HTTP/1.1 وHTTP/2 يحافظ على ترتيب الرؤوس وحالة الأحرف والشذوذ في البروتوكول
  • إعادة الإرسال والتحوير (Replay and mutation) - إعادة كتابة حركة المرور الحية عبر قواعد المطابقة/الاستبدال أو إعادة إرسال الطلبات الملتقطة مع تعديلات عبر واجهة برمجة تطبيقات محسّنة للوكلاء
  • مقارنة التدفقات (Flow diffing) - مقارنة منظمة ومراعية لنوع المحتوى بين تدفقين (على مستوى مسارات JSON، نص موحد، حجم ثنائي) للتحقق السريع من التقارير
  • تحليل سطح JavaScript (JS surface analysis) - استخراج نقاط النهاية والمسارات والأسرار من حزم JavaScript/HTML، ثم توسيع أي موقع استدعاء إلى طلباته القابلة للاستخدام
  • كشف الانعكاسات (Reflection detection) - العثور على قيم معلمات الطلب المنعكسة في الاستجابات عبر أشكال ترميز متعددة لكشف نقاط الحقن
  • OAST - اختبار التفاعلات خارج النطاق عبر Interactsh؛ إنشاء نطاقات، والاستقصاء عن استدعاءات DNS/HTTP/SMTP
  • فحص إعادة التوجيه (Redirect probing) - يمكن لجلسات OAST إرجاع عمليات إعادة توجيه 307 لمعرفة ما إذا كان الهدف يتبع إعادة التوجيه، وهو مفيد لسلاسل SSRF وتجاوز التحقق
  • الزحف (Crawling) - اكتشاف نقاط النهاية والنماذج وبنية التطبيق؛ بدءًا من سجل البروكسي أو عناوين URL
  • دعم WebSocket - اعتراض على مستوى الإطارات (frames)، وتمرير عبر البروكسي، ومطابقة/استبدال لرسائل WebSocket
  • أوضاع سير العمل (Workflow modes) - توجيه الوكلاء حسب المهمة (استكشاف، تقرير اختبار) لتحسين جودة التعاون وتقليل هدر الرموز
  • أدوات الترميز (Encoding utilities) - ترميز/فك ترميز URL وBase64 وHTML، والتجزئة (MD5/SHA/HMAC)، وفحص JWT
  • التكامل مع Burp Suite - واجهة رسومية اختيارية عبر امتداد Burp MCP؛ أو تشغيل بدون واجهة رسومية بالكامل مع البروكسي الأصلي

الفحص الآلي

اقرن sectool مع sidenuclei، وهو برنامج جانبي (sidecar) من الطرف الأول يشغّل Nuclei ضد كل نقطة نهاية تتعامل معها. شغّل sectool مع --notes، وأرفق sidenuclei إلى جانب جلستك، وسيقوم بفحص كل نقطة نهاية باستخدام الطلب الملتقط الفعلي، بحيث تُنفَّذ الاختبارات بمعاملاتك الفعلية وملفات تعريف الارتباط (cookies) وجلسة المصادقة الخاصة بك. تظهر النتائج كملاحظات finding مرتبطة بالتدفق الذي أطلقها، مما يمنحك تغطية إضافية بينما تركز أنت ووكيلك على الاختبار اليدوي.

دعم البروتوكولات المخصصة

إلى جانب HTTP وWebSocket، يدعم sectool البروتوكولات المخصصة والثنائية (بشكل عام طلب / استجابة) عبر نموذج محول جانبي (sidecar adapter). اكتب محولًا للاتصال والتواصل باستخدام واجهة برمجة التطبيقات الجانبية (sidecar API) الخاصة بنا. تصل حركة مرور البرنامج الجانبي إلى الخط الزمني الموحد نفسه للتدفقات، لذا تعمل أدوات flow_get وdiff_flow وreplay_send وغيرها دون أي تعديل. يمكن كتابة المحولات بأي لغة عبر واجهة JSON-RPC 2.0 API، أو بلغة Go باستخدام عميل SDK الذي يتولى التسجيل وتخزين القواعد مؤقتًا وإصدار التدفقات. يوثّق كلًا منهما sidecar SDK & protocol.

الفئات