Jtagprobe
SWD/JTAG-Debug-Port-Pentest-Probe über einen physischen SEGGER-J-Link, klassifiziert OPEN/LOCKED/DEAD.
Getestet · Funktioniert
Was es kann
Steuert einen echten J-Link (über die mitgelieferte jtagprobe-Python-CLI), um SWD und dann JTAG bei mehreren Taktfrequenzen zu durchsuchen, den Silizium-Hersteller aus DPIDR/IDCODE zu identifizieren und per Halt+Memory-Read zu versuchen, das Debug-Interface eines Ziels als OPEN, LOCKED oder DEAD zu klassifizieren. Reagiert, wenn geprüft wird, ob ein On-Chip-Debug-Port auf physischer Hardware exponiert ist; benötigt JLinkExe und einen verkabelten J-Link, versucht kein Unlock oder Mass-Erase.
Testbericht
Ein echtes 195-Zeilen-Python-Tool (kein Vaporware), verdrahtet mit SEGGERs JLinkExe; bekam das Beispiel-DPIDR/All-0xFF-Readout aus der eigenen Doku und schloss korrekt auf LOCKED-not-erased (ein erfolgreicher Halt plus gültige CPUID schließen einen leeren/unfused Chip aus) und zitierte das genaue STM32-RDP-Register zur Prüfung — ein hardwareabhängiges Tool, das offen kommuniziert, dass es einen physischen J-Link braucht.
Getestet am: 2026-07-13 · Claude Code 2.x (agent harness)
Installation
git clone https://github.com/BrownFineSecurity/iothackbot cd iothackbot mkdir -p ~/.claude/skills cp -r skills/jtagprobe ~/.claude/skills/jtagprobe # also add iothackbot/bin to PATH for the actual jtagprobe CLI (tools/iothackbot/jtagprobe.py) to run
Befehle & Beispiel-Prompts
/jtagprobeSWD/JTAG-Debug-Port-Pentest-Probe über einen physischen SEGGER-J-Link, klassifiziert OPEN/LOCKED/DEAD.
Skills reagieren auf normale Anfragen — keine Slash-Befehle nötig. Nach der Installation aktivieren Prompts wie diese den Skill (auf Englisch):
Check whether the debug port on this board is exposed over SWDSweep JTAG and SWD on this chip and tell me if it's locked or openIdentify the silicon vendor on this target using its debug port