Ffind

Filtypdetektering via libmagic plus ext/F2FS filsystemsextraktion för firmware

av BrownFineSecurity · BrownFineSecurity/iothackbot

Fungerar med konfiguration ★ 8.0/10

Ffind — Filtypdetektering via libmagic plus ext/F2FS filsystemsextraktion för firmware

Vad den gör

Wrapper för iothackbot `ffind` CLI för att identifiera filtyper via libmagic och eventuellt extrahera ext2/3/4 eller F2FS filsystem från firmwareavbildningar, med text/JSON-utdata. Triggers när användaren vill analysera en firmwareblob, identifiera filtyper över en katalog eller extrahera inbäddade filsystem. Typdetektering körs var libmagic är installerat; extraktion är endast Linux och kräver sudo plus e2fsprogs/f2fs-tools.

Testrapport

Klonade repot och körde bin/ffind live: --help matchade de dokumenterade flaggorna exakt, och på en 6-filstestkatalog grupperade den filer efter MIME-typ med antal och emitterade strukturerad JSON (total_filer, detekteringsfel). Baslinjen var `file`/`file --mime-type`: samma underliggande libmagic-beskrivningar men en platt per-fil-lista, medan ffind lägger till rekursiv kataloggenomsökning i ett anrop, MIME-gruppering, JSON och bucketed device.pem som application/x-pem-file vs baseline text/plain — en blygsam förbättring, så utdata ~6. Kräver python-magic+libmagic (fel "python-magic not available" annars); den rubrikerade filsystemsextraktionen (-e) är endast Linux (losetup/mount) och otestbar på macOS. Observerad dokumentationsbugg: SKILL.md hävdar att -a växlar artefakt-endast vs alla typer, men textformateraren skriver alltid ut alla typer så flaggan hade ingen effekt. Domäninstallation på grund av att verktyget inte är buntat i skill-katalogen (behöver hela repot på PATH) och extraktion kräver sudo+e2fsprogs på Linux.

Testad: 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.

Kommandon och exempelprompter

  • /ffindFiltypdetektering via libmagic plus ext/F2FS filsystemsextraktion för firmware

Skills triggas av vanliga förfrågningar — inga kommandon att memorera. Efter installationen aktiverar prompter som dessa skillen (på engelska):

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