Отладка 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

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

Автоматизированная система ежедневного журнала разработки с интеграцией Discord
Кейсы

Автоматизированная система ежедневного журнала разработки с интеграцией Discord

Система, которая фиксирует активность разработки в Discord, генерирует визуальные сводки и автоматически публикует ежедневные записи в блоге с использованием kabi-discord-cli, cron-задач и развертывания на GitHub/Vercel.

OpenClawRadar
Запуск нескольких ИИ-агентов кодирования с OpenClaw: Настройка пользовательского провайдера и проблемы кросси-агентной памяти
Кейсы

Запуск нескольких ИИ-агентов кодирования с OpenClaw: Настройка пользовательского провайдера и проблемы кросси-агентной памяти

В этом посте описывается настройка OpenClaw со сторонним API-провайдером (DeepInfra) для запуска нескольких агентов кодирования (бэкенд, фронтенд, миграции) без ограничений скорости, а также проблема изоляции памяти между агентами, которая возникла.

OpenClawRadar
Использование Claude AI для создания многоразовых чек-листов маркетинга приложений для разработчиков-одиночек
Кейсы

Использование Claude AI для создания многоразовых чек-листов маркетинга приложений для разработчиков-одиночек

Одинокий iOS-разработчик использовал Claude AI для создания комплексного маркетингового чек-листа, охватывающего задачи до запуска, в неделю запуска и после запуска, сократив процесс с двух недель до одного дня на приложение.

OpenClawRadar
Siri интегрирован с Claude Code через Telegram-бота для персонального AI-ассистента
Кейсы

Siri интегрирован с Claude Code через Telegram-бота для персонального AI-ассистента

Разработчик создал персонального ИИ-ассистента по имени Snoopy, который соединяет Siri с Claude Code через Telegram-бота, позволяя использовать голосовые команды с постоянной памятью и интеграциями с Mac, Spotify, WhatsApp, iMessage, Календарём, браузером и файлами.

OpenClawRadar