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

✍️ OpenClawRadar📅 Опубликовано: 26 мая 2026 г.🔗 Source
Отладка BadUSB на Pi Zero 2W с помощью Claude Code: исправление «невозможной» ошибки
Ad

Около 10 месяцев назад разработчик создал набор инструментов BadUSB на базе Pi Zero 2W, но одна функция — «полный сброс между атаками» — так и не заработала. Помеченная как «в разработке», она была заброшена. На этой неделе он пересобрал проект «под ключ» с Claude Code в качестве парного программиста. Результат: «невозможная» функция теперь работает, а в ходе сессии были обнаружены несколько тонких ошибок.

Ad

Что сделал Claude Code

  • Диагностировал первопричину с первого прочтения: Прослушиватель проверял наличие /dev/hidg0 — оно было с момента загрузки, поэтому полезные нагрузки запускались при включении питания независимо от подключения хоста. Правильный сигнал — /sys/class/udc/<udc>/state == "configured".
  • Эмпирически подтвердил аппаратное ограничение: Когда первое исправление не сработало полностью, Claude подключился по SSH, попросил разработчика подключать/отключать кабель, пока сам опрашивал sysfs и регистр GOTGCTL в dwc2 debugfs regdump. Выяснилось, что регистр 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

Ad

👀 Смотрите также

Агент RunLobster AI интегрирует бизнес-данные для получения операционной аналитики.
Кейсы

Агент RunLobster AI интегрирует бизнес-данные для получения операционной аналитики.

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

OpenClawRadar
Как Нил Каккар использует Claude Code для автоматизации рабочего процесса разработки
Кейсы

Как Нил Каккар использует Claude Code для автоматизации рабочего процесса разработки

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

OpenClawRadar
Пользователь Reddit сообщает, что использование Claude для архитектуры сюжета повышает удержание аудитории в видео.
Кейсы

Пользователь Reddit сообщает, что использование Claude для архитектуры сюжета повышает удержание аудитории в видео.

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

OpenClawRadar
Использование Claude для создания PainSignal: База данных из 1000 реальных бизнес-проблем
Кейсы

Использование Claude для создания PainSignal: База данных из 1000 реальных бизнес-проблем

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

OpenClawRadar