Depurando um BadUSB Pi Zero 2W com Claude Code: Corrigindo um Bug 'Impossível'

✍️ OpenClawRadar📅 Publicado: May 26, 2026🔗 Source
Depurando um BadUSB Pi Zero 2W com Claude Code: Corrigindo um Bug 'Impossível'
Ad

Cerca de 10 meses atrás, um desenvolvedor montou um kit BadUSB com Pi Zero 2W, mas um recurso — "reset completo entre ataques" — nunca funcionou. Marcado como WIP, foi abandonado. Esta semana, eles reconstruíram o projeto do zero com Claude Code como programador-par. O resultado: o recurso "impossível" agora funciona, e a sessão revelou vários bugs sutis.

Ad

O que Claude Code fez

  • Diagnosticou a causa raiz em uma leitura: O listener monitorava a existência de /dev/hidg0 — verdadeira desde a inicialização — então disparava payloads ao ligar, independentemente da conexão do host. O sinal correto é /sys/class/udc/<udc>/state == "configured".
  • Confirmou empiricamente limitação de hardware: Quando a primeira correção não funcionou completamente, Claude acessou via SSH, pediu ao desenvolvedor para conectar/desconectar enquanto ele consultava sysfs e o registro regdump do dwc2 debugfs. Descobriu que o registro GOTGCTL congela em 0x000d0000 independentemente do estado do cabo — o Pi Zero 2W não tem VBUS sense ligado ao bloco OTG do SoC. Mudou para uma solução de desvinculação ativa com cooldown e proteção de taxa.
  • Pegou um bug silencioso em Python: open(udc_path, "w").write("") não invoca write(2) com zero bytes — o TextIOWrapper do CPython omite a chamada. A desvinculação era um no-op por uma hora de testes. Corrigido para os.write(fd, b"\n") para forçar uma syscall.
  • Corrigiu desmontagem proibida no configfs: rm -rf falhava porque o configfs proíbe desvincular arquivos de atributo gerenciados pelo kernel. A sequência correta é apenas rmdir, da folha para a raiz.
  • Escreveu um conjunto de testes pytest com 34 testes contra um mecanismo HID simulado, permitindo testar o parser em qualquer host sem um Pi.
  • Atualizou a memória da IA: O desenvolvedor usa Postgres como memória de longo prazo para Claude — essas entradas de bug agora são referenciadas em projetos similares de configfs/gadget USB.

Toda a sessão de trabalho levou cerca de 4 horas, principalmente esperando por conexões/desconexões físicas. O PR teve seis commits bem es-copados com tags de co-autor e um plano de teste. O projeto (Pi-Zero-2W-Bad-USB) é licenciado sob MIT, com linguagem de payload estilo Ducky-Script, variáveis, IF/WHILE, HOLD/RELEASE, INJECT MOD, RANDOM *, mapas de teclado US/UK, gadget de armazenamento em massa RO opcional, integração com systemd e instalador idempotente.

Para desenvolvedores que fazem workflows com hardware-in-the-loop com Claude Code, este é um estudo de caso convincente em depuração assistida por IA no nível de sysfs e registros.

📖 Leia a fonte completa: r/ClaudeAI

Ad

👀 See Also

Como um animador 3D solo construiu um assistente persistente de desenvolvimento de negócios com IA usando os plugins Claude Cowork
Use Cases

Como um animador 3D solo construiu um assistente persistente de desenvolvimento de negócios com IA usando os plugins Claude Cowork

Um estúdio de animação 3D individual criou um assistente persistente de desenvolvimento de negócios com IA (chamado Reid) usando plugins do Claude Cowork — lidando com pesquisa de prospectos, acompanhamento de follow-ups, preparação de pitches e estratégia. Design-chave: um papel com uma persona estratégica e direta que molda todas as saídas.

OpenClawRadar
Experiência de Engenheiro de TI com Desenvolvimento Assistido por IA Revela Armadilhas Comuns
Use Cases

Experiência de Engenheiro de TI com Desenvolvimento Assistido por IA Revela Armadilhas Comuns

Um engenheiro de TI com formação em sistemas e automação compartilha sua jornada usando IA para desenvolvimento full-stack, detalhando problemas arquiteturais específicos que surgiram conforme as aplicações cresceram, incluindo manipulação excessiva de dados no lado do cliente, separação inadequada de responsabilidades e problemas de segurança.

OpenClawRadar
Teste Autônomo de Super Mario Usando Modelos de Comportamento
Use Cases

Teste Autônomo de Super Mario Usando Modelos de Comportamento

Explore o teste autônomo em Super Mario usando um gerador de entrada baseado em mutação para descobrir casos extremos e explorar espaços de estado de forma mais eficaz.

OpenClawRadar
Agente de Teste OpenClaw para Aplicativos Móveis: Configuração e Resultados
Use Cases

Agente de Teste OpenClaw para Aplicativos Móveis: Configuração e Resultados

Um desenvolvedor criou um agente de teste móvel no OpenClaw que executa etapas de teste em inglês simples em emuladores na nuvem, detectando bugs que os testes manuais não capturam. O serviço custa US$ 350-600/mês por cliente e converteu 70-75% dos leads de teste.

OpenClawRadar