Claude Code로 Pi Zero 2W BadUSB 디버깅하기: '불가능한' 버그 수정

✍️ OpenClawRadar📅 게시일: May 26, 2026🔗 Source
Claude Code로 Pi Zero 2W BadUSB 디버깅하기: '불가능한' 버그 수정
Ad

약 10개월 전, 한 개발자가 Pi Zero 2W BadUSB 툴킷을 만들었지만 "공격 간 완전 리셋" 기능은 작동하지 않았습니다. WIP로 표시된 채 방치되었습니다. 이번 주, 그들은 Claude Code를 페어 프로그래머로 삼아 프로젝트를 처음부터 다시 구축했습니다. 결과: "불가능"했던 기능이 이제 작동하며, 세션 중 몇 가지 미묘한 버그가 발견되었습니다.

Ad

Claude Code가 한 일

  • 한 번에 근본 원인 진단: 리스너는 /dev/hidg0 존재 여부를 감시했지만, 이는 부팅 시 항상 존재하므로 호스트 연결 여부와 관계없이 전원 켜짐 시 페이로드를 실행했습니다. 올바른 신호는 /sys/class/udc/<udc>/state == "configured"입니다.
  • 하드웨어 한계를 실험적으로 확인: 첫 번째 수정이 완전히 작동하지 않자, Claude가 SSH로 접속하여 개발자에게 케이블을 연결/해제하도록 요청하고 sysfs와 dwc2 debugfs regdump 레지스터를 폴링했습니다. 케이블 상태와 관계없이 GOTGCTL 레지스터가 0x000d0000에서 고정됨을 발견했습니다. Pi Zero 2W는 SoC의 OTG 블록에 VBUS 감지가 연결되어 있지 않았습니다. Claude는 쿨다운 및 속도 제한 안전장치가 있는 활성 언바인드 해결 방법으로 전환했습니다.
  • 조용히 실패하는 Python 버그 발견: open(udc_path, "w").write("")는 0바이트로 write(2)를 호출하지 않습니다. CPython의 TextIOWrapper가 호출을 생략합니다. 이로 인해 1시간 동안 테스트에서 언바인드가 실제로 실행되지 않았습니다. os.write(fd, b"\n")로 수정하여 시스템 콜을 강제했습니다.
  • configfs에서 금지된 해제 순서 수정: rm -rf가 실패했는데, configfs는 커널 관리 속성 파일의 링크 해제를 금지하기 때문입니다. 올바른 순서는 리프에서 루트로 rmdir만 사용하는 것입니다.
  • 모의 HID 엔진에 대한 34개 테스트의 pytest 스위트 작성: 이를 통해 Pi 없이도 모든 호스트에서 파서 테스트가 가능합니다.
  • AI 메모리 업데이트: 개발자는 Claude의 장기 메모리로 Postgres를 사용합니다. 이 버그 항목들은 이제 유사한 configfs/USB-가젯 프로젝트에서 참조됩니다.

전체 작업 세션은 약 4시간이 걸렸으며, 대부분 물리적 연결/해제를 기다리는 시간이었습니다. PR은 적절한 공동 작성자 태그와 테스트 계획이 포함된 6개의 잘 구성된 커밋으로 이루어졌습니다. 프로젝트(Pi-Zero-2W-Bad-USB)는 MIT 라이선스이며, Ducky-Script 스타일의 페이로드 언어, 변수, IF/WHILE, HOLD/RELEASE, INJECT MOD, RANDOM *, US/UK 키맵, 선택적 RO 대용량 스토리지 가젯, systemd 통합, 멱등 설치 프로그램을 포함합니다.

Claude Code로 하드웨어 인더루프 워크플로우를 수행하는 개발자에게 이는 sysfs 및 레지스터 수준에서 AI 지원 디버깅의 설득력 있는 사례 연구입니다.

📖 전체 출처 읽기: r/ClaudeAI

Ad

👀 See Also

개발자, 클로드 코드에 루트 접근 권한 부여, 개발 워크플로우 전환
Use Cases

개발자, 클로드 코드에 루트 접근 권한 부여, 개발 워크플로우 전환

한 개발자가 Claude Code에 서버의 루트 접근 권한을 부여하고 모든 명령을 모니터링한 결과, 이 AI가 증상만 해결하는 것이 아닌 근본 원인을 해결하는 차분하고 체계적인 변경을 수행함을 발견했습니다. 이 경험은 그들의 워크플로를 프로덕션 환경을 복제한 환경에서 직접 개발하는 방식으로 전환하게 했습니다.

OpenClawRadar
🦀
Use Cases

주말에 AI로 방 찾기 앱 만들기: 브로커 스팸을 이기기 위해 레딧 데이터 스크래핑

주말에 만든 AI 도구로 Reddit에서 전세/월세 매물을 스크래핑하여 NoBroker나 MagicBricks 같은 중개인 스팸을 피합니다. 데모: https://trurent-five.vercel.app/

OpenClawRadar
음성 노트와 SCQA 구조를 활용한 콘텐츠 파이프라인 (OpenClaw 사용)
Use Cases

음성 노트와 SCQA 구조를 활용한 콘텐츠 파이프라인 (OpenClaw 사용)

한 개발자가 SaySo 음성 받아쓰기와 SCQA 구조(상황, 복잡성, 질문, 답변)를 활용한 콘텐츠 제작 워크플로를 공유하며, 이 방법으로 생성된 첫 번째 기사가 며칠 만에 200회 이상 추가되었다고 보고했습니다.

OpenClawRadar
DevOps 엔지니어가 Claude Code를 사용하여 맞춤형 터미널 앱을 구축합니다.
Use Cases

DevOps 엔지니어가 Claude Code를 사용하여 맞춤형 터미널 앱을 구축합니다.

수년간의 경력을 가진 데브옵스/SRE 엔지니어가 Claude Code를 사용하여 오랫동안 구상했지만 혼자서 완성하지 못했던 터미널 애플리케이션을 구축했습니다. AI는 기본 구조와 통합 작업을 처리했고, 엔지니어는 제품 결정에 집중할 수 있었습니다.

OpenClawRadar