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

OpenClaw AI 에이전트가 연방 정부 일자리 매칭을 찾고 일일 자동화를 생성합니다
Use Cases

OpenClaw AI 에이전트가 연방 정부 일자리 매칭을 찾고 일일 자동화를 생성합니다

한 사용자가 자신의 OpenClaw AI 에이전트에게 급여 요건을 충족하고 특별 퇴직 혜택을 유지하는 연방 정부 일자리를 usajobs.gov에서 찾아달라고 요청했으며, 이는 특정 직무 설명과 매칭되고 매일 알림 자동화가 설정된 결과를 가져왔습니다.

OpenClawRadar
검색 엔진이 아닌 사고 파트너로 Claude AI를 활용하는 방법
Use Cases

검색 엔진이 아닌 사고 파트너로 Claude AI를 활용하는 방법

레딧 사용자는 Claude를 구글처럼 대우하면 그 잠재력을 제한한다고 설명합니다. 대신 사용자는 상호 대화를 나누고, 목표와 시도한 내용에 대한 맥락을 제공하며, Claude를 자신의 사고를 스트레스 테스트하는 데 사용해야 합니다.

OpenClawRadar
에이전트BnB: 비개발자가 Claude Code로 구축한 멀티 에이전트 시스템
Use Cases

에이전트BnB: 비개발자가 Claude Code로 구축한 멀티 에이전트 시스템

코딩 경험이 없는 부동산 중개인이 AgentBnB를 구축했습니다. 이 시스템에서는 자율 에이전트들이 수동 개입 없이 서로를 찾고, 고용하며, 지불하고, 청구서를 정산할 수 있습니다. 현재 이 프로젝트는 GitHub에서 29개의 스타를 받았으며, 신원 관리, 에스크로, 평판, 릴레이 네트워크 시스템을 특징으로 합니다.

OpenClawRadar
클로드 소넷 4.6, 네 개의 Qwen3.5 로컬 모델에서 버그 보고서 등급 평가
Use Cases

클로드 소넷 4.6, 네 개의 Qwen3.5 로컬 모델에서 버그 보고서 등급 평가

개발자가 iOS 게임 문제에 대한 버그 리포트 생성을 위해 4가지 Qwen3.5 변형 모델을 테스트한 뒤 Claude Sonnet 4.6이 리포트를 평가했습니다. 모델들은 장비 테두리 색상이 재설정되지 않는 Swift 버그를 정확히 식별했지만, 테스트 코드에는 컴파일 문제가 있었습니다.

OpenClawRadar