johnrivera7/filament-antivirus
Filament Antivirus — ClamAV upload scanning, quarantine and file security dashboard for Laravel.
1,443
4
| Install | |
|---|---|
composer require johnrivera7/filament-antivirus |
|
| Latest Version: | v1.0.0 |
| PHP: | ^8.2 |
| Laravel: | 11 · 12 · 13 |
| License: | MIT |
| Last Updated: | Aug 28, 2026 |
| Links: | GitHub · Packagist |
Maintainer: Johnrivera7
Antivirus
Filament Antivirus — ClamAV upload scanning, quarantine and file security dashboard for Laravel.
Stable
^1.0(MIT). Sibling of filament-cybersecurity (read-only posture). This plugin acts on files: scan, block uploads, quarantine.
Features
- Antivirus Dashboard — engine status, incidents, quarantine stats
- ClamAV via
clamdscan/clamscan(configurable) - Null driver for local dev without ClamAV
- Upload validation —
AntivirusFileRulefor Filament / Laravel forms - Quarantine — move infected files to
storage/app/quarantine/ - Incident log —
antivirus_incidentstable - Artisan:
antivirus:scan,antivirus:status - Facade:
Antivirus::scanPath(),Antivirus::scanUpload() - ES / EN translations
Requirements
| Stack | Versions |
|---|---|
| PHP | 8.2+ |
| Laravel | 11.28+ / 12+ / 13+ |
| Filament | 5.x |
| ClamAV | optional (recommended in production) |
Installation
composer require johnrivera7/filament-antivirus:^1.0
php artisan vendor:publish --tag="filament-antivirus-migrations"
php artisan migrate
php artisan vendor:publish --tag="filament-antivirus-config"
Register on your Filament panel:
use JohnRivera7\FilamentAntivirus\FilamentAntivirusPlugin;
public function panel(Panel $panel): Panel
{
return $panel
->plugins([
FilamentAntivirusPlugin::make()
->navigationGroup('Configuraciones')
->navigationLabel('Antivirus')
->navigationSort(7)
->permission(fn (): bool => auth()->user()?->hasAnyRole(['super_admin', 'admin']) ?? false),
]);
}
Configuration
ANTIVIRUS_DRIVER=clamav # clamav | null
ANTIVIRUS_QUARANTINE=true
CLAMAV_BINARY=clamscan
CLAMAV_CLAMDSCAN_BINARY=clamdscan
ANTIVIRUS_PREFER_CLAMDSCAN=true
Upload validation
use JohnRivera7\FilamentAntivirus\Rules\AntivirusFileRule;
FileUpload::make('document')
->rules([new AntivirusFileRule()]);
CLI
php artisan antivirus:status
php artisan antivirus:scan
php artisan antivirus:scan /path/to/dir --purge
License
MIT © John Rivera
Related Packages
artisanpack-ui/secure-uploads
File upload security for Laravel — content-type validation, filename sanitizatio...
3,878
0
laravelplus/content-security
Defense-in-depth content security for Laravel: malware scanning, MIME/magic-byte...
4
0
mkwebdesign/filament-watchdog-v5
Advanced security monitoring and intrusion detection plugin for FilamentPHP v5
3,579
4
johnrivera7/filament-cybersecurity
Filament Cybersecurity Dashboard — audit .env, routes, workers, Redis, PHP/Larav...
949
6
Version History
| Version | Released | PHP | Laravel | License |
|---|---|---|---|---|
| v1.0.0 | ^8.2 | ^11.28| | MIT |