عن المشروع

ctf-tools هي حزمة Nix flake تقوم بتغليف وإدارة كتالوج كبير من أدوات أبحاث الأمان شائعة الاستخدام في مسابقات Capture The Flag (CTF) وأبحاث الأمان. يوفر المستودع مصدرًا واحدًا سهل النشر للأدوات التي تغطي تحليل الثنائيات (angr, Ghidra, radare2, IDA, pwndbg, ropper)، والأدلة الجنائية (Volatility, Autopsy, binwalk, SleuthKit, YARA)، والتشفير (hashcat, John the Ripper, RsaCtfTool, Z3, Sage)، واستغلال الويب (Burp Suite, sqlmap, ffuf, mitmproxy, XSStrike)، وإخفاء البيانات (stegsolve, zsteg, steganabara)، والجوال (Frida, apktool, jadx)، والشبكات (nmap, bettercap, tshark)، والاستخبارات مفتوحة المصدر (Sherlock). تنقسم الأدوات إلى مجموعتين: تلك المعبأة مباشرة في المستودع تحت nix/pkgs/ وتلك المحولة من nixpkgs. كل أداة متاحة كمخرج من مخارج Nix flake، ويمكن تثبيتها عبر nix profile install، أو تشغيلها دون تثبيت عبر nix run، أو استخدامها في قشرة عبر nix shell. يوفر سكربت manage-tools واجهة سطر أوامر مألوفة لعرض الأدوات وتثبيتها وإلغاء تثبيتها والبحث عنها، بما في ذلك عمليات التثبيت المجمعة لجميع الأدوات المدرجة أو جميع سلاسل الأدوات المتولدة. يقوم CI بتقييم الكتالوج وبناء أدوات x86_64 يوميًا، مما يكشف الأعطال بسرعة. يتم تنزيل مدخلات الحزم بواسطة Nix وتثبيتها عبر SHA-256، مما يضمن سلامة سلسلة التوريد. تدعم مجموعة الحزم العادية كلاً من x86_64-linux وaarch64-linux، مع حذف الحزم غير المدعومة على ARM بدلاً من فشل الملف الشخصي بأكمله. سلاسل أدوات الترجمة المتقاطعة المولدة (cross2 وcrosstool-ng) مخصصة لـ x86_64 فقط، مع بناء 77 من أصل 146 عينة من crosstool-NG كمخرجات مستقلة قابلة للتثبيت. يتضمن المستودع أيضًا نظام بناء قائم على Docker (كما يتضح من روابط شارات Docker) ويدعم العمل دون اتصال لمعظم الأدوات، مع استثناءات موثقة لتنزيلات مجموعة libc-database، وIDA Pro (يوفره المستخدم)، وتنزيلات مصدر crosstool-ng عند استخدام برنامج تشغيل ct-ng مباشرة. يتم تثبيت Nix بجانب مدير حزم نظام التشغيل المضيف دون أي تداخل، وتُثبَّت الأدوات في ملف تعريف Nix الخاص بالمستخدم لإلغاء تثبيت نظيف.