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

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

개발자, 클로드 코드에 루트 접근 권한 부여, 개발 워크플로우 전환
한 개발자가 Claude Code에 서버의 루트 접근 권한을 부여하고 모든 명령을 모니터링한 결과, 이 AI가 증상만 해결하는 것이 아닌 근본 원인을 해결하는 차분하고 체계적인 변경을 수행함을 발견했습니다. 이 경험은 그들의 워크플로를 프로덕션 환경을 복제한 환경에서 직접 개발하는 방식으로 전환하게 했습니다.
주말에 AI로 방 찾기 앱 만들기: 브로커 스팸을 이기기 위해 레딧 데이터 스크래핑
주말에 만든 AI 도구로 Reddit에서 전세/월세 매물을 스크래핑하여 NoBroker나 MagicBricks 같은 중개인 스팸을 피합니다. 데모: https://trurent-five.vercel.app/

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

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