Ffind

Filtypegenkendelse via libmagic plus ext/F2FS filsystemekstraktion til firmware

Af BrownFineSecurity · BrownFineSecurity/iothackbot

Virker med opsætning ★ 8.0/10

Ffind — Filtypegenkendelse via libmagic plus ext/F2FS filsystemekstraktion til firmware

Hvad det gør

Wrapper om iothackbot `ffind` CLI'et til at identificere filtyper via libmagic og valgfrit udtrække ext2/3/4 eller F2FS filsystemer fra firmware-images, med tekst/JSON output. Udløses, når brugeren ønsker at analysere en firmware-blob, identificere filtyper på tværs af en mappe eller udtrække indlejrede filsystemer. Typegenkendelse kører overalt, hvor libmagic er installeret; ekstraktion er kun Linux og kræver sudo plus e2fsprogs/f2fs-tools.

Testrapport

Klonede repoet og kørte bin/ffind live: --help matchede de dokumenterede flags præcist, og på en testmappe med 6 filer grupperede den filer efter MIME-type med antal og udsendte struktureret JSON (total_filer, detektionsfejl). Baseline var `file`/`file --mime-type`: samme underliggende libmagic-beskrivelser, men en flad liste per fil, hvorimod ffind tilføjer rekursiv mappegennemgang i ét kald, MIME-gruppering, JSON og bucketed device.pem som application/x-pem-file vs. baseline text/plain — en beskeden forbedring, så output ~6. Kræver python-magic+libmagic (fejl "python-magic not available" ellers); den fremhævede filsystemekstraktion (-e) er kun Linux (losetup/mount) og kan ikke testes på macOS. Observeret dokumentationsfejl: SKILL.md hævder, at -a skifter mellem kun artefakter vs. alle typer, men tekstformateringen udskriver altid alle typer, så flaget havde ingen effekt. Vurdering: setup, fordi værktøjet ikke er bundtet i skill-mappen (kræver hele repoet på PATH) og ekstraktion kræver sudo+e2fsprogs på Linux.

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

Kommandoer og eksempelprompter

  • /ffindFiltypegenkendelse via libmagic plus ext/F2FS filsystemekstraktion til firmware

Skills udløses af almindelige forespørgsler — ingen kommandoer at huske. Efter installationen 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