Jtagprobe

SWD/JTAG-felsökningsport-pentestprobe via en fysisk SEGGER J-Link, klassificerar OPEN/LOCKED/DEAD.

av BrownFineSecurity · BrownFineSecurity/iothackbot

Testad · Fungerar ★ 9.6/10

Jtagprobe — SWD/JTAG-felsökningsport-pentestprobe via en fysisk SEGGER J-Link, klassificerar OPEN/LOCKED/DEAD.

Vad den gör

Driver en riktig J-Link (via det bifogade jtagprobe Python-CLI:t) för att svepa SWD och sedan JTAG vid flera klockhastigheter, identifiera kiseltillverkaren från DPIDR/IDCODE, och försöka halt+minnesläsning för att klassificera ett måls felsökningsgränssnitt som OPEN, LOCKED eller DEAD. Triggas vid bedömning av om en felsökningsport på chippet är exponerad på fysisk hårdvara; kräver JLinkExe och en ansluten J-Link, och försöker inte låsa upp eller mass-radera.

Testrapport

Det här är ett riktigt 195-raders Python-verktyg (inte vaporware) kopplat till SEGGERs JLinkExe; matade den provutläsningen DPIDR/all-0xFF från sin egen dokumentation och den resonerade korrekt LOCKED-inte-raderad (en lyckad halt plus giltig CPUID utesluter ett blankt/osäkrat chip) och citerade det exakta STM32 RDP-registret att kontrollera — ett hårdvaruberoende verktyg som är öppet med att det behöver en fysisk J-Link.

Testad: 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

Kommandon och exempelprompter

  • /jtagprobeSWD/JTAG-felsökningsport-pentestprobe via en fysisk SEGGER J-Link, klassificerar OPEN/LOCKED/DEAD.

Skills triggas av vanliga förfrågningar — inga kommandon att memorera. Efter installationen aktiverar prompter som dessa skillen (på engelska):

  • Check whether the debug port on this board is exposed over SWD
  • Sweep JTAG and SWD on this chip and tell me if it's locked or open
  • Identify the silicon vendor on this target using its debug port