
Пассивное middleware для Laravel, которое обнаруживает и логирует SQL-инъекции, XSS, RCE, бот-сканеры и более 175 паттернов атак. Включает встроенную панель управления, уведомления в Slack, REST API и геообогащение. IDS, а не WAF.
Мониторинг безопасности и журналирование атак для Laravel. Обнаруживает и регистрирует SQL-инъекции,
XSS, RCE, обход каталогов, ботов-сканеров и разведочные запросы в стиле /wp-admin —
каждый враждебный запрос записывается в вашу базу данных с полным контекстом приложения.
Это IDS, а не WAF: он никогда не блокирует, не фильтрует и не изменяет запрос.
GET /wp-admin/setup-config.php 404 — on a site that isn't WordPress
GET /.env 404 — someone wants your database password
GET /?id=1' UNION SELECT password FROM 200 — SQL injection against a real route
GET /phpmyadmin/index.php 404 — scanning for an admin panel
Эти запросы уже достигают вашего Laravel-приложения. Ваш лог доступа показывает URL и код состояния, и больше ничего — ни декодированную полезную нагрузку, ни то, какой из ваших маршрутов был атакован, ни то, пытался ли тот же IP сделать сорок других вещей за этот час.
Этот пакет отвечает на эти вопросы. Установите его в любое приложение на Laravel 10–13, и он начнёт сканировать каждый HTTP-запрос по 150+ шаблонам атак, оценивая каждое совпадение по уровню достоверности и записывая его в вашу базу данных — со встроенной панелью управления, оповещениями в Slack, геообогащением и экспортом для fail2ban/блок-листов. Ни один запрос никогда не блокируется. Думайте о нём как о камере наблюдения, а не о замке: он показывает вам, кто именно прощупывает ваши маршруты, как часто и какими методами.
Извлечён из production-приложения и проверен в бою на реальном трафике. 2 400+ тестов, никаких runtime-зависимостей помимо самого Laravel, и для обнаружения не требуется подключение к интернету.
Обновляетесь? См. UPGRADING.md. Хотите внести вклад? См. CONTRIBUTING.md.
composer require jayanta/laravel-threat-detection
php artisan vendor:publish --tag=threat-detection-migrations
php artisan migrate
Затем добавьте middleware в вашу группу web (одна строка в bootstrap/app.php на Laravel 11+,
или app/Http/Kernel.php на Laravel 10) — полный фрагмент в разделе Quick Start ниже.
Вот и всё; обнаружение работает.
php artisan threat-detection:doctor # confirms it is actually recording
Этот пакет — пассивный IDS уровня приложения — он наблюдает и записывает, но не блокирует. Он предназначен для работы рядом с WAF или edge-сервисом, а не для их замены. Каждый слой видит то, чего не видят другие:
| Этот пакет (app IDS) | WAF (ModSecurity + OWASP CRS, Cloudflare WAF) | Edge / CDN (Cloudflare) | |
|---|---|---|---|
| Блокирует вредоносные запросы | ❌ только логирует | ✅ | ✅ |
| Полный контекст приложения (точный URL, декодированный payload, аутентифицированный пользователь) | ✅ | ⚠️ частично | ❌ |
| Встроенный дашборд + журнал угроз в вашей БД | ✅ | ⚠️ зависит | ⚠️ только edge |
| Обнаружения, специфичные для приложения (например, Aadhaar / PAN / IFSC PII) | ✅ встроено + кастомные | ⚠️ пишите свои правила | ⚠️ кастомные правила, зависит от плана |
| Работает офлайн / без внешнего сервиса | ✅ | ⚠️ зависит | ❌ |
| Останавливает трафик до того, как он достигнет вашего сервера | ❌ | ⚠️ только облачный WAF | ✅ |
| Установка | composer require, миграция, одна строка middleware | средне–высокая | низкая–средняя |
| Стоимость | бесплатно, MIT | зависит | бесплатный тариф + платный |
Коротко: edge/WAF — это замок на двери; это — камера безопасности внутри, с контекстом приложения, позволяющим точно сказать, что пытаются сделать на каком маршруте, кем и как часто. Используйте это для принятия реальных решений — баны fail2ban, ограничения скорости, геоблокировка — на основе данных, которых ваш edge-слой никогда не видит.