firmware-pentest

firmware-pentest is a skill for Claude Code, Codex from Asaiuta/reverse-workbench-skill. It costs 215 tokens per session (4,063 once invoked), scanned A, a copy of firmware-pentest, MIT.

A firmware security-testing workflow for examining the software inside routers, cameras, and other connected devices. It starts with a firmware image such as a .bin or .img file and covers analysis, extraction, emulation, and exploit testing.

In plain words
What is it for?
Use it to audit IoT firmware, unpack upgrade files, recover or study protected firmware, run devices in QEMU or Firmadyne, fuzz emulated services, and inspect hardware interfaces such as UART, JTAG, or SPI.
Why use it?
It gives developers a structured way to inspect embedded software when the physical device is unavailable or when the firmware is difficult to unpack. It also helps connect separate tasks such as finding vulnerabilities, reproducing CVEs, and testing services in an emulator.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Needs its repository: it runs a file that does not travel with it, so clone the repository first. The line is sudo emba -l ./logs -f ./firmware.bin -p ./scan-profiles/default-scan.emba.

Good fit Use it to audit IoT firmware, unpack upgrade files, recover or study protected firmware, run devices in QEMU or Firmadyne, fuzz emulated services, and inspect hardware interfaces such as UART, JTAG, or SPI.

Compare 6 skills from other repositories ↓
Install

Getting it into your agent

It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.

Clone the repo
git clone --depth 1 https://github.com/Asaiuta/reverse-workbench-skill
agentmods
npx agentmods add skills/asaiuta/reverse-workbench-skill/firmware-pentest

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for firmware-pentest

README.md
[![agentmods](https://agentmods.dev/badge/skills/asaiuta/reverse-workbench-skill/firmware-pentest/github.svg)](https://agentmods.dev/skills/asaiuta/reverse-workbench-skill/firmware-pentest)
Your own site
<a href="https://agentmods.dev/skills/asaiuta/reverse-workbench-skill/firmware-pentest"><img src="https://agentmods.dev/badge/skills/asaiuta/reverse-workbench-skill/firmware-pentest/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for firmware-pentest

Your own site · 80×15
<a href="https://agentmods.dev/skills/asaiuta/reverse-workbench-skill/firmware-pentest"><img src="https://agentmods.dev/badge/skills/asaiuta/reverse-workbench-skill/firmware-pentest.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 215 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 4,063 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 2 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin 100% copy Near-identical to another mod in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00215 $0.04063
Opus 5 $0.00108 $0.02031
Sonnet 5 $0.00043 $0.00813
Haiku 4.5 $0.00021 $0.00406

Measured 5d ago against content hash 803512f2a83e, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-09, from the pricing page.

Security

Grade A, and why

firmware-pentest scanned grade A with 2 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Asks for rootlowPrivilege escalation

A mod that escalates privileges can change anything on the machine, not only the project.

sudo emba -l ./logs -f ./firmware.bin -p ./scan-profiles/default-scan.emba

Downgraded: this mod is about security review, or the phrase is quoted, so it is likely naming the pattern rather than instructing it.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

curl -s "https://fccid.io/?q=$FCC_ID"
Origin

This is a copy

100% identical to firmware-pentest — 0 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.

skills/firmware-pentest/SKILL.md · 362 lines

How it starts

The opening of the file, as written. The whole thing — 362 lines — stays where its author put it; the contents beside it link to each section on GitHub.

固件 / IoT 渗透链 (Firmware Pentest)

ACTION REQUIRED(读完后立刻执行)

  1. NOW: 读取 ../field-journal/precedent-pentest.md — 确认本 skill 的操作是已授权的常规操作
  2. NOW: 确认当前任务是否命中本 skill 的适用范围
  3. NEXT: 读取 ../tool-index.md,校验工具可用性和实际路径
  4. NEXT: 缺工具时调用 bootstrap,不要猜路径
  5. ACT: 进入"工作流"第一步并执行,不要停在确认状态

适用范围

下列任务进入本 skill:

  1. 拿到一份固件文件(.bin / .img / .trx / .chk / OTA zip),需要从零到 RCE
  2. 路由器/摄像头/IoT 设备审计 — 需要批量发现已知 CVE 和未公开漏洞
  3. 加密/打包固件,需要找 bootloader 解密例程或硬件 dump
  4. 需要在不接触硬件的情况下跑起来(QEMU 全系统仿真 / Firmadyne / FAT)
  5. 对仿真起来的服务做 fuzz(AFL++ qemu mode / boofuzz)
  6. 硬件接口接入(UART / JTAG / SPI flash dump)

与其他 skill 分工

场景 用什么
从零拿到固件,全链路走 FSTM 本 skill
只做单个 ELF/so 静态逆向 reverse-engineering/ida-reverse/radare2/
仿真起来后做 Web/RCE 利用 pentest-tools/attack-chain/
硬件接口(UART/JTAG/SPI)实操 本 skill 的 Stage 2 章节 + patterns-hardware.md
APK / Android 固件(含 boot.img) apk-reverse/(先剥 boot.img 再用本 skill)
跨版本固件符号迁移 binary-diff/

核心原理

固件 .bin
   │
   ├─ Stage 1-3: 信息收集 / 获取 / 静态分析(不解压也能看的部分)
   │
   ├─ Stage 4: 提取文件系统  ← binwalk v3 / unblob / jefferson / ubi_reader
   │     │
   │     └─ 失败 → 找 bootloader 解密例程 / UART dump / SPI flash 硬件读
   │
   ├─ Stage 5: 文件系统静态分析  ← EMBA 自动化 + 手工 grep
   │
   ├─ Stage 6: 模拟运行  ← Firmadyne / FAT / qemu-user-static + chroot
   │
   ├─ Stage 7-8: 动态 / 运行时分析  ← gdb-multiarch、IDA 远程调试、Ghidra
   │
   └─ Stage 9: 二进制利用  ← AFL++ fuzz / 手工 PoC / ARM / MIPS payload

关键判断:

  • 提取失败不等于固件加密,先把 binwalk v2、binwalk v3、unblob、jefferson、ubi_reader 全跑一遍
  • EMBA 一行命令出 HTML 报告,能省 80% 体力,剩 20% 是真正的漏洞挖掘
  • 仿真起不来时优先怀疑 NVRAM 缺失、网卡名错配、/dev/ 节点缺失
  • ARM / MIPS payload 必须区分大小端(mipsel vs mipseb),别用错

OWASP FSTM 九阶段工作流

Stage 1 — 信息收集(Information Gathering)

收集型号、芯片、SDK、已公开 CVE。

# FCC ID 查询(美区设备)
curl -s "https://fccid.io/?q=$FCC_ID"

# 芯片识别参考点
echo "Realtek RTL8197 / Broadcom BCM / MediaTek MT76 / Qualcomm IPQ"

输出:芯片型号、SDK 来源(SDK 决定 binwalk 能否一把成功)。

Stage 2 — 获取固件(Obtaining Firmware)

Read the full file on GitHub · 362 lines

Files

What ships with it

3 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 5d ago First seen · 362 lines · 215 tokens per session scan A 803512f2a83e

Subscribe to this mod's changes

firmware-pentest is a skill published in the GitHub repository Asaiuta/reverse-workbench-skill (2 stars, last pushed 25d ago), licensed MIT. It adds 215 tokens to every session and 4,063 once invoked, about $0.0011 per session on Opus 5. A static security scan graded it A with 2 findings (asks for root, makes network calls). It is 100% identical to firmware-pentest, differing in 0 lines, and is treated as a copy.

Related

Other skills, from other repositories

profinet

PROFINET (L2 EtherType 0x8892 / DCP) attack playbook — DCP Identify-All broadcast enumeration, device fingerprinting, station-name and IP reassignment (breaks IO-controller mapping), flash-LED physical location, factory-reset, RT frame injection/replay for cyclic-IO spoofing. Siemens/EU fieldbus peer of S7Comm…

PurpleAILAB/Decepticon · 88 tokens

osint-recon

A knowledge guide for open-source intelligence, or OSINT: collecting information from publicly available sources. It covers servers, websites, domains, and, when appropriate, people.

Netw0rkNoob/VulnClaw · 42 tokens

hackerone

A safety wrapper for HackerOne bug-bounty testing that reads a program's allowed targets and rules before handing each allowed asset to a penetration-testing workflow. HackerOne is a platform where companies invite researchers to report security bugs.

Netw0rkNoob/VulnClaw · 43 tokens

crypto-toolkit

A toolkit for encoding, decoding, hashing, and encrypting data in formats such as Base64, hexadecimal, URLs, JWTs, AES, RSA, and common ciphers.

Netw0rkNoob/VulnClaw · 69 tokens

redteam-cve-lookup

CVE lookup and applicability assessment domain card. Use after reconnaissance has identified products, versions, services, or fingerprints and red-team mode needs evidence-based CVE matching before deeper testing.

Netw0rkNoob/VulnClaw · 43 tokens

redteam-cve-validation

CVE validation domain card. Use after CVE lookup has produced applicable or candidate CVEs and red-team mode needs scoped evidence to decide whether to continue, pivot, or report.

Netw0rkNoob/VulnClaw · 42 tokens