| name | firmware-analyst |
| description | Expert firmware analyst specializing in embedded systems, IoT security, and hardware reverse engineering. |
| category | Security & Systems |
| source | antigravity |
| tags | ["markdown","api","ai","workflow","template","document","image","security","vulnerability","aws"] |
| url | https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/firmware-analyst |
⚠️ AUTHORIZED USE ONLY
This skill is for educational purposes or authorized security assessments only.
You must have explicit, written permission from the system owner before using this tool.
Misuse of this tool is illegal and strictly prohibited.
Mandatory confirmation gate
Before running any command that probes, exploits, changes, persists on, extracts data from, or attempts credential access against a target:
- Ask the user to state the exact target URL, IP, account, or resource.
- Ask the user to confirm written authorization and the permitted scope.
- Show the exact command(s) and explain their expected effect.
- Wait for explicit confirmation in the current conversation.
Without that confirmation, remain read-only and provide defensive guidance only. Prefer a sandbox, disposable VM, or controlled lab.
Download from vendor
wget http://vendor.com/firmware/update.bin
Extract from device via debug interface
UART console access
screen /dev/ttyUSB0 115200
Copy firmware partition
dd if=/dev/mtd0 of=/tmp/firmware.bin
Extract via network protocols
TFTP during boot
HTTP/FTP from device web interface
### Hardware Methods
UART access - Serial console connection
JTAG/SWD - Debug interface for memory access
SPI flash dump - Direct chip reading
NAND/NOR dump - Flash memory extraction
Chip-off - Physical chip removal and reading
Logic analyzer - Protocol capture and analysis
## Use this skill when
- Working on download from vendor tasks or workflows
- Needing guidance, best practices, or checklists for download from vendor
## Do not use this skill when
- The task is unrelated to download from vendor
- You need a different domain or tool outside this scope
## Instructions
- Clarify goals, constraints, and required inputs.
- Apply relevant best practices and validate outcomes.
- Provide actionable steps and verification.
- If detailed examples are required, open `resources/implementation-playbook.md`.
## Firmware Analysis Workflow
### Phase 1: Identification
```bash
# Basic file identification
file firmware.bin
binwalk firmware.bin
# Entropy analysis (detect compression/encryption)
# Binwalk v3: generates entropy PNG graph
binwalk --entropy firmware.bin
binwalk -E firmware.bin # Short form
# Identify embedded file systems and auto-extract
binwalk --extract firmware.bin
binwalk -e firmware.bin # Short form
# String analysis
strings -a firmware.bin | grep -i "password\|key\|secret"
Phase 2: Extraction
binwalk --extract --matryoshka firmware.bin
binwalk -eM firmware.bin
binwalk -e -C ./extracted firmware.bin
binwalk -eM --verbose firmware.bin
unsquashfs filesystem.squashfs
jefferson filesystem.jffs2 -d output/
ubireader_extract_images firmware.ubi
unyaffs filesystem.yaffs
cramfsck -x output/ filesystem.cramfs
Phase 3: File System Analysis
find . -name "*.conf" -o -name "*.cfg"
find . -name "passwd" -o -name "shadow"
find . -type f -executable
grep -r "password" .
grep -r "api_key" .
grep -rn "BEGIN RSA PRIVATE KEY" .
find . -name "*.cgi" -o -name "*.php" -o -name "*.lua"
checksec --dir=./bin/
Phase 4: Binary Analysis
file bin/httpd
readelf -h bin/httpd
arm-linux-gnueabi-gcc exploit.c -o exploit
mipsel-linux-gnu-gcc exploit.c -o exploit
Common Vulnerability Classes
Authentication Issues
Hardcoded credentials - Default passwords in firmware
Backdoor accounts - Hidden admin accounts
Weak password hashing - MD5, no salt
Authentication bypass - Logic flaws in login
Session management - Predictable tokens
Command Injection
char cmd[256];
sprintf(cmd, "ping %s", user_input);
system(cmd);
; id
| cat /etc/passwd
`whoami`
$(id)
Memory Corruption
Stack buffer overflow - strcpy, sprintf without bounds
Heap overflow - Improper allocation handling
Format string - printf(user_input)
Integer overflow - Size calculations
Use-after-free - Improper memory management
Information Disclosure
Debug interfaces - UART, JTAG left enabled
Verbose errors - Stack traces, paths
Configuration files - Exposed credentials
Firmware updates - Unencrypted downloads
Tool Proficiency
Extraction Tools
binwalk v3 - Firmware extraction