Skip to content

Latest commit

 

History

History
136 lines (92 loc) · 8.28 KB

File metadata and controls

136 lines (92 loc) · 8.28 KB

Политика безопасности — MSCodeBase Intelligence

🇬🇧 English🇷🇺 Русский🇨🇳 中文

Ответственное раскрытие

Если вы обнаружили уязвимость в MSCodeBase Intelligence, сообщите о ней ответственно.

Как сообщить

  1. GitHub Security Advisory: Создайте advisory
  2. В теме письма укажите: [SECURITY] + краткое описание проблемы

Что предоставить

  • Описание уязвимости (тип, компонент, условия эксплуатации)
  • Шаги для воспроизведения
  • Оценка влияния (конфиденциальность, целостность, доступность)
  • Proof of concept (если применимо)
  • Предложения по исправлению (опционально)

Сроки ответа

Серьёзность Первый ответ Исправление
Критическая 7 дней 30 дней
Высокая 14 дней 90 дней
Средняя 14 дней 90 дней
Низкая 30 дней 180 дней

Поддерживаемые версии

Версия Поддержка
2.0.x ✅ Текущая (гибрид LSP+MCP)
1.4.x ✅ Да
1.3.x ✅ Да
1.2.x ✅ Да
1.1.x ⚠️ Только критические патчи
1.0.x ⚠️ Только критические патчи
<1.0 ❌ Нет

Архитектура безопасности

Гибридная архитектура (LSP + MCP)

Начиная с версии 2.0.0, MSCodeBase Intelligence использует гибридную архитектуру, объединяющую Language Server Protocol (LSP) и Model Context Protocol (MCP):

  • LSP-сервер: обрабатывает парсинг кода через Tree-sitter и предоставляет символы редактору
  • MCP-сервер: обеспечивает семантический поиск, эмбеддинги и взаимодействие с AI-агентом
  • Взаимодействие: оба компонента работают локально, обмен данными через stdio/SSE

Что покидает машину

По умолчанию — ничего. Все компоненты работают исключительно локально:

Компонент Данные Отправляется
LanceDB Векторный индекс, чанки кода Локально (.codebase_indices/)
Tree-sitter AST-парсинг Локально, в памяти процесса
SafePathManager Валидация путей Локально, без сети
MCP инструменты Запросы поиска/анализа Локально, stdio/SSE

Единственное исключение: если настроена интеграция с LM Studio или Ollama для генерации эмбеддингов — запросы отправляются только на локальный endpoint (localhost:1234 для LM Studio, localhost:11434 для Ollama). Облачные API не используются.

Защита ввода

  • Валидация всех MCP-инструментов: каждый инструмент проверяет типы, длину и формат входных параметров
  • Защита от path traversal: SafePathManager блокирует доступ за пределами директорий проекта (../, абсолютные пути вне проекта)
  • SQL-инъекции: LanceDB использует параметризованные запросы, пользовательский ввод никогда не интерполируется в запросы
  • Ограничения размера ввода: ограничения на длину запроса и размер индексируемых файлов

Защита данных

  • Локальное хранение: весь индекс хранится в .codebase_indices/ внутри проекта
  • Хэширование путей: пути проектов хэшируются для изоляции индексов
  • Фильтрация: файлы из .gitignore и бинарные файлы исключаются из индексации
  • Шифрование: данные не шифруются на диске (предполагается, что файловая система защищена ОС)

Контроль доступа

  • Файловая система: доступ ограничен директориями проекта
  • Привилегии: не требуются повышенные права (не нужен sudo/администратор)
  • Сетевой доступ: не требуется для работы (кроме локального LM Studio/Ollama)

Безопасность гибридной архитектуры (2.0.0+)

Риски и их снижение

Риск Описание Снижение
LSP-сервер доступен по сети Если работает в SSE-режиме, возможен внешний доступ По умолчанию: stdio; SSE только на localhost
MCP-инструменты принимают произвольный ввод Вредоносный агент может передать невалидные данные Валидация каждого инструмента
Утечка кода через эмбеддинги Код отправляется в LM Studio для индексации Только локальный LM Studio; облачные сервисы не поддерживаются
Состояние гонки при индексации Конкурентная запись в LanceDB Версионирование чанков, атомарные обновления

Рекомендации по развёртыванию

  1. Используйте stdio-режим для LSP и MCP, если удалённый доступ не требуется
  2. LM Studio/Ollama: убедитесь, что сервер слушает только на 127.0.0.1, а не на 0.0.0.0
  3. Файрвол: заблокируйте исходящие соединения от процесса MSCodeBase (если не используются облачные сервисы)
  4. Обновления: отслеживайте обновления зависимостей через Dependabot

Зависимости

Сканирование уязвимостей

  • GitHub Dependabot: автоматическое сканирование зависимостей
  • Dependabot Alerts: уведомления о критических CVE в зависимостях

Критические зависимости

Зависимость Назначение Примечания по безопасности
LanceDB Векторная БД Локальное хранение, без сетевого доступа
Tree-sitter Парсинг кода В песочнице, без произвольного выполнения кода
LM Studio SDK Эмбеддинги Только локальный endpoint
Ollama SDK Альтернативные эмбеддинги Только локальный endpoint

Благодарности

Мы благодарим исследователей безопасности, которые помогают делать MSCodeBase Intelligence надёжнее.


Последнее обновление: 2026-06-28