CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

binwalk-extract

Firmware image extraction with binwalk and firmware-mod-kit — recursive archive carving, squashfs/jffs2/ubifs mounting, entropy analysis to detect packed/encrypted regions, and nested container handling. Entry point for all static filesystem analysis after a raw binary image is acquired.

Quality

85%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Medium

Suggest reviewing before use

SKILL.md
Quality
Evals
Security

Quality

Content

82%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A highly actionable, well-sequenced operational playbook: executable commands with fallback chains for every major filesystem type, useful entropy heuristics, and OPSEC/evidence capture guidance. The residual gaps are minor — a few pre-flight validation guards on the find-resolved image variables and modest trimming of enumeration commands.

Suggestions

Guard each filesystem step before acting on find results, e.g. '[ -n "$SQFS" ] || echo "no squashfs image found" && exit', so unsquashfs never runs on an empty variable.

Trim enumeration padding such as 'ls ... | head -40' triage listings and fold the step-1 entropy comments into the interpretation table to avoid stating the heuristic twice.

Consider moving the per-filesystem mount deep dives (JFFS2 loop mount, UBI attach) into a one-level-deep reference file to shorten the main workflow.

DimensionReasoningScore

Conciseness

The body is dominated by lean, executable command blocks with terse, purposeful comments, and the entropy-interpretation table is genuinely non-obvious domain knowledge. Minor instances of trimming opportunity (e.g. 'ls "$ROOT/usr/bin/" | head -40' enumeration, entropy interpretation repeated in both step-1 comments and the table) keep it below the 'every token earns its place' anchor.

4 / 5

Actionability

Fully executable, copy-paste-ready commands throughout: 'binwalk -eM -C "$OUTDIR"', 'sasquatch -p 1 -le -d', 'ubireader_extract_files -o', an inline python magic-byte scanner, and 'dd' carving — all with variables defined and fallback paths covering the common cases (standard unsquashfs → sasquatch → forced endianness; jefferson → kernel loop mount; binwalk miss → manual carving).

5 / 5

Workflow Clarity

Steps 1–8 are clearly sequenced with fallback/error-recovery loops ('If both fail, force a specific compression type', 'Manual Carving (when binwalk misses)') and a verification checkpoint ('ls /tmp/squashfs_root/{bin,etc,lib,usr,var}'). Not the top anchor because validation is sparse: no guard that $SQFS/$JFFS2_IMG/$UBI_IMG actually resolved before use, and the Method B 'dd ... of=/dev/mtd0' path runs unchecked.

4 / 5

Progressive Disclosure

Well-organized single-file skill with clear sections (Prerequisites, Steps 1–8, Evidence, OPSEC, References) and a genuine fallback chain (binwalk → FMK → manual carving). It sits at the 'good structure, minor organization gaps' anchor rather than the top because the ~240-line body inlines per-filesystem deep dives (JFFS2/UBIFS mount procedures, the manual carving script) that could live in one-level-deep reference files, and no bundle references exist to offload them.

4 / 5

Total

17

/

20

Passed

Description

83%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong description: concrete, comprehensive capability statements anchored to named tools, with an explicit pipeline-position 'when' clause and highly distinct triggers. The main gap is the absence of user-facing trigger synonyms and file extensions that would push trigger-term coverage and completeness to the top anchor.

Suggestions

Add concrete user trigger phrases and synonyms to the description, e.g. 'Use when the user mentions firmware extraction, a .bin/.img firmware dump, or wants a router/IoT filesystem unpacked'.

Mention file extensions or acquisition artifacts users would name (.bin, .img, flash dump) to round out trigger-term coverage.

DimensionReasoningScore

Specificity

The description lists multiple concrete, comprehensive actions — 'recursive archive carving, squashfs/jffs2/ubifs mounting, entropy analysis to detect packed/encrypted regions, and nested container handling' — anchored to named tools (binwalk, firmware-mod-kit). It exceeds the score-4 anchor ('lists several specific actions; minor gaps') because coverage spans identification, extraction, mounting, and packed-region detection with no notable gap.

5 / 5

Completeness

The 'what' is explicit and concrete, and the 'when' is present as equivalent explicit trigger guidance — 'Entry point for all static filesystem analysis after a raw binary image is acquired' — so it is not capped at 3. It stops short of the score-5 anchor because the 'when' is pipeline-framed (position in a workflow) rather than concrete user-facing trigger phrases like 'use when the user mentions firmware extraction'.

4 / 5

Trigger Term Quality

Good natural keyword coverage: 'binwalk', 'firmware', 'squashfs', 'jffs2', 'ubifs', 'entropy analysis', 'nested container' are terms users in this domain would actually say. It falls short of the score-5 anchor because common synonyms and file extensions a user might mention (e.g. '.bin'/'.img' firmware dump, 'extract filesystem', 'router firmware') are absent.

4 / 5

Distinctiveness Conflict Risk

It occupies a clear niche — firmware image extraction with binwalk/firmware-mod-kit — with distinct tool- and format-specific triggers (squashfs, jffs2, ubifs) that virtually no other skill would claim. Third-person noun-phrase voice throughout; no voice penalty applies.

5 / 5

Total

18

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

Total

15

/

16

Passed

Repository

PurpleAILAB/Decepticon

Path

packages/decepticon/decepticon/skills/standard/iot/binwalk-extract/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.