Ffind

Dateityperkennung via libmagic plus ext/F2FS Dateisystemextraktion für Firmware

von BrownFineSecurity · BrownFineSecurity/iothackbot

Funktioniert mit Setup ★ 8.0/10

Ffind — Dateityperkennung via libmagic plus ext/F2FS Dateisystemextraktion für Firmware

Was es kann

Umschließt das iothackbot `ffind` CLI zur Identifizierung von Dateitypen via libmagic und optionalen Extraktion von ext2/3/4- oder F2FS-Dateisystemen aus Firmware-Images, mit Text-/JSON-Ausgabe. Wird ausgelöst, wenn der Benutzer einen Firmware-Blob analysieren, Dateitypen in einem Verzeichnis identifizieren oder eingebettete Dateisysteme extrahieren möchte. Die Typerkennung funktioniert überall dort, wo libmagic installiert ist; die Extraktion ist nur unter Linux möglich und erfordert sudo plus e2fsprogs/f2fs-tools.

Testbericht

Das Repo geklont und bin/ffind live ausgeführt: --help stimmte exakt mit den dokumentierten Flags überein, und in einem Testverzeichnis mit 6 Dateien wurden diese nach MIME-Typen mit Zählungen gruppiert und strukturiertes JSON (total_files, detection_failures) ausgegeben. Die Baseline war `file`/`file --mime-type`: gleiche zugrunde liegende libmagic-Beschreibungen, aber eine flache Liste pro Datei, während ffind rekursiven Verzeichnisdurchlauf in einem Aufruf, MIME-Gruppierung, JSON und die Kategorisierung von device.pem als application/x-pem-file gegenüber der Baseline text/plain hinzufügt – eine bescheidene Verbesserung, daher Ausgabe ~6. Erfordert python-magic+libmagic (sonst Fehler "python-magic not available"); die herausragende Dateisystemextraktion (-e) ist nur unter Linux (losetup/mount) und auf macOS nicht testbar. Dokumentationsfehler beobachtet: SKILL.md behauptet, `-a` schaltet zwischen nur Artefakten und allen Typen um, aber der Textformatter druckt immer alle Typen, sodass das Flag keine Wirkung hatte. Urteil: Setup, da das Tool nicht im Skill-Verzeichnis gebündelt ist (benötigt das gesamte Repo im PATH) und die Extraktion sudo+e2fsprogs unter Linux erfordert.

Getestet am: 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.

Befehle & Beispiel-Prompts

  • /ffindDateityperkennung via libmagic plus ext/F2FS Dateisystemextraktion für Firmware

Skills reagieren auf normale Anfragen — keine Slash-Befehle nötig. Nach der Installation aktivieren Prompts wie diese den Skill (auf Englisch):

  • Identify file types inside this firmware dump
  • Extract the ext4 filesystem from this image
  • Find embedded F2FS partitions in this firmware file