Урок 4: Соціальні мережі та медіапростір — збір, моніторинг, базовий аналіз
Навігація курсу: Хаб: Уроки
Попередній: Урок-03-Верифікація-та-маніпуляції | Наступний: Урок-05-Entity-Resolution
Слайди (Презентаційний текст)
Слайд 1 — Заголовок
Соціальні мережі та медіапростір
Збір · Моніторинг · Базовий аналіз
Слайд 2 — Соцмережі як OSINT-джерело (2025-2026)
Чому соцмережі — головне джерело:
- Люди публікують особисте добровільно
- Поведінкові патерни виявляють більше ніж декларації
- Мережа зв’язків видна публічно
- Часові мітки → хронологія, часовий пояс, активність
Масштаб 2026:
- Instagram: 2+ млрд активних користувачів
- TikTok: 1.5+ млрд
- LinkedIn: 1+ млрд
- Telegram: 900+ млн
- Facebook: 3+ млрд
Слайд 3 — Що ми збираємо з кожної платформи
| Платформа | Ключові дані |
|---|---|
| Кар’єра, компанії, зв’язки, навички, рекомендації | |
| Локація (геотеги), стосунки (тегування), стиль, активність | |
| Особисті зв’язки, події, місця, сім’я | |
| TikTok | Інтереси, творчість, вік аудиторії, активність |
| Telegram | Думки, спільноти, канали підписок |
| Twitter/X | Реакції в реальному часі, зв’язки, думки |
Слайд 4 — Витяжка з LinkedIn
URL-патерни для пошуку:
linkedin.com/in/ім'я-прізвище
linkedin.com/in/ім'япризвище
linkedin.com/in/першалітерапризвище
Що витягуємо:
- Headline, поточна роль
- Хронологія посад (зверни увагу на прогалини!)
- Освіта і сертифікати
- Зв’язки і рекомендації → соціальний граф
- Локаційна динаміка між ролями
Сигнали:
- Прогалини у кар’єрі = звільнення, перехід, декрет
- “Co-founder” vs “Founder” vs “Partner” — різний рівень власності
- Короткі перебування (<1 року) = не вписався, пішов, звільнили
Слайд 5 — Instagram: що читати між рядками
Engagement rate (якість аудиторії):
ER = (середні лайки + коментарі) / підписники × 100
>6% = близьке коло, 3-6% = добре, <1% = боти/неактивні
Стиль-сигнали:
- Мінімальні підписи = приватна особистість
- Відсутність селфі = інтровертність
- Хештеги плівкового фото = естетична чутливість
- Багато хайлайтів + мало постів = активний Stories-користувач
Слайд 6 — Telegram як OSINT-джерело (2025-2026)
Чому Telegram особливий:
- Пости зазвичай нередаговані = автентичний голос
- Канали без верифікації = анонімні актори
- Час публікацій → часовий пояс, робочий ритм
- Emoji-патерни = маркери особистості
- Що перепосилають = що читають і поважають
Технічний доступ:
# Публічні канали
web_fetch "t.me/s/{channel_name}"
# Пошук по Telegram OSINT
github.com/The-Osint-Toolbox/Telegram-OSINTСлайд 7 — YouTube: найглибший психопрофільний сигнал
YouTube — найцінніше джерело для психопрофілю:
- Скрипт = думки, аргументи, цінності
- Unboxing, влоги = особистість без фільтрів
- Коментарі = реакція спільноти
- Частота завантажень = дисципліна
Пошук:
Google: site:youtube.com "Ім'я Прізвище" channel
Якщо є 5+ відео → витягни 3-5 транскрипти ПЕРЕД побудовою психопрофілю
Слайд 8 — Автоматизований моніторинг 2025-2026
Інструменти реального часу:
| Інструмент | Можливості |
|---|---|
| Crimewall (Social Links) | 500+ джерел, соцмережі + dark web |
| Hootsuite Listening | 150M+ сайтів, 30+ соцмереж, 187 мов |
| Social-Searcher | Пошук по соцмережах, безкоштовний рівень |
| Osavul | Telegram 150,000+ каналів, AI-аналіз наративів |
| Talkwalker | Sentiment analysis, trend prediction |
Слайд 9 — Аналіз настроїв (Sentiment Analysis)
Що виявляє AI:
- Тональність дискусій навколо суб’єкта/події
- Прогноз ескалації тем
- Виявлення скоординованих кампаній (аномальний ріст)
Базова класифікація:
Позитивний / Нейтральний / Негативний
+ Емоції: злість, страх, радість, здивування
+ Інтенсивність: 1-10
Практичний інструмент: Talkwalker, Hootsuite, Brand24 (платні)
Безкоштовно: VADER (Python) для базового sentiment
Слайд 10 — Операційна безпека при зборі
Проблема: платформи відстежують і блокують автоматизований збір
Практики:
- Використовуй VPN або Tor для анонімного перегляду
- Робоче середовище: Tails OS або ізольована VM
- Не логінься у свій акаунт під час OSINT-збору
- Apify, BrightData обходять блокування через проксі-мережі
Правило: OSINT-операція не повинна залишати слід у суб’єкта
Слайд 11 — Пріоритет платформ за завданням
| Завдання | Платформи (порядок пріоритету) |
|---|---|
| Кар’єра | LinkedIn → компанійський сайт → пресрелізи |
| Особистість | Instagram → TikTok → YouTube → Telegram |
| Думки і позиція | Telegram → Twitter/X → YouTube |
| Зв’язки | LinkedIn → Facebook → Instagram (теги) |
| Місцезнаходження | Instagram геотеги → Facebook check-ins → Google Maps |
| Фінанси | LinkedIn (посади/компанії) → реєстри |
Нотатки доповідача
До слайду 3 — Що збираємо
Наголосіть: кожна платформа має власну “мову”. LinkedIn — офіційний голос, Instagram — особистий, Telegram — необроблений. Порівняння між платформами дає найбільший інсайт — розбіжності між “я офіційний” і “я в реальності” часто розкривають більше ніж відповідність.
До слайду 6 — Telegram
Telegram перетворився на найважливіший OSINT-канал для пострадянського простору і конфліктних регіонів. 150,000+ каналів в Osavul — це показник масштабу. Підкресліть: на відміну від інших платформ, Telegram не має верифікації — будь-який канал може видавати себе за будь-що.
До слайду 7 — YouTube
Зробіть демонстрацію: відкрийте YouTube-канал публічної особи, перегляньте 2-3 хвилини відео, а потім попросіть AI проаналізувати транскрипт. Порівняйте з LinkedIn-профілем — розбіжності очевидні. Довге відеоінтерв’ю розкриває більше ніж вся кар’єрна сторінка.
До слайду 10 — OpSec
Це важливо для практичних занять. Студенти повинні розуміти: виконання OSINT зі свого особистого акаунту залишає сліди. Особа може побачити хто переглядав її LinkedIn. Фото можна відстежити. Для навчальних завдань достатньо режиму інкогніто + VPN.
Домашнє завдання
Завдання 1 — Платформений порівняльний аналіз (обов’язкове)
Оберіть будь-яку публічну особу (підприємець, журналіст, спортсмен) яка присутня на 3+ платформах.
Заповніть таблицю:
| Платформа | Тон | Теми | Частота | Аудиторія | Що приховує? |
|---|---|---|---|---|---|
| YouTube/TikTok | |||||
| Telegram |
Висновки: чи відрізняється “офіційний голос” від “особистого голосу”?
Завдання 2 — Sentiment-аналіз (обов’язкове)
Знайдіть Telegram-канал з 10,000+ підписників у вашій темі.
- Проаналізуйте 20 останніх постів
- Визначте тональність (позитивна / нейтральна / негативна)
- Знайдіть 3 пости що отримали найбільше реакцій — чому?
- Чи є ознаки координованого поширення?
Завдання 3 — Геолокація (бажане)
Знайдіть публікацію з розпізнаваним фоном або геотегом.
Визначте точне місце за допомогою Google Street View.
Задокументуйте методологію.
Матеріали для студентів
- Матеріали-Урок-04-Флот-скрейперів (див. матеріали) — супровідні матеріали: кейс флоту колекторів
- SOCMINT (див. матеріали) — довідник інструментів SOCMINT (пошук, соцмережі, гео, документи)
Ресурси
Соцмережі та OSINT:
- Social Media OSINT Tools Collection (GitHub)
- Telegram OSINT Resources (GitHub)
- Neotas: Social Media OSINT Techniques
- LifeRaft: Social Media Monitoring with OSINT
Моніторинг:
Платформи для практики (безкоштовні):
- Social-Searcher.com — пошук у соцмережах
- Followerwonk — аналіз Twitter/X
- Telegram Web (web.telegram.org) — перегляд публічних каналів
Карта платформ і сигналів (роздаткове)
LINKEDIN
- Поточна роль: Headline
- Кар'єра: Experience (хронологія)
- Освіта: Education
- Зв'язки: Connections
- Прогалини: між датами посад
- Ключовий сигнал: офіційний наратив
INSTAGRAM
- Локація: геотеги постів і Stories
- Стосунки: хто тегує, кого тегують
- Стиль: фільтри, кути, теми
- Активність: час постів, Stories-перегляди
- Ключовий сигнал: особистий стиль
TELEGRAM
- Думки: пости у власних каналах
- Читання: що перепосилають
- Часовий пояс: час публікацій
- Ключовий сигнал: необроблений голос
YOUTUBE/TIKTOK
- Зміст: транскрипти відео
- Стиль: face-to-camera vs voiceover
- Аудиторія: хто коментує
- Ключовий сигнал: психопрофіль
SHATTERED: Інгест та аналіз соцмереж
Слайд 12 — SHATTERED для соцмереж: Огляд
Яку роль відіграє SHATTERED при аналізі соцмереж:
| Задача | SHATTERED шард | Що робить |
|---|---|---|
| Завантаження зібраного контенту | ingest | Batch upload HTML/JSON/TXT зі соцмереж |
| Витяжка сутностей (імена, орг, місця) | entities | Автоматичний NER (spaCy) |
| Пошук по корпусу постів | search | Semantic/keyword/hybrid |
| Швидке резюме каналу/профілю | summary | key_points або brief |
| Виявлення суперечностей між постами | contradictions | Порівняння тверджень |
| Хронологічний аналіз | timeline | Упорядкування подій у часі |
Слайд 13 — SHATTERED: Інгест Telegram-каналу
Крок 1 — Збери контент (зовнішньо):
# Telegram Web → публічний канал → зберегти як HTML
# або через snscrape
pip install snscrape
python -m snscrape --jsonl telegram-channel osint_ukraine > channel.jsonl
# або через TGStat export (CSV/JSON)Крок 2 — Завантаж у SHATTERED:
# Один файл
curl -X POST http://localhost:8100/api/ingest/upload \
-F "file=@channel.jsonl"
# Або вся папка з файлами
curl -X POST http://localhost:8100/api/ingest/ingest-path \
-H "Content-Type: application/json" \
-d '{"path": "/data/telegram_exports/", "recursive": true}'Крок 3 — Перевір статус:
curl http://localhost:8100/api/ingest/queue
# {"pending": 0, "completed": 847, "failed": 2}Слайд 14 — SHATTERED: Entities автоматична витяжка
Після інгесту SHATTERED автоматично запускає NER і витягує сутності:
# Переглянь витягнуті сутності
curl "http://localhost:8100/api/entities/items?type=PERSON&limit=20" | jq
# Відповідь:
{
"items": [
{"id": "ent_001", "name": "Іван Петренко", "type": "PERSON",
"mention_count": 47, "documents": ["doc_A", "doc_B", ...]},
{"id": "ent_002", "name": "TechUA", "type": "ORGANIZATION",
"mention_count": 23}
]
}Типи сутностей: PERSON, ORGANIZATION, GPE (геополітичні), LOCATION, DATE, MONEY
Знайти дублікати:
curl http://localhost:8100/api/entities/duplicates?threshold=0.85
# → знайде "І. Петренко" і "Іван Петренко" як ймовірний дублікатСлайд 15 — SHATTERED: Семантичний пошук по корпусу
Пошук по завантажених постах:
# Знайти всі пости про конкретну тему
curl -X POST http://localhost:8100/api/search/ \
-H "Content-Type: application/json" \
-d '{
"query": "фінансування операцій через криптовалюту",
"mode": "hybrid",
"filters": {"project_id": "proj_telegram"}
}'AI Chat Search — конверсаційний пошук:
curl -X POST http://localhost:8100/api/search/chat \
-d '{
"message": "Коли вперше з'\''явилась згадка про Петренка у зв'\''язку з TechUA?",
"project_id": "proj_telegram"
}'
# → відповідь з цитатами і посиланнями на документиСлайд 16 — SHATTERED: Summary для швидкого огляду
Коли: потрібно швидко зрозуміти 50+ постів без читання кожного:
# Резюме одного документа
curl -X POST http://localhost:8100/api/summary/ \
-d '{
"source_type": "document",
"source_id": "doc_channel_export",
"summary_type": "key_points"
}'
# Batch резюме всього проєкту
curl -X POST http://localhost:8100/api/summary/batch \
-d '{"project_id": "proj_telegram", "summary_type": "brief"}'Результат:
{
"key_points": [
"Канал активний з 2022, публікує 3-5 постів/день",
"90% контенту — антиукраїнські наративи",
"Часто посилається на RT, Sputnik, анонімні 'інсайдерські' канали",
"Спостерігається різкий ріст активності перед великими подіями"
]
}Нотатки до SHATTERED-блоку (Урок 4)
Підкресли: SHATTERED — це не збирач даних. Він обробляє те що ти вже зібрав зовнішніми інструментами. Пайплайн: збір (snscrape/TGStat/ручний export) → SHATTERED (інгест → entities → search → summary → contradictions).
Матеріали → Матеріали-Урок-04-Флот-скрейперів
← Урок-03-Верифікація-та-маніпуляції | Наступний урок: Урок-05-Entity-Resolution →