Ffind
Wykrywanie typów plików za pomocą libmagic oraz ekstrakcja systemów plików ext/F2FS z firmware
Działa po konfiguracji
Co robi ten skill
Otacza narzędzie `ffind` CLI z iothackbot do identyfikacji typów plików za pomocą libmagic i opcjonalnego wyodrębniania systemów plików ext2/3/4 lub F2FS z obrazów firmware, z wyjściem tekstowym/JSON. Uruchamia się, gdy użytkownik chce analizować blob firmware, identyfikować typy plików w katalogu lub wyodrębniać osadzone systemy plików. Wykrywanie typów działa wszędzie tam, gdzie zainstalowano libmagic; ekstrakcja jest tylko dla Linuksa i wymaga sudo oraz e2fsprogs/f2fs-tools.
Raport z testu
Sklonowano repozytorium i uruchomiono bin/ffind na żywo: --help dokładnie odpowiadał udokumentowanym flagom, a w katalogu testowym z 6 plikami zgrupował pliki według typu MIME z liczbami i wygenerował ustrukturyzowany JSON (total_files, detection_failures). Punktem odniesienia było `file`/`file --mime-type`: te same podstawowe opisy libmagic, ale płaska lista dla każdego pliku, podczas gdy ffind dodaje rekurencyjne przeszukiwanie katalogów w jednym wywołaniu, grupowanie MIME, JSON i skategoryzował device.pem jako application/x-pem-file zamiast bazowego text/plain — skromna poprawa, więc wynik ~6. Wymaga python-magic+libmagic (w przeciwnym razie błąd „python-magic not available”); główna ekstrakcja systemu plików (-e) jest tylko dla Linuksa (losetup/mount) i niemożliwa do przetestowania na macOS. Zaobserwowano błąd w dokumentacji: SKILL.md twierdzi, że `-a` przełącza między tylko artefaktami a wszystkimi typami, ale formatujący tekst zawsze drukuje wszystkie typy, więc flaga nie miała wpływu. Werdykt: konfiguracja, ponieważ narzędzie nie jest dołączone do katalogu umiejętności (wymaga całego repozytorium w PATH), a ekstrakcja wymaga sudo+e2fsprogs na Linuksie.
Testowano: 2026-07-21 · Claude Code 2.x (agent harness)
Instalacja
git clone --depth 1 https://github.com/BrownFineSecurity/iothackbot.git /tmp/ffind-src mkdir -p ~/.claude/skills cp -R /tmp/ffind-src/skills/ffind ~/.claude/skills/ffind # The SKILL.md invokes the `ffind` CLI, which is NOT inside the skill dir — it lives in the cloned repo. # Put it on PATH and install deps to actually run it: # export PATH="/tmp/ffind-src/bin:$PATH" # (bin/ffind adds tools/ to sys.path; keep the repo, don't delete /tmp/ffind-src) # pip install python-magic colorama # macOS: brew install libmagic | Debian/Ubuntu: apt-get install libmagic1 # Usage: ffind <path> [-a] [-v] [--format text|json|quiet] # Extraction (ffind <path> -e) is Linux-only: needs sudo + losetup/mount + e2fsprogs (ext) / f2fs-tools (F2FS). # Name collision: The Sleuth Kit also ships /usr/bin/ffind — check `ffind --help` shows --extract/--format, else call bin/ffind by full path.
Komendy i przykładowe prompty
/ffindWykrywanie typów plików za pomocą libmagic oraz ekstrakcja systemów plików ext/F2FS z firmware
Skille uruchamiają się na zwykłe polecenia — bez komend do zapamiętania. Po instalacji aktywują go prompty takie jak te (po angielsku):
Identify file types inside this firmware dumpExtract the ext4 filesystem from this imageFind embedded F2FS partitions in this firmware file