apktool
Android APK unpacking and resource extraction tool for reverse engineering. Use when you need to decode APK files, extract…
Use picocom to interact with IoT device UART consoles for pentesting operations including device enumeration, vulnerability discovery, bootloader manipulation, and gaining root shells. Use when the user needs to interact with embedded devices, IoT hardware, or serial consoles.
Claude Code
$ npx -y skills add brownfinesecurity/iothackbot --skill picocom --agent claude-code
Codex
$ npx skills add brownfinesecurity/iothackbot --skill picocom -a codex -y
Cursor
$ npx skills add brownfinesecurity/iothackbot --skill picocom -a cursor -y
Gemini CLI
$ npx skills add brownfinesecurity/iothackbot --skill picocom -a gemini-cli -y
GitHub Copilot
$ npx skills add brownfinesecurity/iothackbot --skill picocom -a github-copilot -y
OpenCode
$ npx skills add brownfinesecurity/iothackbot --skill picocom -a opencode -y
Windsurf
$ npx skills add brownfinesecurity/iothackbot --skill picocom -a windsurf -y
name: picocom description: Use picocom to interact with IoT device UART consoles for pentesting operations including device enumeration, vulnerability discovery, bootloader manipulation, and gaining root shells. Use when the user needs to interact with embedded devices, IoT hardware, or serial consoles.
This skill enables interaction with IoT device UART consoles using picocom for security testing and penetration testing operations. It supports bootloader interaction, shell access (with or without authentication), device enumeration, and vulnerability discovery.
**IMPORTANT**: This skill includes a Python helper script (`serial_helper.py`) that provides a clean, reliable interface for serial communication. **This is the RECOMMENDED method** for interacting with IoT devices.
**ALL commands run by Claude will be logged to `/tmp/serial_session.log` by default.**
To observe what Claude is doing in real-time:
# In a separate terminal, run: tail -f /tmp/serial_session.log
This allows you to watch all serial I/O as it happens without interfering with the connection.
The helper script solves many problems with direct picocom usage:
**Single Command:**
python3 .claude/skills/picocom/serial_helper.py --device /dev/ttyUSB0 --command "help"
**With Custom Prompt (recommended for known devices):**
python3 .claude/skills/picocom/serial_helper.py --device /dev/ttyUSB0 --prompt "User@[^>]+>" --command "ifconfig"
**Interactive Mode:**
python3 .claude/skills/picocom/serial_helper.py --device /dev/ttyUSB0 --interactive
**Batch Commands from File:**
# Create a file with commands (one per line) echo -e "help\ndate\nifconfig\nps" > commands.txt python3 .claude/skills/picocom/serial_helper.py --device /dev/ttyUSB0 --script commands.txt
**JSON Output (for parsing):**
python3 .claude/skills/picocom/serial_helper.py --device /dev/ttyUSB0 --command "help" --json
**Debug Mode:**
python3 .claude/skills/picocom/serial_helper.py --device /dev/ttyUSB0 --command "help" --debug
**Session Logging (for observation):**
# Terminal 1 - Run with logging python3 .claude/skills/picocom/serial_helper.py \ --device /dev/ttyUSB0 \ --prompt "User@[^>]+>" \ --logfile /tmp/session.log \ --interactive # Terminal 2 - Watch the session in real-time tail -f /tmp/session.log
**Note:** See `OBSERVING_SESSIONS.md` for comprehensive guide on monitoring serial sessions.
See [examples.md](examples.md) for full worked attack walkthroughs: basic connection/enumeration, U-Boot bootloader exploitation, login-auth bypass, privilege escalation from a limited user, and firmware extraction.
**NEW FEATURE**: Monitor mode is designed for passive UART monitoring where the device outputs logs without prompts or interaction.
**Use cases:**
**Basic passive monitoring:**
python3 .claude/skills/picocom/serial_helper.py \ --device /dev/ttyUSB0 \ --monitor \ --duration 30 \ --logfile /tmp/uart.log
**Monitor with external trigger script:**
# Run external script after 5 seconds and capture triggered UART output python3 .claude/skills/picocom/serial_helper.py \ --device /dev/ttyUSB0 \ --monitor \ --duration 60 \ --trigger-script "python3 /path/to/test_script.py" \ --trigger-delay 5 \ --logfile /tmp/triggered_uart.log
**Monitor with baseline capture:**
# Capture 10s baseline, run trigger at 15s, continue for total 60s python3 .claude/skills/picocom/serial_helper.py \ --device /dev/ttyUSB0 \ --monitor \ --duration 60 \ --trigger-script "curl http://192.168.1.100/api/reboot" \ --trigger-delay 15 \ --baseline-duration 10 \ --logfile /tmp/reboot_monitor.log
**Monitor mode options:**
**Output includes:**
Required (one of): --command, -c CMD Execute single command --interactive, -i Enter interactive mode --script, -s FILE Execute commands from file --monitor, -m Passive monitoring mode (just listen, no commands) Connection Options: --device, -d DEV Serial device (default: /d
Open-source IoT security testing toolkit with integrated Claude Code skills for automated vulnerability discovery.
Android APK unpacking and resource extraction tool for reverse engineering. Use when you need to decode APK files, extract…
Static analysis of UEFI/BIOS firmware dumps using Intel's chipsec framework. Decode firmware structure, detect known malware and…
Advanced file finder with type detection and filesystem extraction for analyzing firmware and extracting embedded filesystems.…
IoT network traffic analyzer for detecting IoT protocols and identifying security vulnerabilities in network communications. Use…
Android APK decompiler that converts DEX bytecode to readable Java source code. Use when you need to decompile APK files, analyze…
Probe IoT/embedded targets for exposed SWD/JTAG debug interfaces using a SEGGER J-Link. Detects whether debug is OPEN, LOCKED…
Use for authorized security assessment of REST, GraphQL, WebSocket, or SOAP APIs, including discovery, authentication,…
Extract and decrypt Windows DPAPI-protected secrets (Credential Manager, browser logins/cookies, Wi-Fi credentials, KeePass keys)…
Clean and finalize authorized natural-language text intended for readers by auditing suspicious invisible Unicode and rewriting…