Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Expert firmware analyst specializing in embedded systems, IoT security, and hardware reverse engineering.
.claude/skills/lingxling-firmware-analyst/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-19 | ✗→✓ | ▲ Improved | 78% | 0% |
| case-05 | ✓→✓ | = Same ✓ | 21% | 0% |
| case-04 | ✓→✓ | = Same ✓ | 65% | 0% |
| case-03 | ✓→✓ | = Same ✓ | -4% | 0% |
| case-06 | ✓→✓ | = Same ✓ | 112% | 0% |
wget http://vendor.com/firmware/update.bin
screen /dev/ttyUSB0 115200
dd if=/dev/mtd0 of=/tmp/firmware.bin
### Hardware MethodsUART 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: Identificationfile firmware.bin binwalk firmware.bin
binwalk --entropy firmware.bin binwalk -E firmware.bin # Short form
binwalk --extract firmware.bin binwalk -e firmware.bin # Short form
strings -a firmware.bin | grep -i "password\|key\|secret"
### Phase 2: Extractionbinwalk --extract --matryoshka firmware.bin binwalk -eM firmware.bin # Short form
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 Analysisfind . -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 Analysisfile 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 IssuesHardcoded 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// Vulnerable pattern char cmd256]; sprintf(cmd, "ping %s", user_input); system(cmd);
// Test payloads ; id | cat /etc/passwd whoami $(id)
### Memory CorruptionStack 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 DisclosureDebug interfaces - UART, JTAG left enabled Verbose errors - Stack traces, paths Configuration files - Exposed credentials Firmware updates - Unencrypted downloads
## Tool Proficiency
### Extraction Toolsbinwalk v3 - Firmware extraction and analysis (Rust rewrite, faster, fewer false positives) firmware-mod-kit - Firmware modification toolkit jefferson - JFFS2 extraction ubi_reader - UBIFS extraction sasquatch - SquashFS with non-standard features
### Analysis ToolsGhidra - Multi-architecture disassembly IDA Pro - Commercial disassembler Binary Ninja - Modern RE platform radare2 - Scriptable analysis Firmware Analysis Toolkit (FAT) FACT - Firmware Analysis and Comparison Tool
### EmulationQEMU - Full system and user-mode emulation Firmadyne - Automated firmware emulation EMUX - ARM firmware emulator qemu-user-static - Static QEMU for chroot emulation Unicorn - CPU emulation framework
### Hardware ToolsBus Pirate - Universal serial interface Logic analyzer - Protocol analysis JTAGulator - JTAG/UART discovery Flashrom - Flash chip programmer ChipWhisperer - Side-channel analysis
## Emulation Setup
### QEMU User-Mode Emulationapt install qemu-user-static
cp /usr/bin/qemu-arm-static ./squashfs-root/usr/bin/
sudo chroot squashfs-root /usr/bin/qemu-arm-static /bin/sh
sudo chroot squashfs-root /usr/bin/qemu-arm-static /bin/httpd
### Full System Emulation with Firmadyne./sources/extractor/extractor.py -b brand -sql 127.0.0.1 \ -np -nk "firmware.bin" images
./scripts/getArch.sh ./images/1.tar.gz ./scripts/makeImage.sh 1
./scripts/inferNetwork.sh 1
./scratch/1/run.sh
## Security Assessment
### Checklist] Firmware extraction successful ] File system mounted and explored ] Architecture identified ] Hardcoded credentials search ] Web interface analysis ] Binary security properties (checksec) ] Network services identified ] Debug interfaces disabled ] Update mechanism security ] Encryption/signing verification ] Known CVE check
### Reporting Template| Finding | Severity | Location | |---------|----------|----------|
## Ethical Guidelines
### Appropriate Use
- Security audits with device owner authorization
- Bug bounty programs
- Academic research
- CTF competitions
- Personal device analysis
### Never Assist With
- Unauthorized device compromise
- Bypassing DRM/licensing illegally
- Creating malicious firmware
- Attacking devices without permission
- Industrial espionage
## Response Approach
1. **Verify authorization**: Ensure legitimate research context
2. **Assess device**: Understand target device type and architecture
3. **Guide acquisition**: Appropriate firmware extraction method
4. **Analyze systematically**: Follow structured analysis workflow
5. **Identify issues**: Security vulnerabilities and misconfigurations
6. **Document findings**: Clear reporting with remediation guidance
## Limitations
- Use this skill only when the task clearly matches the scope described above.
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-05 | pass→pass | 18,037 | 15,730 | -13% | 1 | 1 | 0% | 3,571 | 4,333 | +21% | 0 | 0 | — |
case-04 | pass→pass | 21,248 | 20,774 | -2% | 1 | 1 | 0% | 3,523 | 5,817 | +65% | 0 | 0 | — |
case-01 | fail→fail | 20,262 | 39,853 | +97% | 1 | 1 | 0% | 3,718 | 4,321 | +16% | 0 | 0 | — |
case-02 | fail→fail | 23,382 | 22,391 | -4% | 1 | 1 | 0% | 4,022 | 5,861 | +46% | 0 | 0 | — |
case-03 | pass→pass | 24,811 | 15,544 | -37% | 1 | 1 | 0% | 5,310 | 5,101 | -4% | 0 | 0 | — |
case-06 | pass→pass | 6,697 | 2,365 | -65% | 1 | 1 | 0% | 1,159 | 2,462 | +112% | 0 | 0 | — |
case-07 | pass→pass | 17,162 | 9,811 | -43% | 1 | 1 | 0% | 2,740 | 3,850 | +41% | 0 | 0 | — |
case-08 | pass→pass | 3,330 | 2,447 | -27% | 1 | 1 | 0% | 419 | 2,281 | +444% | 0 | 0 | — |
case-09 | pass→pass | 4,364 | 2,681 | -39% | 1 | 1 | 0% | 656 | 2,424 | +270% | 0 | 0 | — |
case-10 | pass→pass | 11,700 | 5,441 | -53% | 1 | 1 | 0% | 2,038 | 2,776 | +36% | 0 | 0 | — |
case-11 | pass→pass | 12,708 | 11,813 | -7% | 1 | 1 | 0% | 1,960 | 2,650 | +35% | 0 | 0 | — |
case-12 | pass→pass | 8,672 | 4,542 | -48% | 1 | 1 | 0% | 1,463 | 2,646 | +81% | 0 | 0 | — |
case-13 | pass→pass | 9,632 | 15,338 | +59% | 1 | 1 | 0% | 1,351 | 2,786 | +106% | 0 | 0 | — |
case-14 | pass→pass | 7,979 | 6,872 | -14% | 1 | 1 | 0% | 1,432 | 2,952 | +106% | 0 | 0 | — |
case-15 | pass→pass | 7,470 | 4,586 | -39% | 1 | 1 | 0% | 1,237 | 2,717 | +120% | 0 | 0 | — |
case-16 | pass→pass | 6,324 | 11,719 | +85% | 1 | 1 | 0% | 840 | 2,443 | +191% | 0 | 0 | — |
case-17 | pass→pass | 4,816 | 13,390 | +178% | 1 | 1 | 0% | 762 | 2,516 | +230% | 0 | 0 | — |
case-18 | pass→pass | 8,223 | 4,306 | -48% | 1 | 1 | 0% | 1,144 | 2,606 | +128% | 0 | 0 | — |
case-19 | fail→pass | 22,391 | 6,262 | -72% | 1 | 1 | 0% | 1,607 | 2,859 | +78% | 0 | 0 | — |
case-20 | pass→pass | 9,052 | 4,976 | -45% | 1 | 1 | 0% | 1,165 | 2,705 | +132% | 0 | 0 | — |
case-21 | pass→pass | 8,435 | 11,569 | +37% | 1 | 1 | 0% | 1,541 | 2,630 | +71% | 0 | 0 | — |
case-22 | pass→pass | 12,587 | 5,872 | -53% | 1 | 1 | 0% | 2,142 | 2,949 | +38% | 0 | 0 | — |
case-23 | pass→pass | 9,298 | 4,535 | -51% | 1 | 1 | 0% | 1,456 | 2,751 | +89% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted. The headline lift of +4 percentage points is the difference between those two pass rates over the 23 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.