Модель загроз OpenClaw v1.0
Фреймворк MITRE ATLAS
Версія: 1.0-draft Останнє оновлення: 2026-02-04 Методологія: MITRE ATLAS + діаграми потоків даних Фреймворк: MITRE ATLAS (Adversarial Threat Landscape for AI Systems)Посилання на фреймворк
Цю модель загроз побудовано на основі MITRE ATLAS, галузевого стандартного фреймворку для документування змагальних загроз для систем AI/ML. ATLAS підтримується MITRE у співпраці зі спільнотою безпеки AI. Ключові ресурси ATLAS:Як робити внесок у цю модель загроз
Це живий документ, який підтримує спільнота OpenClaw. Перегляньте CONTRIBUTING-THREAT-MODEL.md, щоб ознайомитися з правилами внеску:- Повідомлення про нові загрози
- Оновлення наявних загроз
- Пропонування ланцюгів атак
- Пропонування заходів пом’якшення
1. Вступ
1.1 Призначення
Ця модель загроз документує змагальні загрози для платформи AI-агентів OpenClaw і маркетплейсу skill-ів ClawHub, використовуючи фреймворк MITRE ATLAS, спеціально розроблений для систем AI/ML.1.2 Область охоплення
| Компонент | Включено | Примітки |
|---|---|---|
| Середовище виконання агентів OpenClaw | Так | Основне виконання агентів, виклики інструментів, сесії |
| Gateway | Так | Автентифікація, маршрутизація, інтеграція каналів |
| Інтеграції каналів | Так | WhatsApp, Telegram, Discord, Signal, Slack тощо |
| Marketplace ClawHub | Так | Публікація skill-ів, модерація, розповсюдження |
| Сервери MCP | Так | Зовнішні провайдери інструментів |
| Пристрої користувачів | Частково | Мобільні застосунки, десктопні клієнти |
1.3 Поза межами моделі
Для цієї моделі загроз нічого явно не винесено поза межі.2. Архітектура системи
2.1 Межі довіри
2.2 Потоки даних
| Потік | Джерело | Призначення | Дані | Захист |
|---|---|---|---|---|
| F1 | Канал | Gateway | Повідомлення користувача | TLS, AllowFrom |
| F2 | Gateway | Агент | Маршрутизовані повідомлення | Ізоляція сесій |
| F3 | Агент | Інструменти | Виклики інструментів | Застосування політик |
| F4 | Агент | Зовнішні системи | Запити web_fetch | Блокування SSRF |
| F5 | ClawHub | Агент | Код skill-ів | Модерація, сканування |
| F6 | Агент | Канал | Відповіді | Фільтрація виводу |
3. Аналіз загроз за тактиками ATLAS
3.1 Розвідка (AML.TA0002)
T-RECON-001: Виявлення endpoint-ів агента
| Атрибут | Значення |
|---|---|
| ATLAS ID | AML.T0006 - Active Scanning |
| Опис | Атакувальник сканує відкриті endpoint-и gateway OpenClaw |
| Вектор атаки | Сканування мережі, запити в shodan, перебирання DNS |
| Уражені компоненти | Gateway, відкриті API endpoint-и |
| Поточні заходи захисту | Опція автентифікації Tailscale, типове прив’язування до loopback |
| Залишковий ризик | Середній - Публічні gateway можна виявити |
| Рекомендації | Документувати безпечне розгортання, додати rate limiting для endpoint-ів виявлення |
T-RECON-002: Зондування інтеграцій каналів
| Атрибут | Значення |
|---|---|
| ATLAS ID | AML.T0006 - Active Scanning |
| Опис | Атакувальник зондує канали обміну повідомленнями, щоб виявити облікові записи під керуванням AI |
| Вектор атаки | Надсилання тестових повідомлень, спостереження за шаблонами відповідей |
| Уражені компоненти | Усі інтеграції каналів |
| Поточні заходи захисту | Нічого специфічного |
| Залишковий ризик | Низький - Саме по собі виявлення має обмежену цінність |
| Рекомендації | Розглянути рандомізацію часу відповіді |
3.2 Початковий доступ (AML.TA0004)
T-ACCESS-001: Перехоплення коду pairing
| Атрибут | Значення |
|---|---|
| ATLAS ID | AML.T0040 - AI Model Inference API Access |
| Опис | Атакувальник перехоплює код pairing під час пільгового періоду pairing (1 год для pairing каналу DM, 5 хв для pairing node) |
| Вектор атаки | Підглядання через плече, прослуховування мережі, соціальна інженерія |
| Уражені компоненти | Система pairing пристроїв |
| Поточні заходи захисту | Термін дії 1 год (DM pairing) / 5 хв (node pairing), коди надсилаються через наявний канал |
| Залишковий ризик | Середній - Пільговий період можна використати |
| Рекомендації | Скоротити пільговий період, додати крок підтвердження |
T-ACCESS-002: Підміна AllowFrom
| Атрибут | Значення |
|---|---|
| ATLAS ID | AML.T0040 - AI Model Inference API Access |
| Опис | Атакувальник підміняє дозволену ідентичність відправника в каналі |
| Вектор атаки | Залежить від каналу - підміна номера телефону, імітація імені користувача |
| Уражені компоненти | Валідація AllowFrom для кожного каналу |
| Поточні заходи захисту | Перевірка ідентичності, специфічна для каналу |
| Залишковий ризик | Середній - Деякі канали вразливі до підміни |
| Рекомендації | Документувати ризики для конкретних каналів, додати криптографічну перевірку там, де це можливо |
T-ACCESS-003: Викрадення токенів
| Атрибут | Значення |
|---|---|
| ATLAS ID | AML.T0040 - AI Model Inference API Access |
| Опис | Атакувальник викрадає токени автентифікації з файлів конфігурації |
| Вектор атаки | Шкідливе ПЗ, несанкціонований доступ до пристрою, витік резервних копій конфігурації |
| Уражені компоненти | ~/.openclaw/credentials/, сховище конфігурації |
| Поточні заходи захисту | Права доступу до файлів |
| Залишковий ризик | Високий - Токени зберігаються у відкритому вигляді |
| Рекомендації | Реалізувати шифрування токенів у стані спокою, додати ротацію токенів |
3.3 Виконання (AML.TA0005)
T-EXEC-001: Пряма prompt injection
| Атрибут | Значення |
|---|---|
| ATLAS ID | AML.T0051.000 - LLM Prompt Injection: Direct |
| Опис | Атакувальник надсилає спеціально сформовані prompt-и для маніпулювання поведінкою агента |
| Вектор атаки | Повідомлення в каналах, що містять змагальні інструкції |
| Уражені компоненти | LLM агента, усі поверхні введення |
| Поточні заходи захисту | Виявлення шаблонів, обгортання зовнішнього вмісту |
| Залишковий ризик | Критичний - Лише виявлення, без блокування; складні атаки обходять захист |
| Рекомендації | Реалізувати багаторівневий захист, валідацію виводу, підтвердження користувача для чутливих дій |
T-EXEC-002: Непряма prompt injection
| Атрибут | Значення |
|---|---|
| ATLAS ID | AML.T0051.001 - LLM Prompt Injection: Indirect |
| Опис | Атакувальник вбудовує шкідливі інструкції в отриманий вміст |
| Вектор атаки | Шкідливі URL, отруєні email, скомпрометовані webhook |
| Уражені компоненти | web_fetch, обробка email, зовнішні джерела даних |
| Поточні заходи захисту | Обгортання вмісту XML-тегами та повідомленням безпеки |
| Залишковий ризик | Високий - LLM може ігнорувати інструкції обгортки |
| Рекомендації | Реалізувати санітизацію вмісту, розділити контексти виконання |
T-EXEC-003: Injection аргументів інструментів
| Атрибут | Значення |
|---|---|
| ATLAS ID | AML.T0051.000 - LLM Prompt Injection: Direct |
| Опис | Атакувальник маніпулює аргументами інструментів через prompt injection |
| Вектор атаки | Спеціально сформовані prompt-и, які впливають на значення параметрів інструментів |
| Уражені компоненти | Усі виклики інструментів |
| Поточні заходи захисту | Exec approvals для небезпечних команд |
| Залишковий ризик | Високий - Покладається на судження користувача |
| Рекомендації | Реалізувати валідацію аргументів, параметризовані виклики інструментів |
T-EXEC-004: Обхід exec approval
| Атрибут | Значення |
|---|---|
| ATLAS ID | AML.T0043 - Craft Adversarial Data |
| Опис | Атакувальник формує команди, що обходять allowlist схвалення |
| Вектор атаки | Обфускація команд, експлуатація alias, маніпуляція шляхами |
| Уражені компоненти | exec-approvals.ts, allowlist команд |
| Поточні заходи захисту | Allowlist + режим ask |
| Залишковий ризик | Високий - Немає санітизації команд |
| Рекомендації | Реалізувати нормалізацію команд, розширити blocklist |
3.4 Закріплення (AML.TA0006)
T-PERSIST-001: Встановлення шкідливого skill-а
| Атрибут | Значення |
|---|---|
| ATLAS ID | AML.T0010.001 - Supply Chain Compromise: AI Software |
| Опис | Атакувальник публікує шкідливий skill у ClawHub |
| Вектор атаки | Створення облікового запису, публікація skill-а з прихованим шкідливим кодом |
| Уражені компоненти | ClawHub, завантаження skill-ів, виконання агентів |
| Поточні заходи захисту | Перевірка віку облікового запису GitHub, прапорці модерації на основі шаблонів |
| Залишковий ризик | Критичний - Немає пісочниці, обмежена перевірка |
| Рекомендації | Інтеграція VirusTotal (у процесі), пісочниця для skill-ів, перевірка спільнотою |
T-PERSIST-002: Отруєння оновлення skill-а
| Атрибут | Значення |
|---|---|
| ATLAS ID | AML.T0010.001 - Supply Chain Compromise: AI Software |
| Опис | Атакувальник компрометує популярний skill і проштовхує шкідливе оновлення |
| Вектор атаки | Компрометація облікового запису, соціальна інженерія щодо власника skill-а |
| Уражені компоненти | Версіонування ClawHub, потоки auto-update |
| Поточні заходи захисту | Fingerprinting версій |
| Залишковий ризик | Високий - Auto-update може підтягнути шкідливі версії |
| Рекомендації | Реалізувати підписування оновлень, можливість відкату, pinning версій |
T-PERSIST-003: Модифікація конфігурації агента
| Атрибут | Значення |
|---|---|
| ATLAS ID | AML.T0010.002 - Supply Chain Compromise: Data |
| Опис | Атакувальник змінює конфігурацію агента, щоб закріпити доступ |
| Вектор атаки | Модифікація файлів конфігурації, injection налаштувань |
| Уражені компоненти | Конфігурація агента, політики інструментів |
| Поточні заходи захисту | Права доступу до файлів |
| Залишковий ризик | Середній - Потрібен локальний доступ |
| Рекомендації | Перевірка цілісності конфігурації, аудит-логування змін конфігурації |
3.5 Ухилення від захисту (AML.TA0007)
T-EVADE-001: Обхід шаблонів модерації
| Атрибут | Значення |
|---|---|
| ATLAS ID | AML.T0043 - Craft Adversarial Data |
| Опис | Атакувальник створює вміст skill-а так, щоб обійти шаблони модерації |
| Вектор атаки | Unicode homoglyphs, трюки з кодуванням, динамічне завантаження |
| Уражені компоненти | ClawHub moderation.ts |
| Поточні заходи захисту | FLAG_RULES на основі шаблонів |
| Залишковий ризик | Високий - Простий regex легко обійти |
| Рекомендації | Додати поведінковий аналіз (VirusTotal Code Insight), виявлення на основі AST |
T-EVADE-002: Вихід з контексту обгортки вмісту
| Атрибут | Значення |
|---|---|
| ATLAS ID | AML.T0043 - Craft Adversarial Data |
| Опис | Атакувальник створює вміст, який виходить за контекст XML-обгортки |
| Вектор атаки | Маніпуляція тегами, плутанина контексту, перевизначення інструкцій |
| Уражені компоненти | Обгортання зовнішнього вмісту |
| Поточні заходи захисту | XML-теги + повідомлення безпеки |
| Залишковий ризик | Середній - Нові способи обходу регулярно виявляються |
| Рекомендації | Кілька шарів обгортки, валідація на боці виводу |
3.6 Виявлення (AML.TA0008)
T-DISC-001: Перелік інструментів
| Атрибут | Значення |
|---|---|
| ATLAS ID | AML.T0040 - AI Model Inference API Access |
| Опис | Атакувальник перелічує доступні інструменти через prompt-и |
| Вектор атаки | Запити на кшталт “Які у тебе є інструменти?” |
| Уражені компоненти | Реєстр інструментів агента |
| Поточні заходи захисту | Нічого специфічного |
| Залишковий ризик | Низький - Інструменти зазвичай документовані |
| Рекомендації | Розглянути механізми контролю видимості інструментів |
T-DISC-002: Витягування даних сесії
| Атрибут | Значення |
|---|---|
| ATLAS ID | AML.T0040 - AI Model Inference API Access |
| Опис | Атакувальник витягує чутливі дані з контексту сесії |
| Вектор атаки | Запити “Про що ми говорили?”, зондування контексту |
| Уражені компоненти | Транскрипти сесій, вікно контексту |
| Поточні заходи захисту | Ізоляція сесій для кожного відправника |
| Залишковий ризик | Середній - Дані в межах сесії доступні |
| Рекомендації | Реалізувати редагування чутливих даних у контексті |
3.7 Збирання та ексфільтрація (AML.TA0009, AML.TA0010)
T-EXFIL-001: Викрадення даних через web_fetch
| Атрибут | Значення |
|---|---|
| ATLAS ID | AML.T0009 - Collection |
| Опис | Атакувальник ексфільтрує дані, наказуючи агенту відправити їх на зовнішній URL |
| Вектор атаки | Prompt injection, що змушує агента робити POST із даними на сервер атакувальника |
| Уражені компоненти | Інструмент web_fetch |
| Поточні заходи захисту | Блокування SSRF для внутрішніх мереж |
| Залишковий ризик | Високий - Зовнішні URL дозволені |
| Рекомендації | Реалізувати allowlist URL, врахування класифікації даних |
T-EXFIL-002: Несанкціоноване надсилання повідомлень
| Атрибут | Значення |
|---|---|
| ATLAS ID | AML.T0009 - Collection |
| Опис | Атакувальник змушує агента надсилати повідомлення з чутливими даними |
| Вектор атаки | Prompt injection, що змушує агента писати атакувальнику |
| Уражені компоненти | Інструмент повідомлень, інтеграції каналів |
| Поточні заходи захисту | Обмеження вихідних повідомлень |
| Залишковий ризик | Середній - Обмеження можна обійти |
| Рекомендації | Вимагати явного підтвердження для нових отримувачів |
T-EXFIL-003: Збирання облікових даних
| Атрибут | Значення |
|---|---|
| ATLAS ID | AML.T0009 - Collection |
| Опис | Шкідливий skill збирає облікові дані з контексту агента |
| Вектор атаки | Код skill-а читає змінні середовища, файли конфігурації |
| Уражені компоненти | Середовище виконання skill-ів |
| Поточні заходи захисту | Нічого специфічного для skill-ів |
| Залишковий ризик | Критичний - Skill-и працюють із привілеями агента |
| Рекомендації | Пісочниця для skill-ів, ізоляція облікових даних |
3.8 Вплив (AML.TA0011)
T-IMPACT-001: Несанкціоноване виконання команд
| Атрибут | Значення |
|---|---|
| ATLAS ID | AML.T0031 - Erode AI Model Integrity |
| Опис | Атакувальник виконує довільні команди в системі користувача |
| Вектор атаки | Prompt injection у поєднанні з обходом exec approval |
| Уражені компоненти | Інструмент Bash, виконання команд |
| Поточні заходи захисту | Exec approvals, опція пісочниці Docker |
| Залишковий ризик | Критичний - Виконання на host без пісочниці |
| Рекомендації | Використовувати пісочницю за замовчуванням, покращити UX схвалення |
T-IMPACT-002: Виснаження ресурсів (DoS)
| Атрибут | Значення |
|---|---|
| ATLAS ID | AML.T0031 - Erode AI Model Integrity |
| Опис | Атакувальник виснажує API-кредити або обчислювальні ресурси |
| Вектор атаки | Автоматизоване флудіння повідомленнями, дорогі виклики інструментів |
| Уражені компоненти | Gateway, сесії агентів, API-провайдер |
| Поточні заходи захисту | Немає |
| Залишковий ризик | Високий - Немає rate limiting |
| Рекомендації | Реалізувати ліміти для кожного відправника, бюджети витрат |
T-IMPACT-003: Репутаційна шкода
| Атрибут | Значення |
|---|---|
| ATLAS ID | AML.T0031 - Erode AI Model Integrity |
| Опис | Атакувальник змушує агента надсилати шкідливий/образливий вміст |
| Вектор атаки | Prompt injection, що спричиняє неприйнятні відповіді |
| Уражені компоненти | Генерація виводу, обмін повідомленнями в каналах |
| Поточні заходи захисту | Політики вмісту провайдера LLM |
| Залишковий ризик | Середній - Фільтри провайдера недосконалі |
| Рекомендації | Шар фільтрації виводу, елементи керування для користувача |
4. Аналіз ланцюга постачання ClawHub
4.1 Поточні механізми безпеки
| Механізм | Реалізація | Ефективність |
|---|---|---|
| Вік облікового запису GitHub | requireGitHubAccountAge() | Середня - Підвищує поріг для нових атакувальників |
| Санітизація шляхів | sanitizePath() | Висока - Запобігає path traversal |
| Перевірка типу файлів | isTextFile() | Середня - Лише текстові файли, але вони все одно можуть бути шкідливими |
| Обмеження розміру | 50MB загального bundle | Висока - Запобігає виснаженню ресурсів |
| Обов’язковий SKILL.md | Обов’язковий readme | Низька цінність для безпеки - Лише інформаційний |
| Модерація за шаблонами | FLAG_RULES у moderation.ts | Низька - Легко обійти |
| Статус модерації | Поле moderationStatus | Середня - Можлива ручна перевірка |
4.2 Шаблони прапорців модерації
Поточні шаблони вmoderation.ts:
- Перевіряються лише slug,
displayName,summary, frontmatter, metadata, шляхи файлів - Фактичний код skill-а не аналізується
- Простий regex легко обходиться за допомогою обфускації
- Немає поведінкового аналізу
4.3 Заплановані покращення
| Покращення | Статус | Вплив |
|---|---|---|
| Інтеграція VirusTotal | У процесі | Високий - Поведінковий аналіз Code Insight |
| Повідомлення спільноти | Частково (skillReports table exists) | Середній |
| Audit logging | Частково (auditLogs table exists) | Середній |
| Система бейджів | Реалізовано | Середній - highlighted, official, deprecated, redactionApproved |
5. Матриця ризиків
5.1 Ймовірність проти впливу
| 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: Викрадення даних через skill6. Підсумок рекомендацій
6.1 Негайно (P0)
| ID | Рекомендація | Усуває |
|---|---|---|
| R-001 | Завершити інтеграцію VirusTotal | T-PERSIST-001, T-EVADE-001 |
| R-002 | Реалізувати пісочницю для skill-ів | T-PERSIST-001, T-EXFIL-003 |
| R-003 | Додати валідацію виводу для чутливих дій | T-EXEC-001, T-EXEC-002 |
6.2 Короткостроково (P1)
| ID | Рекомендація | Усуває |
|---|---|---|
| R-004 | Реалізувати rate limiting | T-IMPACT-002 |
| R-005 | Додати шифрування токенів у стані спокою | T-ACCESS-003 |
| R-006 | Покращити UX і валідацію exec approval | T-EXEC-004 |
| R-007 | Реалізувати allowlist URL для web_fetch | T-EXFIL-001 |
6.3 Середньостроково (P2)
| ID | Рекомендація | Усуває |
|---|---|---|
| R-008 | Додати криптографічну перевірку каналів там, де це можливо | T-ACCESS-002 |
| R-009 | Реалізувати перевірку цілісності конфігурації | T-PERSIST-003 |
| R-010 | Додати підписування оновлень і pinning версій | T-PERSIST-002 |
7. Додатки
7.1 Відображення технік ATLAS
| ATLAS ID | Назва техніки | Загрози OpenClaw |
|---|---|---|
| AML.T0006 | Active Scanning | T-RECON-001, T-RECON-002 |
| AML.T0009 | Collection | T-EXFIL-001, T-EXFIL-002, T-EXFIL-003 |
| AML.T0010.001 | Supply Chain: AI Software | T-PERSIST-001, T-PERSIST-002 |
| AML.T0010.002 | Supply Chain: Data | T-PERSIST-003 |
| AML.T0031 | Erode AI Model Integrity | T-IMPACT-001, T-IMPACT-002, T-IMPACT-003 |
| AML.T0040 | AI Model Inference API Access | T-ACCESS-001, T-ACCESS-002, T-ACCESS-003, T-DISC-001, T-DISC-002 |
| AML.T0043 | Craft Adversarial Data | T-EXEC-004, T-EVADE-001, T-EVADE-002 |
| AML.T0051.000 | LLM Prompt Injection: Direct | T-EXEC-001, T-EXEC-003 |
| AML.T0051.001 | LLM Prompt Injection: Indirect | T-EXEC-002 |
7.2 Ключові файли безпеки
| Path | Призначення | Рівень ризику |
|---|---|---|
src/infra/exec-approvals.ts | Логіка схвалення команд | Critical |
src/gateway/auth.ts | Автентифікація Gateway | Critical |
src/infra/net/ssrf.ts | Захист SSRF | Critical |
src/security/external-content.ts | Пом’якшення prompt injection | Critical |
src/agents/sandbox/tool-policy.ts | Застосування політик інструментів | Critical |
src/routing/resolve-route.ts | Ізоляція сесій | Medium |
7.3 Глосарій
| Термін | Визначення |
|---|---|
| ATLAS | MITRE’s Adversarial Threat Landscape for AI Systems |
| ClawHub | Marketplace skill-ів OpenClaw |
| Gateway | Шар маршрутизації повідомлень і автентифікації OpenClaw |
| MCP | Model Context Protocol - інтерфейс провайдера інструментів |
| Prompt Injection | Атака, у якій шкідливі інструкції вбудовуються у вхідні дані |
| Skill | Завантажуване розширення для агентів OpenClaw |
| SSRF | Server-Side Request Forgery |
Ця модель загроз є живим документом. Повідомляйте про проблеми безпеки на security@openclaw.ai