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

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.
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
regdumpdo dwc2 debugfs. Descobriu que o registroGOTGCTLcongela em0x000d0000independentemente 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 invocawrite(2)com zero bytes — oTextIOWrapperdo CPython omite a chamada. A desvinculação era um no-op por uma hora de testes. Corrigido paraos.write(fd, b"\n")para forçar uma syscall. - Corrigiu desmontagem proibida no configfs:
rm -rffalhava porque o configfs proíbe desvincular arquivos de atributo gerenciados pelo kernel. A sequência correta é apenasrmdir, 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
👀 See Also

Sistema Automatizado de Diário de Desenvolvimento Diário com Integração Discord
Um sistema que captura a atividade de desenvolvimento do Discord, gera resumos visuais e publica posts de blog diários automaticamente usando kabi-discord-cli, cron jobs e implantação no GitHub/Vercel.

Traduza para pt: Os Princípios do Papa-Léguas de Chuck Jones como Princípios de Design de Identidade para Agentes de IA
Uma publicação no Reddit analisa como as 9 regras de Chuck Jones para os desenhos animados do Papa-Léguas se aplicam ao design de identidade de agentes de IA, destacando a Regra 2 sobre modos de falha internos, a Regra 3 sobre evitar loops de otimização e a Regra 9 sobre falha graciosa.

API de Lote Custo-Eficaz para Alterações de Código em Múltiplos Arquivos
Um desenvolvedor relata o uso do Claude Sonnet e Opus para processamento em lote para modificar mais de 30 arquivos e gerar 3 mil linhas de código por aproximadamente £2, com prompts específicos e ferramentas como Repomix para coleta de conteúdo e Minimax para limpeza.

Claude AI foi usado para criar um filme especulativo de 15 minutos, do conceito à finalização.
Um usuário testou as capacidades de raciocínio e escrita criativa do Claude para desenvolver um conceito completo de filme, roteiro e direção de cena para um filme especulativo de 15 minutos sobre IA, abordando uma família em um conflito hipotético no Oriente Médio, com o Claude lidando com o tema central da 'Escolha Impossível'.