Разработчик под ником mttm опубликовал на Habr перевод своего эксперимента: он поместил GitHub Copilot за MITM-прокси, чтобы изучить, какие данные и как ИИ-ассистент отправляет на серверы. Интерес к внутреннему устройству Copilot возник из-за быстрого исчерпания кредитов: автор заметил, что каждый месяц тратит их всё быстрее, и решил разобраться, как работает ассистент.

Для эксперимента использовался mitmproxy — опенсорсный инструмент для перехвата и анализа HTTP-трафика. Он действует как «человек посередине» (MITM): перехватывает запросы клиента, расшифровывает их, изучает и пересылает на сервер. Поскольку современный трафик почти всегда шифруется через TLS, mitmproxy генерирует локальный сертификат, которому доверяет приложение, что позволяет расшифровать соединение.

Автор выбрал VS Code и Copilot, потому что они работают на Electron — JavaScript-фреймворке, который объединяет Node.js и Chromium. Это означает, что приложение использует два сетевых стека: один от Chromium для веб-UI, другой от Node.js для HTTP-запросов. Перехват трафика показал, что Copilot отправляет запросы на несколько эндпоинтов, включая api.githubcopilot.com, и передаёт метаданные о файлах, такие как пути и содержимое, что необходимо для генерации подсказок.

Copilot отправляет запросы на api.githubcopilot.com и другие эндпоинты, передавая метаданные о файлах.

Эксперимент не выявил ничего скандального, но он полезен для понимания того, какие данные покидают компьютер пользователя. В отличие от некоторых других ИИ-инструментов, Copilot не отправляет весь код, а только фрагменты, необходимые для контекста. Однако пользователям, работающим с чувствительными данными, стоит знать о таком поведении.

Метод, описанный автором, универсален: поскольку многие современные десктопные приложения (Slack, Discord, Notion) построены на Electron, аналогичный подход можно применить для изучения их сетевой активности. Это может быть полезно для аудита безопасности, отладки или просто из любопытства.

В целом, статья mttm — это практическое руководство по реверс-инжинирингу Electron-приложений, которое даёт читателям инструменты для самостоятельного анализа. Она также поднимает вопросы о прозрачности ИИ-сервисов и о том, как разработчики могут контролировать данные, отправляемые сторонним сервисам.