Ffind

Filtypegjenkjenning via libmagic pluss ext/F2FS filsystemekstraksjon for firmware

av BrownFineSecurity · BrownFineSecurity/iothackbot

Krever oppsett ★ 8.0/10

Ffind — Filtypegjenkjenning via libmagic pluss ext/F2FS filsystemekstraksjon for firmware

Hva den gjør

Pakker iothackbot `ffind` CLI for å identifisere filtyper via libmagic og valgfritt trekke ut ext2/3/4 eller F2FS filsystemer fra firmware-avbildninger, med tekst/JSON-utdata. Utløses når brukeren ønsker å analysere en firmware-blob, identifisere filtyper på tvers av en katalog, eller trekke ut innebygde filsystemer. Typegjenkjenning kjører hvor libmagic er installert; ekstraksjon er kun Linux og krever sudo pluss e2fsprogs/f2fs-tools.

Testrapport

Klonet repoet og kjørte bin/ffind live: --help matchet de dokumenterte flaggene nøyaktig, og på en testkatalog med 6 filer grupperte den filer etter MIME-type med antall og ga strukturert JSON (total_filer, deteksjonsfeil). Baseline var `file`/`file --mime-type`: samme underliggende libmagic-beskrivelser, men en flat liste per fil, mens ffind legger til rekursiv kataloggjennomgang i én samtale, MIME-gruppering, JSON, og bucketed device.pem som application/x-pem-file vs baseline text/plain — en beskjeden forbedring, så output ~6. Krever python-magic+libmagic (feil "python-magic not available" ellers); den overskrift-filsystem-ekstraksjonen (-e) er kun Linux (losetup/mount) og utestbar på macOS. Observert dokumentasjonsfeil: SKILL.md hevder -a veksler artefakt-kun vs alle typer, men tekstformatoren skriver alltid ut alle typer, så flagget hadde ingen effekt. Vurdering satt opp fordi verktøyet ikke er bundlet i skill-katalogen (trenger hele repoet på PATH) og ekstraksjon krever sudo+e2fsprogs på Linux.

Testet på: 2026-07-21 · Claude Code 2.x (agent harness)

Installer

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.

Kommandoer og eksempelprompter

  • /ffindFiltypegjenkjenning via libmagic pluss ext/F2FS filsystemekstraksjon for firmware

Skills utløses av vanlige forespørsler — ingen kommandoer å huske. Etter installasjonen aktiverer prompter som disse skillen (på engelsk):

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