Увійти Реєстрація
Блог Серії
Кар'єра
Вакансії Компанії
Навчання
Документація Співбесіди Тестування Відео
Екосистема
Пакети Ресурси Проєкти Інструменти Події
Інше
Про нас Реклама
Новини 26 серпня 2026

Laravel Auditor - Аудит застосунків за допомогою AI-агентів

Коли просиш AI-агента перевірити Laravel-застосунок, зазвичай отримуєш суміш реальних помилок, стильових порад, замаскованих під критичні проблеми, та вразливостей, яких насправді не існує. Laravel Auditor від Punyapal Shah - це dev-залежність, яка надає агенту, яким ти вже користуєшся, письмову методологію аудиту, каталог із 75 правил та read-only інструменти, що повідомляють факти про проєкт замість того, щоб модель здогадувалася сама.

Пакет не виконує жодної з перевірок самостійно - він встановлює навички та настанови для Claude Code, Codex, Cursor, Copilot, Gemini CLI, Junie, Zed або opencode, а потім дає змогу агенту провести процес Discover → Scope → Verify → Report над твоїм кодом.

Ключові можливості

Пакет надає такі функції:

  • Агностична установка - команда auditor:install --agents=claude_code публікує навички, настанови та файли адаптерів, або boost:install надає ті самі ресурси через Laravel Boost, якщо він присутній
  • 75 правил зі стабільними ідентифікаторами - кожна знахідка посилається на одне з них, від AUD-SEC-001 (відсутня межа авторизації) до AUD-PER-011 (запит виконується всередині циклу)
  • Умовні набори правил - правила для Livewire, Filament, Inertia, Sanctum та Pest, які застосовуються лише коли ці пакети встановлені
  • Одинадцять read-only збирачів контексту - маршрути, моделі, схема, політики, завдання та тести, доступні через MCP або безпосередньо з Artisan
  • Схема знахідок - знахідки є структурованим JSON з доказами, серйозністю, впевненістю та рекомендацією, валідованим за опублікованою схемою
  • Команди звітності та CI - auditor:report рендерить знахідки як Markdown, JSON, текст CLI або SARIF, а auditor:ci --fail-on=high перетворює їх на exit-код
  • DSA-прохід - окрема навичка laravel-audit-dsa інвентаризує підсистеми, надсилає обмежених воркерів для кожної, потім дедублює та ранжує знахідки P0-P3

Що охоплюють правила

Каталог версії 0.1.x охоплює шість доменів: безпека, продуктивність, архітектура, база даних, тестування та Laravel-конвенції. Переглянути їх можна командою Artisan:

php artisan auditor:rules
php artisan auditor:rules --domain=security
php artisan auditor:rules --applicable

Опція --applicable є найкориснішою для реального проєкту, оскільки фільтрує умовні набори для пакетів, які не встановлені.

Read-only факти про проєкт

Перед тим як агент прочитає будь-який вихідний код, він збирає детерміновані факти про застосунок. Ці збирачі надаються як інструменти MCP - project_info, routes, models, migrations, database_schema, dependencies, configuration, policies_authorization, jobs_events_schedules, tests та subsystems - і реєстрація stdio-сервера потребує однієї команди:

claude mcp add -s local -t stdio laravel-auditor php artisan auditor:mcp -q

З встановленим Laravel Boost ті самі збирачі реєструються всередині власного MCP-сервера Boost, тому нічого додатково підключати не потрібно.

Вони також доступні без MCP:

php artisan auditor:context --list
php artisan auditor:context project_info
php artisan auditor:context routes --output=storage/auditor-routes.json

Або з PHP, якщо потрібен масив:

use LaravelAuditor\Facades\LaravelAuditor;
LaravelAuditor::collect('models');

Інструменти повертають структуровані факти замість дампів коду, а routes, models, database_schema та dependencies приймають фільтри - routes {uri: "api"} - тож агент, що перевіряє окрему підозру, може отримати релевантну частину замість всього інвентарю.

Знахідки та звіти

Агент записує знахідки, а пакет рендерить їх. Кожна знахідка містить ідентифікатор правила, серйозність від critical до info, окреме значення впевненості, докази з файлом і рядком, та виправлення:

{
  "id": "F-2026-0001",
  "rule_id": "AUD-SEC-001",
  "title": "Missing authorization boundary",
  "domain": "security",
  "severity": "high",
  "confidence": "confirmed",
  "summary": "Any authenticated user can delete another user's post.",
  "why_it_matters": "The destroy action never authorizes the Post policy.",
  "evidence": [
    {
      "type": "file",
      "reference": "app/Http/Controllers/PostController.php",
      "line": 42,
      "end_line": 48
    }
  ],
  "symbol": "App\\Http\\Controllers\\PostController@destroy",
  "recommendation": "Authorize the deletion with a PostPolicy or route middleware."
}

Звіти можна форматувати за допомогою SARIF, тож файл із знахідками, створений локально, можна завантажити та показати inline у pull request:

php artisan auditor:report --findings=storage/auditor-findings.json --output=storage/auditor-report.md
php artisan auditor:report --findings=storage/auditor-findings.json --format=sarif
php artisan auditor:ci --findings=storage/auditor-findings.json --fail-on=high

Установка

Laravel Auditor потребує PHP 8.3+ та Laravel 12 або 13, і встановлюється як dev-залежність:

composer require --dev mrpunyapal/laravel-auditor
php artisan auditor:install --agents=claude_code

Повні деталі налаштування доступні в readme та документації. Після завершення установки попроси свого агента запустити аудит:

Use the laravel-audit skill to audit this application. Discover the project first, scope the relevant domains, and report only evidenced findings.

Зауваж: на момент написання пакет перебуває в ранній стадії розробки.

Вихідний код доступний на GitHub, документація - на mrpunyapal.github.io/laravel-auditor.

1

Читати в документації

Коментарі

Увійдіть, щоб залишити коментар

Будьте першим, хто залишить коментар!

Читайте також

Filament v5.10.0
Новини 12 жовтня 2026

Filament v5.10.0: сітка в rich editor, скелетони таблиць і десятки виправлень

Вийшов Filament v5.10.0: елементи керування сіткою в rich editor, допоміжний контент для віджетів-графіків, скелетони завантаження таблиць, submitOnCompletion() для OneTimeCodeInput та багато виправлень авторизації, доступності й стану.

17
Laravel AI SDK на практиці
Новини 09 жовтня 2026

Laravel AI SDK на практиці: агент, що стоїть за There There

Фрік Ван дер Гертен розповідає, як у Spatie побудували AI-шар хелпдеска There There на Laravel AI SDK: клас агента, інструменти з типізованою JSON-схемою та делегування роботи звичайним domain-діям.

12

Вакансії за темою

Bewort Нова
Сьогодні

AI-Driven PHP Developer

Розробник бекенду на PHP/Laravel для платформи охорони здоров'я (кредентиалінг, комплаєнс, стафінг, автоматизація робочих процесів). Завдання: проєктування REST API та масштабованої архітектури, робота з PostgreSQL, асинхронні черги (AWS SQS, RabbitMQ, Kafka), участь у AI-автоматизації та розробка краулерів. Вимоги: 4+ років бекенд або фулстек досвіду, сильний Laravel, продуктове мислення, англійська B2+.

Intobi Нова
Вчора

Full-Stack Developer PHP+Angular

Розробник повного стеку, який створює та підтримує функціонал на Angular (TypeScript) і PHP, проєктує й інтегрує REST/GraphQL API та оптимізує роботу з реляційними базами даних. Вимоги: досвід PHP 8+ з Laravel або Symfony, впевнене володіння Angular, RxJS і управлінням станом, знання MySQL/PostgreSQL, Git і CI/CD. Очікується активне використання AI-агентів (Claude Code) у щоденній роботі та участь у код-рев'ю.

Junior/Middle Full-stack Developer (PHP)

Розробка та підтримка вебчастини VPN-продукту на PHP та Laravel: новий функціонал, bug fixes, рефакторинг, інтеграції із зовнішніми API і платіжними системами, запуск нових сайтів і сервісів. Значна частина роботи стосується технічного SEO: швидкість, індексація, метадані, sitemap, Core Web Vitals. Стек: PHP 8.x, Laravel, MySQL, Redis, Vue 3, Docker, Nginx. Потрібен досвід роботи з PHP від 1 року, базові знання Linux, Git і REST API, практика з AI-інструментами розробки.

Пакети за темою

Aimeos Laravel

aimeos/aimeos-laravel

Cloud-native, API-first Laravel пакет для електронної комерції з інтегрованою штучною інтелектуальністю для надшвидких онлайн-магазинів, маркетплейсів та складних B2B проектів.

8,702 2026.10.1 13 10

Log Viewer

opcodesio/log-viewer

Швидкий та простий у використанні переглядач логів для вашої Laravel-програми.

4,449 v3.24.2 13 12