use MohamedHekal\LaravelVulnerabilityAudit\Services\SecurityAuditService;
$auditService = app(SecurityAuditService::class);
// Run all scanners
$results = $auditService->runFullAudit();
// Run specific scanner
$passwordResults = $auditService->runScanner('password');
// Get audit summary
$summary = $auditService->getAuditSummary();
// In your routes/web.php
Route::middleware(['auth', 'admin'])->group(function () {
Route::get('/security-audit', [SecurityAuditController::class, 'dashboard']);
Route::get('/security-audit/reports', [SecurityAuditController::class, 'reports']);
});
// In your notification class
use MohamedHekal\LaravelVulnerabilityAudit\Notifications\SecurityAuditNotification;
class SecurityAlert extends SecurityAuditNotification
{
public function toSlack($notifiable)
{
return (new SlackMessage)
->error()
->content('Security audit completed with issues detected!')
->attachment(function ($attachment) {
$attachment->title('Security Issues')
->content($this->auditResults);
});
}
}
// In app/Console/Kernel.php
protected function schedule(Schedule $schedule)
{
$schedule->command('security:scan')
->daily()
->at('02:00')
->withoutOverlapping();
$schedule->command('security:report --format=html')
->weekly()
->sundays()
->at('09:00');
}