Ffind
Rilevamento tipo file tramite libmagic più estrazione filesystem ext/F2FS per firmware
Richiede configurazione
Cosa fa
Incapsula la CLI `ffind` di iothackbot per identificare tipi di file tramite libmagic ed opzionalmente estrarre filesystem ext2/3/4 o F2FS da immagini firmware, con output testuale/JSON. Si attiva quando l'utente vuole analizzare un blob firmware, identificare tipi di file in una directory o estrarre filesystem incorporati. Il rilevamento dei tipi viene eseguito ovunque sia installato libmagic; l'estrazione è solo per Linux e richiede sudo più e2fsprogs/f2fs-tools.
Rapporto di test
Clonato il repo ed eseguito bin/ffind live: --help corrispondeva esattamente ai flag documentati, e su una directory di test con 6 file ha raggruppato i file per tipo MIME con conteggi ed emesso JSON strutturato (file totali, fallimenti di rilevamento). Il baseline era `file`/`file --mime-type`: stesse descrizioni libmagic sottostanti ma un elenco piatto per file, mentre ffind aggiunge la scansione ricorsiva della directory in una chiamata, il raggruppamento MIME, JSON e il bucket `device.pem` come application/x-pem-file rispetto al baseline testuale text/plain — un modesto miglioramento, quindi output ~6. Richiede python-magic+libmagic (altrimenti errori "python-magic non disponibile"); l'estrazione del filesystem headline (-e) è solo per Linux (losetup/mount) e non testabile su macOS. Bug documentale osservato: SKILL.md afferma che `-a` alterna solo artefatti vs tutti i tipi, ma il formattatore testuale stampa sempre tutti i tipi quindi il flag non ha avuto effetto. Verdetto setup perché lo strumento non è incluso nella directory skill (necessita dell'intero repo su PATH) e l'estrazione richiede sudo+e2fsprogs su Linux.
Testato il: 2026-07-21 · Claude Code 2.x (agent harness)
Installazione
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.
Comandi e prompt di esempio
/ffindRilevamento tipo file tramite libmagic più estrazione filesystem ext/F2FS per firmware
Gli skill si attivano con richieste in linguaggio naturale, senza comandi da ricordare. Dopo l'installazione, prompt come questi lo attivano (in inglese):
Identify file types inside this firmware dumpExtract the ext4 filesystem from this imageFind embedded F2FS partitions in this firmware file