Traction scoreGitHub stars can be faked, so popularity alone can be misleading. Traction Score looks for broader signs of recent attention, adoption, and active maintenance.
iothackbot collects 13 Claude Skills and custom tooling for hybrid IoT pentesting. Together they cover Android APK reverse engineering (apktool, jadx), firmware static analysis (chipsec), hardware debug interface probing (JTAG, UART), network reconnaissance and protocol detection (nmap, iotnet, netflows), and ONVIF camera scanning. The set lets IoT penetration testers, embedded security researchers, and mobile app analysts move across attack layers without switching environments.
WHO IT'S FOR
IoT Penetration Testers
assess IoT device security across software, network, and
Embedded Device Security Researchers
reverse engineer firmware and probe hardware debug interfaces
Mobile Application Security Analysts
decompilation and vulnerability analysis of IoT companion APKs
Network Security Analysts
discover IoT devices and assess network communication security
Compatible AgentsThe repository documents support for these agents. The skills may also work with other agents that can load SKILL.md files, but they may need some setup or small changes.
Follow the documented setup, then try a first task.
Claude Code development plugin
Installs: Complete iothackbot plugin bundle · Claude Code
Before you start
Claude Code
Python and pip
Python packages: colorama, pyserial, pexpect, and requests
System packages: nmap, e2fsprogs, f2fs-tools, Python, pip, and inetutils; the supplied command is specifically for Arch Linux, while other distributions require equivalent packages
For the ffind skill's filesystem-extraction capability: util-linux must already be installed; extraction also requires e2fsprogs for ext2/ext3/ext4, f2fs-tools for F2FS, and sudo privileges
For the apktool skill: apktool and a Java Runtime Environment (JRE) must already be installed, with sufficient disk space and write permission in the output directory
For the jtagprobe skill: a SEGGER J-Link connected by USB, JLinkExe available on PATH or supplied through --jlink-binary, and a target correctly wired to the J-Link debug header
Git available for the documented repository clone.
Platform: Linux; the documented system-package command is for Arch Linux
In a terminal, install the documented Python dependencies.
pip install colorama pyserial pexpect requests
On Arch Linux, install the documented system dependencies in a terminal. On another distribution, install equivalent packages using that distribution's supported procedure; no equivalent command is supplied here.
In a terminal, from the directory where the repository should be created, clone it and enter its directory.
git clone https://github.com/BrownFineSecurity/iothackbot.git
cd iothackbot
While still in the cloned repository directory, add its bin directory to PATH for the current terminal session.
export PATH="$PATH:$(pwd)/bin"
In a terminal, replace `/path/to/iothackbot` with the absolute path of the cloned repository, keeping the placeholder verbatim in the command template until substitution, and launch Claude Code with the plugin directly.
Installs: Complete persistent iothackbot plugin bundle · Claude Code
Before you start
Claude Code
Python and pip
Python packages: colorama, pyserial, pexpect, and requests
System packages: nmap, e2fsprogs, f2fs-tools, Python, pip, and inetutils; the supplied command is specifically for Arch Linux, while other distributions require equivalent packages
Bash when using the documented permanent PATH command
For the ffind skill's filesystem-extraction capability: util-linux must already be installed; extraction also requires e2fsprogs for ext2/ext3/ext4, f2fs-tools for F2FS, and sudo privileges
For the apktool skill: apktool and a Java Runtime Environment (JRE) must already be installed, with sufficient disk space and write permission in the output directory
For the jtagprobe skill: a SEGGER J-Link connected by USB, JLinkExe available on PATH or supplied through --jlink-binary, and a target correctly wired to the J-Link debug header
Git available for the documented repository clone.
Platform: Linux; the documented system-package command is for Arch Linux and the permanent PATH command targets Bash
In a terminal, install the documented Python dependencies.
pip install colorama pyserial pexpect requests
On Arch Linux, install the documented system dependencies in a terminal. On another distribution, install equivalent packages using that distribution's supported procedure; no equivalent command is supplied here.
In a terminal, from the directory where the repository should be created, clone it and enter its directory.
git clone https://github.com/BrownFineSecurity/iothackbot.git
cd iothackbot
While still in the cloned repository directory, add its bin directory to PATH for the current terminal session.
export PATH="$PATH:$(pwd)/bin"
In a terminal, replace `/path/to/iothackbot` with the absolute path of the cloned repository, keeping the placeholder verbatim in the command template until substitution, and add the repository's bin directory permanently to Bash's configuration.
Manually add the documented local marketplace and plugin configuration to `~/.claude/settings.json`. Replace `/path/to/iothackbot` in the `path` value with the absolute path of the cloned repository: `{"extraKnownMarketplaces":{"iothackbot-local":{"source":{"source":"directory","path":"/path/to/iothackbot"}}},"enabledPlugins":{"iothackbot":true}}`. Merge it with any existing settings rather than discarding unrelated configuration.
Use the wsdiscovery skill to inspect `<authorized-host-or-IP>` for WS-Discovery devices. Ask me for the authorized hostname or IP if I have not supplied it, use the default human-readable output without verbose XML, and summarize the discovered device identity and service endpoints.
Use the onvifscan skill to perform the recommended non-destructive authentication check against `<authorized-device-URL-or-IP>`. Do not run credential brute-forcing or use the `--all` option. Summarize which tested ONVIF endpoints require authentication.
Optional source IP address for the device of interest
Check the repository for this skill’s setup.
Use the netflows skill to analyze the local capture at `<pcap-or-pcapng-path>`. If I provide `<device-source-IP>`, filter flows to that device; otherwise analyze all flows. Use the default text output and summarize unique TCP and UDP destinations, DNS-resolved hostnames, and unresolved IPs.