Ffind

Rilevamento tipo file tramite libmagic più estrazione filesystem ext/F2FS per firmware

di BrownFineSecurity · BrownFineSecurity/iothackbot

Richiede configurazione ★ 8.0/10

Ffind — Rilevamento tipo file tramite libmagic più estrazione filesystem ext/F2FS per firmware

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 dump
  • Extract the ext4 filesystem from this image
  • Find embedded F2FS partitions in this firmware file