English: to report a vulnerability, use GitHub's private “Report a vulnerability” form on the Security tab. Please do not open a public issue for it.
Не открывайте публичный issue. Воспользуйтесь личным каналом GitHub: вкладка Security репозитория → Report a vulnerability. Сообщение видно только сопровождающему.
Что помогает разобраться быстрее:
- версия (
code-index --versionилиbsl-indexer --version) и операционная система; - транспорт:
stdioили HTTP, включён ли режим федерации; - как воспроизвести — запрос, конфигурация, ожидаемое и фактическое поведение;
- оценка последствий с вашей точки зрения.
Ответ — в течение семи дней. Об исправлении и о том, в каком выпуске оно вышло, сообщу тем же каналом; упоминание автора находки в журнале изменений — по вашему желанию.
Исправления выходят в очередном выпуске от текущей ветки main. Обратных
исправлений для старых версий нет: обновление — переустановка одного бинарника.
Это стоит знать до того, как решать, что считать уязвимостью.
- Слой выдачи работает только на чтение. Записывает в индекс один процесс — фоновый демон; сервер MCP открывает базу на чтение.
- По умолчанию сервер слушает петлевой адрес
127.0.0.1. Проверки подлинности у него нет: доступ к порту равнозначен доступу к содержимому проиндексированного кода. Не выставляйте порт в сеть, которой не доверяете. - В режиме федерации сервер слушает адрес из своего конфига и принимает запросы только с перечисленных адресов. Это разграничение сети, а не проверка подлинности узла.
- Произвольный SQL (
bsl_sql) ограничен запросамиSELECT/WITHна соединении, открытом только для чтения, с потолком строк и временем выполнения. Обход этих ограничений — уязвимость, сообщайте. - Индекс содержит исходный код целиком, в сжатом виде. Файл
.code-index/index.dbзащищайте так же, как сам репозиторий. - Обогащение через языковую модель (
enrich) — возможность, включаемая явно: она отправляет фрагменты кода на указанный вами адрес. По умолчанию выключена, никаких обращений наружу без неё индексатор не делает.
- Доступ к данным при уже имеющемся доступе к машине или к файлу индекса.
- Последствия того, что порт сервера намеренно открыт в недоверенную сеть.
- Отказ в обслуживании от заведомо неподъёмного запроса к собственному индексу.