Ffind
Détection de type de fichier via libmagic et extraction de systèmes de fichiers ext/F2FS pour firmware
Fonctionne avec configuration
Ce que fait
Encapsule l'outil CLI iothackbot `ffind` pour identifier les types de fichiers via libmagic et extraire optionnellement les systèmes de fichiers ext2/3/4 ou F2FS des images de firmware, avec sortie texte/JSON. Se déclenche lorsque l'utilisateur souhaite analyser un blob de firmware, identifier des types de fichiers dans un répertoire, ou extraire des systèmes de fichiers embarqués. La détection de type fonctionne partout où libmagic est installé ; l'extraction est Linux-only et nécessite sudo plus e2fsprogs/f2fs-tools.
Rapport de test
Cloné le dépôt et exécuté bin/ffind en direct : --help correspondait exactement aux drapeaux documentés, et sur un répertoire de test de 6 fichiers, il a regroupé les fichiers par type MIME avec des comptes et émis du JSON structuré (total_files, detection_failures). La référence était `file`/`file --mime-type` : mêmes descriptions libmagic sous-jacentes mais une liste plate par fichier, tandis que ffind ajoute une exploration récursive de répertoire en un seul appel, un regroupement MIME, du JSON, et a classé device.pem comme application/x-pem-file vs la référence text/plain — une amélioration modeste, donc sortie ~6. Nécessite python-magic+libmagic (erreurs "python-magic not available" sinon) ; l'extraction de système de fichiers principale (-e) est Linux-only (losetup/mount) et non testable sur macOS. Bug de documentation observé : SKILL.md affirme que `-a` bascule entre les artefacts uniquement et tous les types, mais le formateur de texte imprime toujours tous les types, donc le drapeau n'a eu aucun effet. Verdict setup car l'outil n'est pas inclus dans le répertoire de la compétence (nécessite le dépôt entier sur PATH) et l'extraction nécessite sudo+e2fsprogs sur Linux.
Testé le: 2026-07-21 · Claude Code 2.x (agent harness)
Installation
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.
Commandes et exemples de prompts
/ffindDétection de type de fichier via libmagic et extraction de systèmes de fichiers ext/F2FS pour firmware
Les skills se déclenchent sur des demandes en langage courant — aucune commande à retenir. Après installation, des prompts comme ceux-ci l'activent (en anglais) :
Identify file types inside this firmware dumpExtract the ext4 filesystem from this imageFind embedded F2FS partitions in this firmware file