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.
View on GitHubBrownFineSecurity/iothackbot
iothackbot
January 15, 2026
Select agents to install to:
npx add-skill https://github.com/BrownFineSecurity/iothackbot/blob/main//skills/picocom/SKILL.md -a claude-code --skill picocomInstallation paths:
.claude/skills/picocom/# IoT UART Console (picocom) 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. ## Prerequisites - picocom must be installed on the system - Python 3 with pyserial library (`sudo pacman -S python-pyserial` on Arch, or `pip install pyserial`) - UART connection to the target device (USB-to-serial adapter, FTDI cable, etc.) - Appropriate permissions to access serial devices (typically /dev/ttyUSB* or /dev/ttyACM*) ## Recommended Approach: Serial Helper Script **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. ### Default Session Logging **ALL commands run by Claude will be logged to `/tmp/serial_session.log` by default.** To observe what Claude is doing in real-time: ```bash # 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. ### Why Use the Serial Helper? The helper script solves many problems with direct picocom usage: - **Clean output**: Automatically removes command echoes, prompts, and ANSI codes - **Prompt detection**: Automatically detects and waits for device prompts - **Timeout handling**: Proper timeout management with no arbitrary sleeps - **Easy scripting**: Simple command-line interface for single commands or batch operations - **Session logging**: All I/O logged to `/tmp/serial_session.log` for observation - **Reliable**: No issues with TTY requirements or background processes ### Quick Start with Serial Helper **Single Command:** ```bash python3 .claude/skills/picocom/serial_helper.py --device /dev/ttyUSB0 --command "help" ``` **With Custom Prompt (recommended f