Категории
Мониторинг персонала с помощью нейросети
01.07.2026 | из категории: Нейросети
◈ HERMES.AGENT
ЛОКАЛЬНЫЙ КОНТУР :: ВЕРСИЯ 2.0.6
АГЕНТ АКТИВЕН
[ ОБХОДИТ СКУД + WI-FI ]
📡 АНАЛИЗ ПОВЕДЕНИЯ
LIVE
> СКАНИРОВАНИЕ IP-ПУЛОВ...
[!] 192.168.1.47 — порнуха в обед (45 мин)
> ПЕРЕСЕЧЕНИЕ С БАЗОЙ СКУД:
Иванов А. (отдел продаж): выход в 14:32, возврат 15:50
[ НАРУШЕНИЕ: отсутствие 1ч 18м ]
Петрова М. (бухгалтерия): 12:00–12:45 — Wi-Fi офис
[ ОК: обед в здании ]
⚠️ ИНЦИДЕНТЫ ЗА СМЕНУ
12 новых
| СОТРУДНИК | СОБЫТИЕ | IP/МАС |
|---|---|---|
| Сидоров К. | Спят в переговорке | 10.0.0.54 |
| Козлов Д. | Уход на 2ч (СКУД) | — |
| Смирнова А. | Активность в CRM | 10.0.0.12 |
| Зайцев Р. | Визит на adult-site | 192.168.1.77 |
* на основе анализа прокси-логов за последние 4 часа
🧠 ПАТТЕРНЫ / АНОМАЛИИ
AI
[ОБНАРУЖЕНО]
• В пятницу в 16:00 70% отдела продаж уходят рано
• 3 сотрудника имеют MAC-адреса, которые не привязаны к оборудованию
• Подозрительный трафик на 192.168.1.105: 6 ГБ за час
[РЕКОМЕНДАЦИЯ]
Проверить рабочую станцию №12 на наличие торрент-клиента.
⚙️ ТЕХНИЧЕСКАЯ АРХИТЕКТУРА
— как агент подключается к базам и живёт в авторежиме
📡 СКУД
PostgreSQL / REST
→
📷 БАЗА ЛИЦ
MongoDB / Файлы
→
🌐 РОУТЕР
SNMP / Syslog
→
🛡️ ПРОКСИ
CSV / SQLite
→
🧠 АГЕНТ (LLM)
Llama 3 / Qwen
→
📊 ОТЧЁТ
Telegram / E-mail / Дашборд
🔌 ПОДКЛЮЧЕНИЕ К ИСТОЧНИКАМ
СКУД
postgresql://192.168.1.10:5432/access
→
таблица events
БАЗА ЛИЦ
mongodb://192.168.1.11:27017/faces
→
коллекция recognitions
РОУТЕР
SNMP v2c @ 192.168.1.1
→
OID .1.3.6.1.2.1.4.22.1.2 (ARP-таблица)
ПРОКСИ
/var/log/squid/access.log
→
парсинг в CSV
→ Все подключения через защищённый VPN-туннель внутри периметра
🔄 ETL-СЛОЙ (Сбор и нормализация)
# Единый сборщик данных (Python + Pandas)
def collect_all():
try:
skud = fetch_skud('2026-07-01')
faces = fetch_faces('2026-07-01')
wifi = fetch_wifi_arp()
proxy = parse_proxy_logs('/var/log/squid/*.log')
except Exception as e:
log_error(e)
# Нормализация в единую структуру
df = merge_all(skud, faces, wifi, proxy)
return df
- Приведение timestamp к единому часовому поясу
- Маппинг MAC → IP → Сотрудник (через DHCP-логи)
- Категоризация сайтов (рабочие / соцсети / развлечения)
⏰ ПАТТЕРНЫ + CRON (Автоанализ)
# crontab -e (запуск каждый день в 23:00)
0 23 * * * /usr/bin/python3 /opt/hermes/run_analysis.py
# Сама аналитика — промты для LLM
def run_patterns(df):
# 1. Аномалии по СКУД
prompt1 = "Найди сотрудников, которые выходят из офиса более 3 раз за смену"
# 2. Пересечение с прокси
prompt2 = "Сопоставь время отсутствия по СКУД с активностью в интернете"
# 3. Поиск паттернов
prompt3 = "Выяви группы сотрудников, которые уходят в одно и то же время"
return llm_analyze(df, [prompt1, prompt2, prompt3])
- Каждый вечер базы «набираются» за день
- Агент прогоняет 3–5 промтов автоматически
- Результаты сохраняются в БД отчётов
- При обнаружении критических паттернов — alert в Telegram
📋 ПРИМЕР: ПАТТЕРН «КУРИЛЬЩИКИ»
# SQL-запрос для СКУД + логика LLM
SELECT employee_id, COUNT(*) as exits
FROM skud_events
WHERE direction = 'выход'
AND duration BETWEEN 5 AND 20 -- минуты
GROUP BY employee_id
HAVING COUNT(*) > 3
# LLM-дообогащение:
"Сопоставь с прокси-логами. Если в эти же временные слоты нет интернет-активности — классифицируй как 'курение'"
✅ Обнаружено: 7 курильщиков
⚠️ Из них 2 воруют время (> 1ч в день)
🔒 БЕЗОПАСНОСТЬ (Почему можно)
- Все данные НЕ ПОКИДАЮТ периметр компании
- Модель загружена в ollama / vLLM локально
- Данные обезличены перед анализом (ФИО → ID)
- Доступ к дашборду только через VPN + 2FA
- Логи агента хранятся 30 дней, затем шифруются
🛡️ Глобальная модель (ChatGPT/Claude) НЕ ИСПОЛЬЗУЕТСЯ — только open-source веса на своём железе
🚀 ЦИКЛ АВТОНОМНОЙ РАБОТЫ
01
00:00
→ Сбор логов со всех источников за день
02
01:00
→ Нормализация и объединение в единый DataFrame
03
02:00
→ Прогон 5 паттернов через локальную LLM
04
03:00
→ Сохранение результатов в БД (таблица reports)
05
03:30
→ Если найдены критические аномалии → Telegram-уведомление
📌 Стек: Python + Pandas + SQLAlchemy + Ollama + SQLite/PostgreSQL