Об этом проекте

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) и OSINT (Sherlock). Инструменты разделены на две группы: те, что упакованы непосредственно в репозитории в nix/pkgs/, и те, что перенаправлены из nixpkgs. Каждый инструмент представлен как выходной артефакт Nix flake, устанавливаемый через nix profile install, запускаемый без установки через nix run или используемый в оболочке через nix shell. Скрипт-обёртка manage-tools предоставляет знакомый CLI для перечисления, установки, удаления и поиска инструментов, включая агрегированную установку всех инструментов из каталога или всех сгенерированных кросс-тулчейнов. CI ежедневно оценивает каталог и собирает инструменты для x86_64, быстро выявляя поломки. Входные данные пакетов загружаются Nix и фиксируются по SHA-256, что обеспечивает целостность цепочки поставок. Обычный набор пакетов поддерживает как x86_64-linux, так и aarch64-linux, при этом неподдерживаемые пакеты на ARM пропускаются, а не приводят к сбою всего профиля. Сгенерированные кросс-компиляторные тулчейны (cross2 и crosstool-ng) поддерживают только x86_64, при этом 77 из 146 образцов crosstool-NG предварительно собраны как независимые устанавливаемые выходные артефакты. Репозиторий также включает систему сборки на основе Docker (о чём свидетельствуют URL-адреса бейджей Docker) и поддерживает автономную работу для большинства инструментов, с задокументированными исключениями для загрузки корпуса libc-database, IDA Pro (предоставляется пользователем) и загрузки исходников crosstool-ng при прямом использовании драйвера ct-ng. Nix устанавливается параллельно с менеджером пакетов хост-ОС без какого-либо вмешательства, а инструменты устанавливаются в профиль Nix пользователя для чистого удаления.