vishalxtyagi / php-ghost-wall
A package for monitoring code integrity, alerting on tampering, and sending server information on boot.
v1.0.0
2024-08-26 03:23 UTC
README
Laravel package that monitors your application's file integrity, alerts when code is tampered with, and sends server diagnostic information on boot. Drop it in and get tamper detection without building it from scratch.
Showcase: vt-php-ghost-wall.pages.dev
What it does
App boots → GhostWall checksums all source files
│
├─ If files unchanged → silent pass
│
└─ If file modified/added/deleted → alert (log / email / webhook)
GhostWall computes a hash tree of your application source on first run and stores it. On every subsequent boot it re-hashes and compares. Any deviation triggers a configurable alert — useful for detecting unauthorized changes in production.
Install
composer require vishalxtyagi/php-ghost-wall
// config/app.php — providers array Vishalxtyagi\PhpGhostWall\GhostWallServiceProvider::class,
php artisan vendor:publish --provider="Vishalxtyagi\PhpGhostWall\GhostWallServiceProvider" php artisan ghostwall:init # compute initial hash tree
Configuration (config/ghostwall.php)
return [ 'enabled' => env('GHOSTWALL_ENABLED', true), 'alert_via' => ['log', 'email'], // 'log' | 'email' | 'webhook' 'ignore' => ['storage/', '.env'], // paths excluded from monitoring 'webhook' => env('GHOSTWALL_WEBHOOK_URL', ''), ];
Artisan commands
php artisan ghostwall:init # build initial hash tree php artisan ghostwall:check # manual integrity check php artisan ghostwall:reset # accept current state as new baseline
What's next
- CI verification integration — fail the pipeline if production hash tree doesn't match
- GPG-signing option for the hash tree file itself
- Admin dashboard panel for visual integrity status
Built by Vishal Tyagi · Showcase · Tech debt tracker