Отладка BadUSB на Pi Zero 2W с помощью Claude Code: исправление «невозможной» ошибки

Около 10 месяцев назад разработчик создал набор инструментов BadUSB на базе Pi Zero 2W, но одна функция — «полный сброс между атаками» — так и не заработала. Помеченная как «в разработке», она была заброшена. На этой неделе он пересобрал проект «под ключ» с Claude Code в качестве парного программиста. Результат: «невозможная» функция теперь работает, а в ходе сессии были обнаружены несколько тонких ошибок.
Что сделал Claude Code
- Диагностировал первопричину с первого прочтения: Прослушиватель проверял наличие
/dev/hidg0— оно было с момента загрузки, поэтому полезные нагрузки запускались при включении питания независимо от подключения хоста. Правильный сигнал —/sys/class/udc/<udc>/state == "configured". - Эмпирически подтвердил аппаратное ограничение: Когда первое исправление не сработало полностью, Claude подключился по SSH, попросил разработчика подключать/отключать кабель, пока сам опрашивал sysfs и регистр
GOTGCTLв dwc2 debugfsregdump. Выяснилось, что регистрGOTGCTLзастывает на значении0x000d0000независимо от состояния кабеля — на Pi Zero 2W сигнал VBUS sense не подключен к блоку OTG SoC. Был применён обходной путь с активным отключением, включающий период охлаждения и защиту от частых срабатываний. - Обнаружил молчаливую ошибку Python:
open(udc_path, "w").write("")не вызываетwrite(2)с нулевым количеством байт —TextIOWrapperв CPython пропускает этот вызов. В течение часа тестирования операция отключения фактически не выполнялась. Исправлено наos.write(fd, b"\n"), чтобы принудительно вызвать системный вызов. - Исправил запрещённый в configfs демонтаж:
rm -rfне срабатывал, потому что configfs запрещает удаление файлов атрибутов, управляемых ядром. Правильная последовательность — толькоrmdir, от листьев к корню. - Написал набор тестов pytest из 34 тестов для имитации HID-движка, что позволяет тестировать парсер на любом хосте без Pi.
- Обновил память ИИ: Разработчик использует Postgres для долговременной памяти Claude — теперь записи об этих ошибках используются в аналогичных проектах с configfs и USB-gadget.
Вся рабочая сессия заняла около 4 часов, в основном из-за ожидания физического подключения/отключения. В пул-реквесте было шесть хорошо структурированных коммитов с правильными тегами соавторов и планом тестирования. Проект (Pi-Zero-2W-Bad-USB) распространяется по лицензии MIT, включает язык сценариев в стиле Ducky-Script, переменные, IF/WHILE, HOLD/RELEASE, INJECT MOD, RANDOM *, раскладки US/UK, опциональный гаджет RO mass-storage, интеграцию с systemd и идемпотентный установщик.
Для разработчиков, использующих Claude Code в циклах с аппаратным обеспечением, это убедительный пример отладки с помощью ИИ на уровне sysfs и регистров.
📖 Источник: r/ClaudeAI
👀 Смотрите также

Агент RunLobster AI интегрирует бизнес-данные для получения операционной аналитики.
Разработчик предоставил RunLobster полный доступ к бизнес-системам, включая Stripe, CRM, электронную почту и расшифровки звонков. Агент автономно отслеживает операции, отмечает аномалии и предоставляет подробные отчёты на основе интегрированного анализа данных.

Как Нил Каккар использует Claude Code для автоматизации рабочего процесса разработки
Нил Каккар описывает автоматизацию создания pull request с помощью навыка /git-pr, переход на SWC для перезапуска сервера менее чем за секунду и использование функции предпросмотра Claude Code для автоматической проверки изменений в интерфейсе.

Пользователь Reddit сообщает, что использование Claude для архитектуры сюжета повышает удержание аудитории в видео.
Пользователь Reddit отследил более 150 AI-каналов и обнаружил, что большинство из них прекратили существование до 10 видео из-за несогласованного контента. Они сообщают об использовании Claude для проектирования архитектуры истории вместо простого написания сценариев, а затем сочетают его с LongStories для визуальной согласованности, увеличивая удержание с 40% до 60%.

Использование Claude для создания PainSignal: База данных из 1000 реальных бизнес-проблем
Разработчик использовал Claude Code для создания PainSignal — платформы, которая систематизирует 1000 реальных бизнес-проблем из таких отраслей, как грузоперевозки и клининг. Claude обработал классификацию данных, кластеризацию возможностей и генерацию концепций приложений.