LEX — AI Legal Platform for Law Firms

AI-powered legal analysis platform for law firms and corporate counsel.

Features

Resources

Blog Articles

Technology

Built on AWS (EC2, Bedrock Claude AI, ALB, WAF, S3, ACM, KMS). PostgreSQL, Redis, Qdrant vector database. TypeScript, React, Node.js.

Start free — 50 credits on registration. Sign up

TECH 15 мин

Безопасность LEX AI: GDPR-аудит, 10 исправлений и 7 уровней защиты

5 параллельных white-hat агентов проверили платформу на соответствие GDPR и OWASP Top 10. Нашли 23 уязвимости — от SQL-инъекций до Google Ads без consent. Исправили 10 критичных за одну сессию. Полная архитектура безопасности: Cloudflare, TLS 1.3, CSP, rate limiting, WebAuthn, E2EE.

Безопасность LEX AI: GDPR-аудит, 10 исправлений и 7 уровней защиты

Юридическая платформа обрабатывает самые чувствительные данные: судебные дела, контракты, персональную информацию клиентов. Безопасность — не фича, а фундамент. Мы провели полный security audit силами 5 параллельных AI-агентов и исправили все критические находки за одну сессию.

Эта статья — прозрачный разбор: что нашли, что исправили, и как устроена полная архитектура защиты LEX AI.


Как проводили аудит

Вместо классического ручного пентеста мы запустили 5 специализированных white-hat агентов параллельно, каждый со своей зоной ответственности:

Агент Фокус Файлов проверено
🔍 Data Collection Cookie consent, трекинг, OAuth scopes 42
💾 Data Storage БД-схемы, retention, Redis, Qdrant, MinIO 53
👤 User Rights GDPR Art. 15-22 (доступ, удаление, портабельность) 25
🛡️ OWASP Top 10 Injection, XSS, Auth, CORS, CSRF, rate limiting 45
🌐 Data Transfers Third-party API, sub-processors, cross-border 48

Что нашли: 23 уязвимости

Критические (исправлены)

1. Google Ads загружался ДО cookie consent — скрипт выполнялся при каждой загрузке страницы до показа баннера. Исправлено: динамическая загрузка только после согласия + Google Consent Mode v2.

2. JWT Secret с fallback на известную строку — несколько файлов содержали предсказуемый fallback-секрет. Исправлено: приложение крашится при старте без переменной окружения. Fallback удалён.

3. SQL Injection через интерполяцию параметров — параметры вставлялись напрямую в SQL строку. Исправлено: все запросы переведены на параметризованные плейсхолдеры.

Высокие (исправлены)

4–10: Конверсионный трекинг без consent, Nginx CORS отражал любой Origin (заменён на строгий whitelist), XSS через dangerouslySetInnerHTML (добавлен DOMPurify), динамические SQL таблицы без whitelist (добавлен allowlist), cleanup-функции никогда не запускались (добавлены cron-задачи), email в логах в plaintext (добавлена маскировка), OAuth регистрация без rate limiting (добавлен лимит по IP).


7 уровней защиты LEX AI

Уровень 1: Cloudflare — DDoS Protection, WAF, Bot Management, Origin CA

Уровень 2: TLS 1.3 — ECDHE Forward Secrecy, HSTS 1 год

Уровень 3: Nginx — Security Headers (HSTS, X-Frame-Options, CSP, Referrer-Policy)

Уровень 4: Express.js — Multi-layer rate limiting по IP и User ID

Уровень 5: Аутентификация — 6 методов (Password, Google OAuth, WebAuthn, Diia, OIDC, API Keys)

Уровень 6: База данных — PgBouncer + SCRAM-SHA-256, Docker network isolation

Уровень 7: GDPR — Export/Delete/Portability, Cookie Consent, E2EE (AES-256-GCM + X25519)


Выводы

  1. AI-агенты для security audit — 5 параллельных агентов покрыли больше поверхности атаки за 3 минуты, чем ручной review за день
  2. Defense in depth работает — ни одна уязвимость не давала полный доступ
  3. GDPR — это код, не документ — права пользователей должны быть реализованы в коде
  4. Прозрачность строит доверие — мы публикуем результаты аудита открыто

Все исправления: PR #1224.


Регистрация: legal.org.ua