Skip to content

Security Analyzers

22 analyzers detecting vulnerabilities like SQL injection, XSS, CSRF, authentication issues, and more.

Overview

Security analyzers focus on identifying and preventing security vulnerabilities in Laravel applications. These analyzers help protect your application from common attacks, ensure secure configuration, validate dependencies, and maintain security best practices throughout your codebase.

Key Analyzers

Critical Vulnerabilities

Authentication & Authorization

Configuration & Secrets

Data Protection

HTTP Security

  • HSTS Header Analyzer - Validates HTTP Strict Transport Security (HSTS) header configuration for HTTPS-only applications

Dependencies & Updates

File System Security

How They Work

Security analyzers use a combination of:

  1. Static Code Analysis: Parses code to detect vulnerable patterns (SQL injection, XSS, mass assignment)
  2. Configuration Validation: Checks Laravel configuration for security settings
  3. Dependency Scanning: Scans Composer and npm/yarn dependencies for known vulnerabilities
  4. File System Checks: Validates file permissions and .env file security
  5. HTTP Header Analysis: Verifies security headers are properly configured

Severity Levels

SeverityDescriptionExamples
CriticalSevere security vulnerabilities that can lead to data breachesSQL injection, XSS, missing authentication, exposed secrets, vulnerable dependencies
HighSignificant security risks that need immediate attentionMass assignment, unguarded models
LowBest practice violations and minor security improvementsUp-to-date dependencies

Running Security Analyzers

Run All Security Analyzers

bash
php artisan shield:analyze --category=security

Run Specific Analyzer

bash
php artisan shield:analyze --analyzer=sql-injection
php artisan shield:analyze --analyzer=xss-vulnerabilities
php artisan shield:analyze --analyzer=mass-assignment-vulnerabilities

Run Multiple Analyzers

bash
php artisan shield:analyze --analyzer=sql-injection,xss-vulnerabilities,csrf-protection

Best Practices

Development

  • Run security analyzers before committing code
  • Fix Critical and High severity issues immediately
  • Never commit secrets or API keys to version control
  • Use environment variables for sensitive configuration

Code Reviews

  • Review security analyzer results in pull requests
  • Ensure new code follows security best practices
  • Validate that authentication and authorization are properly implemented

Production

  • Run security analyzers regularly in production
  • Monitor for new vulnerabilities in dependencies
  • Keep dependencies up-to-date with security patches
  • Review and rotate secrets regularly

CI/CD

  • Run security analyzers on every pull request
  • Fail builds on Critical security issues
  • Scan dependencies for vulnerabilities in CI pipeline
  • Monitor security posture over time

Security Checklist

Before deploying to production, ensure:

  • ✅ Application key is set and secure
  • ✅ Debug mode is disabled
  • ✅ .env file is not accessible via HTTP
  • ✅ File permissions are secure (644 for files, 755 for directories)
  • ✅ All routes have proper authentication/authorization
  • ✅ CSRF protection is enabled on all forms
  • ✅ SQL injection protection (use Eloquent/parameter binding)
  • ✅ XSS protection (escape all user input)
  • ✅ Mass assignment protection (use $fillable/$guarded)
  • ✅ Password hashing uses strong algorithms (bcrypt 12+ rounds or Argon2id)
  • ✅ Dependencies are up-to-date and vulnerability-free
  • ✅ HTTPS is enforced (HSTS header configured)
  • ✅ Cookies are secure (httpOnly, secure flags)
  • ✅ Login throttling is enabled