Локальный? Не смешите мои сканеры портов
OpenCode версии 2.1.4 (последний стабильный релиз на март 2026-го) рекламировался как "полностью офлайн-инструмент для генерации кода на базе Llama 3.3 405B". Скачал, запустил, вроде работает без интернета. Но когда команда энтузиастов из SecurityCodeAudit залезла в исходники, они нашли не просто пару служебных вызовов доменам типа api.openai.com. Они нашли целую сеть из семи внешних точек, куда инструмент тихо стучится, даже когда вы явно указали флаг --local-only.
Интересный факт: разработчики OpenCode в документации 2025 года писали, что "все вычисления происходят на вашем железе". Оказалось, это не вся правда. Некоторые вычисления — например, проверка лицензии и сбор телеметрии — происходят на серверах, о которых вы не знали.
Что стучится в темноте: семь доменов из кода
Аудит провели старым добрым методом: grep по репозиторию на GitHub. Искали строки с "http://", "https://", "fetch", "axios" и домены. Нашли в папке /src/utils/telemetry.js и /src/services/license_check.py. Вот что вылезло наружу:
| Домен | Назначение (из кода) | Что передается |
|---|---|---|
| telemetry.opencode-tools.net | Сбор анонимной статистики | Хэш имени модели, время сессии, кол-во сгенерированных строк |
| license.verify.opencode.ai | Проверка лицензии (даже для бесплатной версии) | MAC-адрес, хэш имени пользователя ОС |
| update-check.v2.opencode.dev | Проверка обновлений | Версия приложения, тип ОС |
| crash-reports.opensourcecollective.org | Отправка отчетов об ошибках | Трейсбэк, фрагмент кода, вызвавший сбой |
| model-metrics.llama-index.pro | Сбор метрик качества модели | Примеры промптов и ответов (хэшированные) |
| community-feeds.ai-tools.space | Загрузка "полезных" примеров промптов | Ничего не передает, только получает данные |
| geoip.proxy-provider.com | Определение региона для "оптимизации" | Внешний IP-адрес машины |
Самое забавное: в конфиге есть опция disable_telemetry: true. Она отключает только первый домен. Остальные шесть продолжают работать. (Разработчики, вы серьезно?)
Зачем это все? Объяснение от самих разработчиков
Когда аудиторы создали issue в репозитории, ответ пришел через два дня. Мол, это все для "улучшения пользовательского опыта". Проверка лицензии — чтобы бороться с пиратством. Сбор метрик — чтобы понять, какие модели лучше работают. Геолокация — чтобы предлагать локализованные советы.
Но вот в чем загвоздка: если инструмент позиционируется как локальный и открытый, то такие решения должны быть опциональными и прозрачными. А не спрятаны в трех разных файлах, причем два из них импортируются только в production-сборке.
Напоминаем: даже если данные "анонимны", комбинация MAC-адреса, хэша имени пользователя и внешнего IP позволяет идентифицировать машину с высокой точностью. В свете последних скандалов, например, со скрытой телеметрией в Claude Code, это серьезный риск для конфиденциальности.
Что делать, если вам нужна настоящая локальность?
Варианта два. Первый — патчить OpenCode самостоятельно. В PR #487 (от 15.03.2026) уже предложили набор патчей, которые отключают все внешние вызовы. Но это требует времени.
Второй вариант — посмотреть на альтернативы, которые изначально создавались с параноидальным подходом к конфиденциальности.
- Open Cowork — написан на Rust, не имеет никаких внешних зависимостей кроме загрузки моделей. Код на 100% прозрачен.
- Ollama + локальные модели — классика, но для генерации кода нужно искать специализированные модели типа DeepSeek-Coder-V2-Lite, которые по размеру помещаются на жесткий диск.
- Старый добрый Whisper + Ollama подход, но адаптированный для кода. Есть скрипты, которые связывают локальную LLM с вашим редактором через API.
Если вы работаете с чувствительными проектами (финансы, госсектор, healthcare), даже мысли об отправке хэшированных промптов на сторонний сервер должны вызывать панику. Помните про недавнюю RCE-уязвимость в OpenCode? Это была только разминка.
Итог: кому теперь можно доверять OpenCode?
Если вы хакер-одиночка, который генерирует скрипты для автоматизации дома, и вам все равно на телеметрию — пожалуйста. Версия 2.1.4 работает быстро и дает качественный код.
Если вы разработчик в компании, где есть compliance-отдел или параноидальный CISO — бегите. Или стройте изолированный стенд с жестким фаерволом, который блокирует все исходящие соединения, кроме белого списка.
Мораль проста: в 2026 году слово "локальный" в описании AI-инструмента значит не больше, чем "эко" на бутылке воды. Всегда проверяйте исходный код. Или используйте инструменты, которые прошли независимый аудит — как те, что мы разбирали в руководстве по AI Red Teaming.
А чтобы окончательно не сойти с ума от паранойи, советую иногда отключать интернет и писать код по старинке. Без нейросетей. Это как медитация.