Безопасность
МОДЕЛЬ УГРОЗ ATLAS
Фреймворк MITRE ATLAS
Версия: 1.0-draft Последнее обновление: 2026-02-04 Методология: MITRE ATLAS + Диаграммы потоков данных Фреймворк: MITRE ATLAS (Adversarial Threat Landscape for AI Systems)
Атрибуция фреймворка
Эта модель угроз построена на основе MITRE ATLAS, отраслевого стандартного фреймворка для документирования враждебных угроз для систем AI/ML. ATLAS поддерживается организацией MITRE в сотрудничестве с сообществом безопасности ИИ. Ключевые ресурсы ATLAS:
Вклад в эту модель угроз
Это живой документ, поддерживаемый сообществом OpenClaw. См. CONTRIBUTING-THREAT-MODEL.md для получения рекомендаций по внесению вклада:
- Сообщение о новых угрозах
- Обновление существующих угроз
- Предложение цепочек атак
- Предложение мер защиты
1. Введение
1.1 Цель
Эта модель угроз документирует враждебные угрозы для платформы AI-агентов OpenClaw и маркетплейса навыков ClawHub, используя фреймворк MITRE ATLAS, разработанный специально для систем AI/ML.
1.2 Область действия
| Компонент | Включен | Примечания |
|---|
| Среда выполнения агента OpenClaw | Да | Основное выполнение агента, вызовы инструментов, сессии |
| Шлюз | Да | Аутентификация, маршрутизация, интеграция каналов |
| Интеграции каналов | Да | WhatsApp, Telegram, Discord, Signal, Slack и т.д. |
| Маркетплейс ClawHub | Да | Публикация навыков, модерация, распространение |
| MCP-серверы | Да | Внешние поставщики инструментов |
| Устройства пользователей | Частично | Мобильные приложения, десктопные клиенты |
1.3 Вне области действия
В этой модели угроз ничто явно не находится вне области действия.
2. Архитектура системы
2.1 Границы доверия
┌─────────────────────────────────────────────────────────────────┐
│ НЕДОВЕРЕННАЯ ЗОНА │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ WhatsApp │ │ Telegram │ │ Discord │ ... │
│ └──────┬──────┘ └──────┬──────┘ └──────┬──────┘ │
│ │ │ │ │
└─────────┼────────────────┼────────────────┼──────────────────────┘
│ │ │
▼ ▼ ▼
┌─────────────────────────────────────────────────────────────────┐
│ ГРАНИЦА ДОВЕРИЯ 1: Доступ к каналу │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ ШЛЮЗ │ │
│ │ • Сопряжение устройств (льготный период 30с) │ │
│ │ • Проверка AllowFrom / AllowList │ │
│ │ • Аутентификация Token/Password/Tailscale │ │
│ └──────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ ГРАНИЦА ДОВЕРИЯ 2: Изоляция сессии │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ СЕССИИ АГЕНТА │ │
│ │ • Ключ сессии = агент:канал:отправитель │ │
│ │ • Политики инструментов на агента │ │
│ │ • Логирование транскрипта │ │
│ └──────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ ГРАНИЦА ДОВЕРИЯ 3: Выполнение инструментов │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ ПЕСОЧНИЦА ВЫПОЛНЕНИЯ │ │
│ │ • Песочница Docker ИЛИ Хост (exec-approvals) │ │
│ │ • Удаленное выполнение Node │ │
│ │ • Защита от SSRF (фиксация DNS + блокировка IP) │ │
│ └──────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ ГРАНИЦА ДОВЕРИЯ 4: Внешний контент │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ ЗАГРУЖЕННЫЕ URL / EMAILS / WEBHOOKS │ │
│ │ • Оборачивание внешнего контента (XML-теги) │ │
│ │ • Внедрение уведомлений безопасности │ │
│ └──────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ ГРАНИЦА ДОВЕРИЯ 5: Цепочка поставок │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ CLAWHUB │ │
│ │ • Публикация навыков (semver, требуется SKILL.md) │ │
│ │ • Флаги модерации на основе шаблонов │ │
│ │ • Сканирование VirusTotal (скоро) │ │
│ │ • Проверка возраста аккаунта GitHub │ │
│ └──────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────┘
2.2 Потоки данных
| Поток | Источник | Назначение | Данные | Защита |
|---|
| F1 | Канал | Шлюз | Сообщения пользователя | TLS, AllowFrom |
| F2 | Шлюз | Агент | Маршрутизированные сообщения | Изоляция сессии |
| F3 | Агент | Инструменты | Вызовы инструментов | Применение политик |
| F4 | Агент | Внешний | запросы web_fetch | Блокировка SSRF |
| F5 | ClawHub | Агент | Код навыка | Модерация, сканирование |
| F6 | Агент | Канал | Ответы | Фильтрация вывода |
3. Анализ угроз по тактикам ATLAS
3.1 Разведка (AML.TA0002)
T-RECON-001: Обнаружение конечных точек агента
| Атрибут | Значение |
|---|
| ID ATLAS | AML.T0006 - Active Scanning |
| Описание | Злоумышленник сканирует открытые конечные точки шлюза OpenClaw |
| Вектор атаки | Сканирование сети, запросы shodan, перечисление DNS |
| Затронутые компоненты | Шлюз, открытые конечные точки API |
| Текущие меры защиты | Опция аутентификации Tailscale, привязка к loopback по умолчанию |
| Остаточный риск | Средний - Публичные шлюзы обнаруживаемы |
| Рекомендации | Документировать безопасное развертывание, добавить ограничение скорости на конечные точки обнаружения |
T-RECON-002: Зондирование интеграций каналов
| Атрибут | Значение |
|---|
| ID ATLAS | AML.T0006 - Active Scanning |
| Описание | Злоумышленник зондирует каналы сообщений для идентификации аккаунтов под управлением ИИ |
| Вектор атаки | Отправка тестовых сообщений, наблюдение за шаблонами ответов |
| Затронутые компоненты | Все интеграции каналов |
| Текущие меры защиты | Нет специфических |
| Остаточный риск | Низкий - Ограниченная ценность от одного обнаружения |
| Рекомендации | Рассмотреть рандомизацию времени ответа |
3.2 Первоначальный доступ (AML.TA0004)
T-ACCESS-001: Перехват кода сопряжения
| Атрибут | Значение |
|---|
| ID ATLAS | AML.T0040 - AI Model Inference API Access |
| Описание | Злоумышленник перехватывает код сопряжения в течение льготного периода 30 секунд |
| Вектор атаки | Подглядывание через плечо, сниффинг сети, социальная инженерия |
| Затронутые компоненты | Система сопряжения устройств |
| Текущие меры защиты | Срок действия 30с, коды отправляются через существующий канал |
| Остаточный риск | Средний - Льготный период может быть использован |
| Рекомендации | Уменьшить льготный период, добавить шаг подтверждения |
T-ACCESS-002: Подмена AllowFrom
| Атрибут | Значение |
|---|
| ID ATLAS | AML.T0040 - AI Model Inference API Access |
| Описание | Злоумышленник подделывает разрешенную личность отправителя в канале |
| Вектор атаки | Зависит от канала - подмена номера телефона, имитация имени пользователя |
| Затронутые компоненты | Проверка AllowFrom для каждого канала |
| Текущие меры защиты | Проверка личности, специфичная для канала |
| Остаточный риск | Средний - Некоторые каналы уязвимы для подмены |
| Рекомендации | Документировать риски, специфичные для канала, добавить криптографическую проверку, где возможно |
T-ACCESS-003: Кража токенов
| Атрибут | Значение |
|---|
| ID ATLAS | AML.T0040 - AI Model Inference API Access |
| Описание | Злоумышленник крадет токены аутентификации из файлов конфигурации |
| Вектор атаки | Вредоносное ПО, несанкционированный доступ к устройству, раскрытие резервных копий конфигурации |
| Затронутые компоненты | ~/.openclaw/credentials/, хранилище конфигурации |
| Текущие меры защиты | Права доступа к файлам |
| Остаточный риск | Высокий - Токены хранятся в открытом виде |
| Рекомендации | Реализовать шифрование токенов при хранении, добавить ротацию токенов |
3.3 Выполнение (AML.TA0005)
T-EXEC-001: Прямая инъекция промпта
| Атрибут | Значение |
|---|
| ID ATLAS | AML.T0051.000 - LLM Prompt Injection: Direct |
| Описание | Злоумышленник отправляет специально созданные промпты для манипуляции поведением агента |
| Вектор атаки | Сообщения в канале, содержащие враждебные инструкции |
| Затронутые компоненты | LLM агента, все поверхности ввода |
| Текущие меры защиты | Обнаружение шаблонов, оборачивание внешнего контента |
| Остаточный риск | Критический - Только обнаружение, без блокировки; сложные атаки обходят |
| Рекомендации | Реализовать многоуровневую защиту, валидацию вывода, подтверждение пользователя для чувствительных действий |
T-EXEC-002: Косвенная инъекция промпта
| Атрибут | Значение |
|---|
| ID ATLAS | AML.T0051.001 - LLM Prompt Injection: Indirect |
| Описание | Злоумышленник внедряет вредоносные инструкции в загружаемый контент |
| Вектор атаки | Вредоносные URL, отравленные письма, скомпрометированные вебхуки |
| Затронутые компоненты | web_fetch, обработка email, внешние источники данных |
| Текущие меры защиты | Оборачивание контента XML-тегами и уведомлением безопасности |
| Остаточный риск | Высокий - LLM может игнорировать инструкции обертки |
| Рекомендации | Реализовать санитизацию контента, отдельные контексты выполнения |
T-EXEC-003: Инъекция аргументов инструмента
| Атрибут | Значение |
|---|
| ID ATLAS | AML.T0051.000 - LLM Prompt Injection: Direct |
| Описание | Злоумышленник манипулирует аргументами инструментов через инъекцию промпта |
| Вектор атаки | Специально созданные промпты, влияющие на значения параметров инструментов |
| Затронутые компоненты | Все вызовы инструментов |
| Текущие меры защиты | Подтверждения exec для опасных команд |
| Остаточный риск | Высокий - Полагается на суждение пользователя |
| Рекомендации | Реализовать валидацию аргументов, параметризованные вызовы инструментов |
T-EXEC-004: Обход подтверждения exec
| Атрибут | Значение |
|---|
| ID ATLAS | AML.T0043 - Craft Adversarial Data |
| Описание | Злоумышленник создает команды, обходящие разрешенный список подтверждений |
| Вектор атаки | Обфускация команд, использование алиасов, манипуляция путями |
| Затронутые компоненты | exec-approvals.ts, разрешенный список команд |
| Текущие меры защиты | Разрешенный список + режим запроса |
| Остаточный риск | Высокий - Нет санитизации команд |
| Рекомендации | Реализовать нормализацию команд, расширить блокирующий список |
3.4 Устойчивость (AML.TA0006)
T-PERSIST-001: Установка вредоносного навыка
| Атрибут | Значение |
|---|
| ID ATLAS | AML.T0010.001 - Supply Chain Compromise: AI Software |
| Описание | Злоумышленник публикует вредоносный навык в ClawHub |
| Вектор атаки | Создание аккаунта, публикация навыка со скрытым вредоносным кодом |
| Затронутые компоненты | ClawHub, загрузка навыков, выполнение агента |
| Текущие меры защиты | Проверка возраста аккаунта GitHub, флаги модерации на основе шаблонов |
| Остаточный риск | Критический - Нет песочницы, ограниченный обзор |
| Рекомендации | Интеграция VirusTotal (в процессе), песочница для навыков, обзор сообществом |
T-PERSIST-002: Отравление обновления навыка
| Атрибут | Значение |
|---|
| ID ATLAS | AML.T0010.001 - Supply Chain Compromise: AI Software |
| Описание | Злоумышленник компрометирует популярный навык и выпускает вредоносное обновление |
| Вектор атаки | Компрометация аккаунта, социальная инженерия владельца навыка |
| Затронутые компоненты | Версионирование ClawHub, потоки автообновления |
| Текущие меры защиты | Снятие отпечатка версии |
| Остаточный риск | Высокий - Автообновления могут загружать вредоносные версии |
| Рекомендации | Реализовать подпись обновлений, возможность отката, фиксацию версий |
T-PERSIST-003: Изменение конфигурации агента
| Атрибут | Значение |
|---|
| ID ATLAS | AML.T0010.002 - Supply Chain Compromise: Data |
| Описание | Злоумышленник изменяет конфигурацию агента для сохранения доступа |
| Вектор атаки | Изменение файла конфигурации, инъекция настроек |
| Затронутые компоненты | Конфигурация агента, политики инструментов |
| Текущие меры защиты | Права доступа к файлам |
| Остаточный риск | Средний - Требуется локальный доступ |
| Рекомендации | Проверка целостности конфигурации, журналирование аудита изменений конфигурации |
3.5 Уклонение от защиты (AML.TA0007)
T-EVADE-001: Обход шаблонов модерации
| Атрибут | Значение |
|---|
| ID ATLAS | AML.T0043 - Craft Adversarial Data |
| Описание | Злоумышленник создает контент навыка для обхода шаблонов модерации |
| Вектор атаки | Unicode-гомоглифы, трюки с кодировкой, динамическая загрузка |
| Затронутые компоненты | ClawHub moderation.ts |
| Текущие меры защиты | FLAG_RULES на основе шаблонов |
| Остаточный риск | Высокий - Простые регулярные выражения легко обходятся |
| Рекомендации | Добавить поведенческий анализ (VirusTotal Code Insight), обнаружение на основе AST |
T-EVADE-002: Выход из обертки контента
| Атрибут | Значение |
|---|
| ID ATLAS | AML.T0043 - Craft Adversarial Data |
| Описание | Злоумышленник создает контент, выходящий за пределы контекста XML-обертки |
| Вектор атаки | Манипуляция тегами, путаница контекста, переопределение инструкций |
| Затронутые компоненты | Оборачивание внешнего контента |
| Текущие меры защиты | XML-теги + уведомление безопасности |
| Остаточный риск | Средний - Новые способы выхода обнаруживаются регулярно |
| Рекомендации | Несколько слоев обертки, валидация на стороне вывода |
3.6 Обнаружение (AML.TA0008)
T-DISC-001: Перечисление инструментов
| Атрибут | Значение |
|---|
| ID ATLAS | AML.T0040 - AI Model Inference API Access |
| Описание | Злоумышленник перечисляет доступные инструменты через промптинг |
| Вектор атаки | Запросы типа "Какие инструменты у тебя есть?" |
| Затронутые компоненты | Реестр инструментов агента |
| Текущие меры защиты | Нет специфических |
| Остаточный риск | Низкий - Инструменты, как правило, документированы |
| Рекомендации | Рассмотреть элементы управления видимостью инструментов |
T-DISC-002: Извлечение данных сессии
| Атрибут | Значение |
|---|
| ID ATLAS | AML.T0040 - AI Model Inference API Access |
| Описание | Злоумышленник извлекает чувствительные данные из контекста сессии |
| Вектор атаки | Запросы "О чем мы говорили?", зондирование контекста |
| Затронутые компоненты | Транскрипты сессий, окно контекста |
| Текущие меры защиты | Изоляция сессии на отправителя |
| Остаточный риск | Средний - Данные внутри сессии доступны |
| Рекомендации | Реализовать редактирование чувствительных данных в контексте |
3.7 Сбор и эксфильтрация (AML.TA0009, AML.TA0010)
T-EXFIL-001: Кража данных через web_fetch
| Атрибут | Значение |
|---|
| ID ATLAS | AML.T0009 - Collection |
| Описание | Злоумышленник эксфильтрирует данные, инструктируя агента отправить их на внешний URL |
| Вектор атаки | Инъекция промпта, заставляющая агента POST-ить данные на сервер злоумышленника |
| Затронутые компоненты | Инструмент web_fetch |
| Текущие меры защиты | Блокировка SSRF для внутренних сетей |
| Остаточный риск | Высокий - Внешние URL разрешены |
| Рекомендации | Реализовать разрешенный список URL, осведомленность о классификации данных |
T-EXFIL-002: Неавторизованная отправка сообщений
| Атрибут | Значение |
|---|
| ID ATLAS | AML.T0009 - Collection |
| Описание | Злоумышленник заставляет агента отправлять сообщения, содержащие чувствительные данные |
| Вектор атаки | Инъекция промпта, заставляющая агента отправить сообщение злоумышленнику |
| Затронутые компоненты | Инструмент сообщений, интеграции каналов |
| Текущие меры защиты | Контроль исходящих сообщений |
| Остаточный риск | Средний - Контроль может быть обойден |
| Рекомендации | Требовать явного подтверждения для новых получателей |
T-EXFIL-003: Сбор учетных данных
| Атрибут | Значение |
|---|
| ID ATLAS | AML.T0009 - Collection |
| Описание | Вредоносный навык собирает учетные данные из контекста агента |
| Вектор атаки | Код навыка читает переменные окружения, файлы конфигурации |
| Затронутые компоненты | Среда выполнения навыка |
| Текущие меры защиты | Нет специфических для навыков |
| Остаточный риск | Критический - Навыки выполняются с привилегиями агента |
| Рекомендации | Песочница для навыков, изоляция учетных данных |
3.8 Воздействие (AML.TA0011)
T-IMPACT-001: Неавторизованное выполнение команд
| Атрибут | Значение |
|---|
| ID ATLAS | AML.T0031 - Erode AI Model Integrity |
| Описание | Злоумышленник выполняет произвольные команды в системе пользователя |
| Вектор атаки | Инъекция промпта в сочетании с обходом подтверждения exec |
| Затронутые компоненты | Инструмент Bash, выполнение команд |
| Текущие меры защиты | Подтверждения exec, опция песочницы Docker |
| Остаточный риск | Критический - Выполнение на хосте без песочницы |
| Рекомендации | По умолчанию использовать песочницу, улучшить UX подтверждений |
T-IMPACT-002: Исчерпание ресурсов (DoS)
| Атрибут | Значение |
|---|
| ID ATLAS | AML.T0031 - Erode AI Model Integrity |
| Описание | Злоумышленник исчерпывает кредиты API или вычислительные ресурсы |
| Вектор атаки | Автоматизированная флуд-атака сообщениями, дорогие вызовы инструментов |
| Затронутые компоненты | Шлюз, сессии агента, поставщик API |
| Текущие меры защиты | Нет |
| Остаточный риск | Высокий - Нет ограничения скорости |
| Рекомендации | Реализовать ограничения скорости на отправителя, бюджеты затрат |
T-IMPACT-003: Ущерб репутации
| Атрибут | Значение |
|---|
| ID ATLAS | AML.T0031 - Erode AI Model Integrity |
| Описание | Злоумышленник заставляет агента отправлять вредоносный/оскорбительный контент |
| Вектор атаки | Инъекция промпта, вызывающая неадекватные ответы |
| Затронутые компоненты | Генерация вывода, отправка сообщений в каналы |
| Текущие меры защиты | Политики контента поставщика LLM |
| Остаточный риск | Средний - Фильтры поставщика неидеальны |
| Рекомендации | Слой фильтрации вывода, элементы управления пользователя |
4. Анализ цепочки поставок ClawHub
4.1 Текущие средства контроля безопасности
| Контроль | Реализация | Эффективность |
|---|
| Возраст аккаунта GitHub | requireGitHubAccountAge() | Средняя - Повышает планку для новых злоумышленников |
| Санитизация путей | sanitizePath() | Высокая - Предотвращает обход путей |
| Проверка типа файла | isTextFile() | Средняя - Только текстовые файлы, но все равно могут быть вредоносными |
| Ограничения размера | 50MB общий бандл | Высокая - Предотвращает исчерпание ресурсов |
| Обязательный SKILL.md | Обязательный readme | Низкая ценность для безопасности - Информационный |
| Модерация по шаблонам | FLAG_RULES в moderation.ts | Низкая - Легко обходится |
| Статус модерации | Поле moderationStatus | Средняя - Возможен ручной обзор |
4.2 Шаблоны флагов модерации
Текущие шаблоны в moderation.ts:
// Известные плохие идентификаторы
/(keepcold131\/ClawdAuthenticatorTool|ClawdAuthenticatorTool)/i
// Подозрительные ключевые слова
/(malware|stealer|phish|phishing|keylogger)/i
/(api[-_ ]?key|token|password|private key|secret)/i
/(wallet|seed phrase|mnemonic|crypto)/i
/(discord\.gg|webhook|hooks\.slack)/i
/(curl[^\n]+\|\s*(sh|bash))/i
/(bit\.ly|tinyurl\.com|t\.co|goo\.gl|is\.gd)/i
Ограничения:
- Проверяет только slug, displayName, summary, frontmatter, metadata, пути файлов
- Не анализирует фактическое содержимое кода навыка
- Простые регулярные выражения легко обходятся обфускацией
- Нет поведенческого анализа
4.3 Запланированные улучшения
| Улучшение | Статус | Влияние |
|---|
| Интеграция VirusTotal | В процессе | Высокое - Поведенческий анализ Code Insight |
| Отчетность сообщества | Частично (таблица skillReports существует) | Среднее |
| Журналирование аудита | Частично (таблица auditLogs существует) | Среднее |
| Система бейджей | Реализована | Среднее - highlighted, official, deprecated, redactionApproved |
5. Матрица рисков
5.1 Вероятность vs Воздействие
| ID угрозы | Вероятность | Воздействие | Уровень риска | Приоритет |
|---|
| T-EXEC-001 | Высокая | Критическое | Критический | P0 |
| T-PERSIST-001 | Высокая | Критическое | Критический | P0 |
| T-EXFIL-003 | Средняя | Критическое | Критический | P0 |
| T-IMPACT-001 | Средняя | Критическое | Высокий | P1 |
| T-EXEC-002 | Высокая | Высокое | Высокий | P1 |
| T-EXEC-004 | Средняя | Высокое | Высокий | P1 |
| T-ACCESS-003 | Средняя | Высокое | Высокий | P1 |
| T-EXFIL-001 | Средняя | Высокое | Высокий | P1 |
| T-IMPACT-002 | Высокая | Среднее | Высокий | P1 |
| T-EVADE-001 | Высокая | Среднее | Средний | P2 |
| T-ACCESS-001 | Низкая | Высокое | Средний | P2 |
| T-ACCESS-002 | Низкая | Высокое | Средний | P2 |
| T-PERSIST-002 | Низкая | Высокое | Средний | P2 |
5.2 Критические цепочки атак
Цепочка атак 1: Кража данных на основе навыка
T-PERSIST-001 → T-EVADE-001 → T-EXFIL-003
(Опубликовать вредоносный навык) → (Обойти модерацию) → (Собрать учетные данные)
Цепочка атак 2: Инъекция промпта для RCE
T-EXEC-001 → T-EXEC-004 → T-IMPACT-001
(Инъекция промпта) → (Обойти подтверждение exec) → (Выполнить команды)
Цепочка атак 3: Косвенная инъекция через загружаемый контент
T-EXEC-002 → T-EXFIL-001 → Внешняя эксфильтрация
(Отравить контент URL) → (Агент загружает и следует инструкциям) → (Данные отправлены злоумышленнику)
6. Сводка рекомендаций
6.1 Немедленные (P0)
| ID | Рекомендация | Решает |
|---|
| R-001 | Завершить интеграцию VirusTotal | T-PERSIST-001, T-EVADE-001 |
| R-002 | Реализовать песочницу для | |