Raspberry Pi Zero 2W の BadUSB を Claude Code でデバッグ:「ありえない」バグの修正

✍️ OpenClawRadar📅 公開日: May 26, 2026🔗 Source
Raspberry Pi Zero 2W の BadUSB を Claude Code でデバッグ:「ありえない」バグの修正
Ad

約10か月前、開発者がPi Zero 2W BadUSBツールキットを構築したが、「攻撃間の完全リセット」機能が動作しなかった。WIPとしてマークされ、放置されていた。今週、彼らはClaude Codeをペアプログラマーとしてプロジェクトをエンドツーエンドで再構築した。結果、「不可能」とされた機能が動作し、セッションでいくつかの微妙なバグが明らかになった。

Ad

Claude Codeが行ったこと

  • 1回の読み取りで根本原因を診断: リスナーは/dev/hidg0の存在を監視していたが、これは起動時からtrueであり、ホスト接続に関係なく電源投入時にペイロードが発射されていた。正しい信号は/sys/class/udc/<udc>/state == "configured"である。
  • ハードウェアの制約を実証的に確認: 最初の修正が完全に機能しなかったとき、ClaudeはSSHで接続し、開発者にケーブルの抜き差しを依頼しながらsysfsとdwc2のdebugfs regdumpレジスタをポーリングした。GOTGCTLレジスタがケーブル状態に関係なく0x000d0000で固定されていることを発見 — Pi Zero 2WにはSoCのOTGブロックにVBUSセンスが配線されていない。クールダウンとレート制限付きのアクティブアンバインド回避策に切り替えた。
  • 無音のPythonバグを発見: open(udc_path, "w").write("")はゼロバイトでのwrite(2)を呼び出さない — CPythonのTextIOWrapperが呼び出しを省略する。アンバインドは1時間のテスト中no-opだった。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がマルチプラットフォームアプリ向けエンタープライズReleaseOpsシステムを統括
Use Cases

OpenClawがマルチプラットフォームアプリ向けエンタープライズReleaseOpsシステムを統括

ある開発者が、OpenClawを使用して、Web、iOS、Android、TVプラットフォームにまたがる約100万人のユーザーを抱えるアプリのQAプロセスを管理する半自動ReleaseOpsシステムを構築しました。このシステムは、チケット管理、テストスクリプトのログ出力を自動化し、GPT-4 miniを使用してすべてを統合しています。

OpenClawRadar
APIを介してClaudeとCanvaを連携し、デザイン生成を自動化する方法
Use Cases

APIを介してClaudeとCanvaを連携し、デザイン生成を自動化する方法

RedditユーザーがClaudeをCanvaのAPIに接続し、平易な英語のプロンプトで編集可能なCanvaファイル(フォント、間隔、レイアウトが調整されたもの)を生成できるようにした事例を報告。週に数時間の節約につながっている。

OpenClawRadar
Claudeコードエージェントが本番環境でどう連携するか:オーケストレーターの視点から
Use Cases

Claudeコードエージェントが本番環境でどう連携するか:オーケストレーターの視点から

6つの専門的なClaude Codeエージェント(コーダー、デザイナー、マーケティング、QA、セキュリティ、運用)を運用するチームが、機能、デザイン、ソーシャルコンテンツを毎日自律的にリリースするオーケストレーターシステムについて詳細を説明しています。タスクのディスパッチ、エージェント間の引き継ぎ、障害シナリオ、そして調整においてステートマシンがメッセージキューよりも優れている理由についてカバーしています。

OpenClawRadar
ClaudeとMCPを活用したコンテンツ制作・公開ワークフロー
Use Cases

ClaudeとMCPを活用したコンテンツ制作・公開ワークフロー

開発者がMCP統合を介してClaudeを出版プラットフォームとして使用する方法を説明し、チャットインターフェースを離れることなく記事の作成、編集、公開を可能にしています。ワークフローには下書き作成、リンク追加、公開スケジューリング、既存コンテンツの更新が含まれます。

OpenClawRadar