mrpunyapal/laravel-auditor/laravel-audit-security
Claude Code and agent skill by mrpunyapal/laravel-auditor
- community
Checking that the SKILL.md file is still in the repository.
Audit a Laravel application's security boundaries: authorization, mass assignment, sensitive data, file/URL handling, CSRF, XSS, injection, and secrets. Use when auditing security or when asked to review security of a Laravel app.
Install
npx vskill@latest install mrpunyapal/laravel-auditor/laravel-audit-securitySKILL.md
Laravel Security Audit
Audit the security boundaries of the Laravel application. Do not invent vulnerabilities merely because a pattern is uncommon. Require context and evidence.
List applicable rules first:
What to look for
- Authorization gaps: routes/controllers that mutate or expose resources without a policy, gate, or middleware.
- Insecure resource access: missing ownership checks on update/delete/show.
- Missing policies/gates where the app has clear resource ownership.
- Mass assignment risks: unguarded models or over-permissive
$fillablecombined with direct request input. - Unsafe validation assumptions: trusting
required/client-side checks, missing server-side validation on critical fields. - Sensitive data exposure: secrets or personal data in responses, logs, exceptions, or dumps.
- Unsafe configuration usage:
APP_DEBUGassumptions, hardcoded credentials, env values echoed. - Dangerous file handling: unvalidated uploads, paths from user input, unsafe file reads.
- Unsafe URL/redirect handling: open redirects from user-controlled targets.
- SSRF (AUD-SEC-014): trace untrusted URLs into Http/Guzzle/cURL, including DNS resolution and redirects; verify the effective destination restrictions before reporting.
- Insecure authentication/authorization patterns: storing secrets in plaintext, weak session config, missing rate limits on auth.
- Secrets accidentally committed or exposed where detectable (
.envcommitted, keys in source). - Weak or missing CSRF protection:
VerifyCsrfToken::exceptwhitelists, removed/reordered CSRF middleware, forms or post endpoints missing the token. - Webhook authenticity (AUD-SEC-016): a CSRF-exempt webhook is not inherently unsafe; follow provider signature, secret, or equivalent authentication checks through middleware before concluding that events can be forged.
- Unescaped output / XSS risk: Blade
{!! !!},->get(),->toHtml()rendering user-controlled or stored data. - Raw SQL with user-controlled input:
DB::raw,whereRaw,selectRaw,orderByRaw, orstatementinterpolating request input. - Known vulnerable dependencies. Inspect
composer_audit.advisories,ignored_advisories,abandoned,filter(which may include malware lists), andcooldownindependently. A non-emptyunreachable_repositorieslist means results are incomplete, even if no advisories were reported.dependencies.composer_auditis on by default. Use it forAUD-DEP-001whenavailableis true. Ifavailableis false, readreasonor runcomposer audit --format=jsonyourself — do not treat an empty payload as “no advisories”. Setlaravel-auditor.context.composer_audittofalseonly when you need to skip the shell-out. - Command injection (AUD-SEC-015): trace request/job/file data into shell invocation sinks and establish whether it enters a shell command or a safely separated argument array.
- Known vulnerable production npm dependencies when
context.npm_auditis enabled. Usedependencies.npm_auditforAUD-DEP-007; an unavailable scan must not be reported as clean. - Queued jobs that serialize Eloquent models with hidden/sensitive attributes (
AUD-QUE-002).
When these packages are installed, also apply their packs (auditor:rules --applicable): Livewire (AUD-LW-*), Filament (AUD-FIL-*), Inertia (AUD-IN-*), Sanctum (AUD-API-*).
Dependency-only export
For Composer advisory findings without an AI agent, run php artisan auditor:dependency-findings --output=storage/dependency-findings.json, then use that file with auditor:report or auditor:ci. Add --include-abandoned for low-severity maintenance findings. Keep this output separate from agent-produced findings; the command replaces the output file and fails on unavailable or incomplete audits. Confirmed dependency matches do not prove application exploitability. Ignored advisories, filters, cooldown entries, and npm results still require separate investigation.
Set context.composer_audit_locked for exact lockfile auditing and context.composer_audit_no_dev for production-only scope; both default to false. Optional context.npm_audit also defaults to false and requires npm 7+ with an npm lockfile. Never run an install, update, or audit fix as part of gathering audit evidence.
Evidence requirements
Every security finding needs at least:
- The specific route/controller/model file and line/range.
- The relevant middleware/policy/gate (or the absence of one).
- What the attacker-controlled input is, when applicable.
False positives
- Do not claim exploitability without sufficient evidence.
- A missing policy is only a finding when the resource is user-accessible or sensitive.
- Uncommon patterns are not automatically vulnerabilities.
- An empty
composer_auditpayload is not evidence that there are no advisories unless the check actually ran.
Severity guidance
critical: directly exploitable, e.g. unauthenticated access to sensitive data or arbitrary code execution.high: requires a real but plausible precondition (e.g. any authenticated user).medium/low: defense-in-depth issues, configuration concerns, or low-exploitability risks.info: observations worth documenting without immediate risk.
Security
- Security scanPassed, 98 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingresources/auditor/skills/laravel-audit-security/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/mrpunyapal/laravel-auditor/laravel-audit-security)