Router / IoT firmware extraction pipeline — unpack nested filesystems, locate web server, identify backdoor credentials.
79%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Passed
No findings from the security scan
Fix and improve this skill with Tessl
tessl review fix ./packages/decepticon/decepticon/skills/standard/reverser/firmware/SKILL.mdapt-get install -y binwalk squashfs-tools cramfsprogs
mkdir -p /workspace/fw && cd /workspace/fw
binwalk -eM /workspace/firmware.bin
find _firmware.bin.extracted -name "squashfs-root" -o -name "rootfs"ROOT=$(find _firmware.bin.extracted -type d -name "squashfs-root" | head -1)
ls -la "$ROOT/etc/"
cat "$ROOT/etc/passwd" # look for hardcoded users
cat "$ROOT/etc/shadow" # password hashes — feed to hashcat
cat "$ROOT/etc/init.d/S*" 2>/dev/null
cat "$ROOT/etc/rc.d/rc.local" 2>/dev/nullfind "$ROOT" -name "httpd" -o -name "lighttpd" -o -name "nginx" -o -name "boa"
# For each: bin_identify + bin_strings + bin_symbols_reportCGI binaries under www/cgi-bin/ are the highest-yield targets — often
one file per endpoint with direct system() calls from query params.
bin_strings(path=web_server_binary, category_filter="secret")
bin_strings(path=web_server_binary, category_filter="crypto")Also check for base64 / hex key patterns near strcmp calls (manual
audit via the active Ghidra runtime. Hosted runs import the extracted binary
under /workspace with ghidra_import_file; use ghidra_find_tools for
native capabilities not initially listed. Standalone runs may expose local
script generation tools instead.)
Look for:
strcmp(user, "admin"))/debug, /cgi-bin/shell, .sys)bootargs.txt in extraction)For the extracted busybox / kernel / dropbear / openssl versions:
cve_by_package("busybox", "1.27.2", "OSS-Fuzz")
cve_lookup("CVE-2021-28831,CVE-2023-0464")Add:
repo node for the firmware imagefile nodes for each interesting binarycredential nodes for any hardcoded credsvulnerability nodes for each audit findingentrypoint for each cgi-bin pathPurpleAILAB/Decepticon
49888ee
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.