security-bounty-hunter — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited security-bounty-hunter (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
@rules/security/backend.md and @rules/security/frontend.md@rules/laravel/laravel.mdcFind unknown, exploitable bugs reachable from a real network or user boundary, and write them up to a standard a bounty program will accept. Bias toward "does this actually pay?" over "is this theoretically unsafe?".
How this differs from neighbors:
@skills/security-review/SKILL.md reviews a diff against best practices; this skill hunts unknown exploitable bugs across the whole reachable surface.@skills/security-threat-analysis/SKILL.md remediates a known advisory/CVE; this skill discovers the unknown one.| Pattern | CWE | PHP/Laravel sink to chase | Impact |
|---|---|---|---|
| SSRF via user-controlled URL | CWE-918 | Http::get($userUrl), Guzzle, file_get_contents($userUrl) | internal network / cloud metadata |
| SQL injection | CWE-89 | whereRaw/orderByRaw/havingRaw/DB::statement/DB::raw with interpolation | data exfiltration, auth bypass |
| Auth / access bypass | CWE-287/639 | gaps in middleware, policy/gate, Livewire actions, IDOR on route-model binding | unauthorized data access |
| Unsafe deserialization | CWE-502 | unserialize($userInput), unsigned cookie/cache payloads, ShouldQueue from untrusted source | RCE / object injection |
| Path traversal | CWE-22 | Storage::get/disk()->get, file_get_contents, download routes with ../ in path | arbitrary file read/write |
| Command injection | CWE-78 | exec/shell_exec/system/proc_open, Process::run("... {$input}") | code execution |
| XSS (auto-triggered) | CWE-79 | {!! $userInput !!}, Alpine x-html, raw JSON in <script> | session/admin theft |
| Mass-assignment to privileged column | CWE-915 | $guarded = [] or fillable exposing role/is_admin + create($request->all()) | privilege escalation |
Usually low-signal or out of scope unless the program says otherwise:
unserialize/eval/exec with no remote path (CLI tooling, artisan-only)web groupSECURITY.md, disclosure channel, and exclusions. Confirm the target and version are in scope.routes/*.php, php artisan route:list), controllers, FormRequests, Livewire/Filament actions, queued jobs, webhooks, console commands reachable via HTTP, and API resources.# optional — any one of these, treat output as leads only
larastan analyse --no-progress
# or: vendor/bin/phpstan analyse
# or: semgrep --config=auto --severity=ERROR --jsonThen manually filter: drop tests/demos/fixtures/vendored code and any non-reachable path; keep only findings with a clear network or user-controlled route to a meaningful sink.
grep -rnE "whereRaw|orderByRaw|havingRaw|DB::(raw|statement|select)\(" app/
grep -rnE "Http::(get|post)\(|file_get_contents\(|exec\(|shell_exec\(|proc_open\(" app/
grep -rnE "\{!!|unserialize\(|x-html" app/ resources/
grep -rnE "guarded\s*=\s*\[\s*\]|->all\(\)" app/## Description
[What the vulnerability is and why it matters]
## Vulnerable Code
[File path, line range, and a small snippet]
## Proof of Concept
[Minimal working request or script]
## Impact
[What the attacker can achieve]
## Affected Version
[Version, commit, or deployment target tested]@skills/security-review/SKILL.md — best-practices review of a known change set@skills/security-threat-analysis/SKILL.md — remediate a referenced advisory/CVE~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.