---
read_when:
    - Перегляд стану безпеки або сценаріїв загроз
    - Робота над функціями безпеки або відповідями на аудит
summary: Модель загроз OpenClaw, зіставлена з фреймворком MITRE ATLAS
title: Модель загроз (MITRE ATLAS)
x-i18n:
    generated_at: "2026-04-05T18:19:04Z"
    model: gpt-5.4
    provider: openai
    source_hash: 05561381c73e8efe20c8b59cd717e66447ee43988018e9670161cc63e650f2bf
    source_path: security/THREAT-MODEL-ATLAS.md
    workflow: 15
---

# Модель загроз OpenClaw v1.0

## Фреймворк MITRE ATLAS

**Версія:** 1.0-draft
**Останнє оновлення:** 2026-02-04
**Методологія:** MITRE ATLAS + діаграми потоків даних
**Фреймворк:** [MITRE ATLAS](https://atlas.mitre.org/) (Adversarial Threat Landscape for AI Systems)

### Посилання на фреймворк

Цю модель загроз побудовано на основі [MITRE ATLAS](https://atlas.mitre.org/), галузевого стандартного фреймворку для документування змагальних загроз для систем AI/ML. ATLAS підтримується [MITRE](https://www.mitre.org/) у співпраці зі спільнотою безпеки AI.

**Ключові ресурси ATLAS:**

- [Техніки ATLAS](https://atlas.mitre.org/techniques/)
- [Тактики ATLAS](https://atlas.mitre.org/tactics/)
- [Кейс-стаді ATLAS](https://atlas.mitre.org/studies/)
- [GitHub ATLAS](https://github.com/mitre-atlas/atlas-data)
- [Як робити внесок в ATLAS](https://atlas.mitre.org/resources/contribute)

### Як робити внесок у цю модель загроз

Це живий документ, який підтримує спільнота OpenClaw. Перегляньте [CONTRIBUTING-THREAT-MODEL.md](/security/CONTRIBUTING-THREAT-MODEL), щоб ознайомитися з правилами внеску:

- Повідомлення про нові загрози
- Оновлення наявних загроз
- Пропонування ланцюгів атак
- Пропонування заходів пом’якшення

---

## 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 Межі довіри

```
┌─────────────────────────────────────────────────────────────────┐
│                    НЕДОВІРЕНА ЗОНА                              │
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐              │
│  │  WhatsApp   │  │  Telegram   │  │   Discord   │  ...         │
│  └──────┬──────┘  └──────┬──────┘  └──────┬──────┘              │
│         │                │                │                      │
└─────────┼────────────────┼────────────────┼──────────────────────┘
          │                │                │
          ▼                ▼                ▼
┌─────────────────────────────────────────────────────────────────┐
│            МЕЖА ДОВІРИ 1: Доступ до каналів                     │
│  ┌──────────────────────────────────────────────────────────┐   │
│  │                      GATEWAY                              │   │
│  │  • Pairing пристроїв (1 год DM / 5 хв пільговий період node) │   │
│  │  • Валідація AllowFrom / AllowList                       │   │
│  │  • Автентифікація Token/Password/Tailscale              │   │
│  └──────────────────────────────────────────────────────────┘   │
└─────────────────────────────────────────────────────────────────┘
                              │
                              ▼
┌─────────────────────────────────────────────────────────────────┐
│            МЕЖА ДОВІРИ 2: Ізоляція сесій                        │
│  ┌──────────────────────────────────────────────────────────┐   │
│  │                   СЕСІЇ АГЕНТІВ                          │   │
│  │  • Ключ сесії = agent:channel:peer                       │   │
│  │  • Політики інструментів для кожного агента              │   │
│  │  • Логування транскриптів                                │   │
│  └──────────────────────────────────────────────────────────┘   │
└─────────────────────────────────────────────────────────────────┘
                              │
                              ▼
┌─────────────────────────────────────────────────────────────────┐
│            МЕЖА ДОВІРИ 3: Виконання інструментів                │
│  ┌──────────────────────────────────────────────────────────┐   │
│  │                 ПІСОЧНИЦЯ ВИКОНАННЯ                       │   │
│  │  • Пісочниця Docker АБО host (exec-approvals)            │   │
│  │  • Віддалене виконання node                              │   │
│  │  • Захист SSRF (фіксація DNS + блокування IP)            │   │
│  └──────────────────────────────────────────────────────────┘   │
└─────────────────────────────────────────────────────────────────┘
                              │
                              ▼
┌─────────────────────────────────────────────────────────────────┐
│            МЕЖА ДОВІРИ 4: Зовнішній вміст                       │
│  ┌──────────────────────────────────────────────────────────┐   │
│  │          ОТРИМАНІ URL / EMAIL / WEBHOOK                  │   │
│  │  • Обгортання зовнішнього вмісту (XML-теги)              │   │
│  │  • Додавання повідомлення безпеки                        │   │
│  └──────────────────────────────────────────────────────────┘   │
└─────────────────────────────────────────────────────────────────┘
                              │
                              ▼
┌─────────────────────────────────────────────────────────────────┐
│            МЕЖА ДОВІРИ 5: Ланцюг постачання                     │
│  ┌──────────────────────────────────────────────────────────┐   │
│  │                      CLAWHUB                              │   │
│  │  • Публікація skill-ів (semver, SKILL.md обов’язковий)    │   │
│  │  • Прапорці модерації на основі шаблонів                 │   │
│  │  • Сканування VirusTotal (незабаром)                     │   │
│  │  • Перевірка віку облікового запису GitHub               │   │
│  └──────────────────────────────────────────────────────────┘   │
└─────────────────────────────────────────────────────────────────┘
```

### 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`:

```javascript
// Known-bad identifiers
/(keepcold131\/ClawdAuthenticatorTool|ClawdAuthenticatorTool)/i

// Suspicious keywords
/(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, шляхи файлів
- Фактичний код 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: Викрадення даних через skill**

```
T-PERSIST-001 → T-EVADE-001 → T-EXFIL-003
(Publish malicious skill) → (Evade moderation) → (Harvest credentials)
```

**Ланцюг атаки 2: Prompt Injection до RCE**

```
T-EXEC-001 → T-EXEC-004 → T-IMPACT-001
(Inject prompt) → (Bypass exec approval) → (Execute commands)
```

**Ланцюг атаки 3: Непряма injection через отриманий вміст**

```
T-EXEC-002 → T-EXFIL-001 → External exfiltration
(Poison URL content) → (Agent fetches & follows instructions) → (Data sent to attacker)
```

---

## 6. Підсумок рекомендацій

### 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_
