security-audit
Skill2 starsChanged 8 days agoMITView on GitHub
Four-phase autonomous security audit (Reconnaissance, Vulnerability Hunting, Proof Validation, Structured Patching) aligned with OWASP Top 10 2021 and ASVS. Includes stack-specific checklists for Laravel, Node/Express/Next.js, React/Vite SPAs, and Python (Flask/FastAPI/Streamlit), dependency audit commands, security header verification, and a findings report template. Use before any release, after adding endpoints, auth, file upload, or payment flows, and whenever the user asks for a security review, pentest-style check, or vulnerability scan.
- Reads credentials
- Installs packages
192 other projects use a version of this.
Adopted by
Most recently taken up by
- argos-ci/argostheir own version, first seen Nov 9, 2026
- classroomio/classroomiotheir own version, first seen Nov 9, 2026
- dio-az/dotfilestheir own version, first seen Nov 8, 2026
- roke22/Squadratheir own version, first seen Nov 8, 2026
- qwwiwi/agentos-skills-publictheir own version, first seen Nov 8, 2026
- craigcossairt/trellistheir own version, first seen Nov 8, 2026
Used with
Projects with it also use create-stories, story-done and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
lilangMaxSkillcreate-stories
Break a single epic into implementable story files. Reads the epic, its GDD, governing ADRs, and control manifest. Each story embeds its GDD requirement TR-ID, ADR guidance, acceptance criteria, story type, and test evidence path. Run after /create-epics for each epic.
Also in 11 projects that use this
lilangMaxSkillstory-done
End-of-story completion review. Reads the story file, verifies each acceptance criterion against the implementation, checks for GDD/ADR deviations, prompts code review, updates story status to Complete, and surfaces the next ready story from the sprint.
Also in 11 projects that use this
nicepkgSkillcommunity-led-growth
Expert in community-led growth (CLG) - leveraging user communities to drive acquisition, retention, and expansion. Covers building developer communities, user groups, ambassador programs, and turning customers into advocates. Knows the difference between community as a feature vs community as a growth engine, and how to measure community ROI. Use when "community-led, CLG, ambassador program, champion program, user community, developer community, word of mouth, user group, " mentioned.
Also in 5 projects that use this
nicepkgSkillph-community-outreach
Engage Reddit, Indie Hackers, Hacker News and other communities for Product Hunt launches. Use this skill to identify relevant communities, craft appropriate posts, and drive cross-platform engagement without appearing spammy.
Also in 5 projects that use this
- +7 more from lilangMax
- +1 more from nicepkg
Other versions192 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 192
- ruvnet/claude-flow★ 80ksame name
- ruvnet/ruflo★ 79ksame name
- PostHog/posthog★ 40ksame name
- Donchitos/Claude-Code-Game-Studios★ 27ksame name
- cloudflare/security-audit-skill★ 18ksame name
- rommapp/romm★ 14ksame name
- kubeshark/kubeshark★ 12ksame name
- maximhq/bifrost★ 9.4ksame name
- mono/SkiaSharp★ 5.6ksame name
- MaxMiksa/Auto-Company★ 3.2ksame name
182 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository18 other files it gives its agents.
- AGENTS.mdAGENTS.md
- templates/AGENTS.mdAGENTS.md
- templates/copilot-instructions.mdCopilot instructions
- clean-code-concise-docsSkill
- data-analysis-explorerSkill
- data-science-workbenchSkill
- diff-reviewSkill
- distinctive-ui-designSkill
- domain-scaffoldingSkill
- git-commit-craftSkill
- github-repo-publishSkill
- laravel-web-studioSkill
- ml-model-engineeringSkill
- professional-report-writerSkill
- readme-github-syncSkill
- release-deploy-checkSkill
- shadcn-admin-design-systemSkill
- verify-and-testSkill
The file
We split this skill into the rules it gives an agent
1 rule. 0 are common, 0 are distinctive, and 1 is very specific to this project.
0
Common
Most of the 173 edited versions we read keep these.
0
Distinctive
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 125
Commit dengan fix(security): <ringkasan>.
“Common” is measured: kept by at least 6 in 10 of the 173 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Security Audit
Implementasi prosedural dari protokol audit 4 fase pada Rule 19 Bagian 4 dan baseline Rule 05. Tujuan: menemukan celah nyata dengan nol false positive, lalu menambalnya beserta regression test.
Rule terkait: 05 (Security Baseline), 02 (Backend), 19 §4 (Audit Protocol), 18 (Auth & Session Boundaries).
Batas etika: audit hanya dilakukan pada kode dan lingkungan milik pengguna. Jangan memindai, menyerang, atau menguji sistem pihak ketiga.
Fase 1: Reconnaissance (Pemetaan Permukaan Serangan)
Kumpulkan inventaris sebelum mencari celah.
| Inventaris | Cara mendapatkan |
| Rute dan endpoint | Laravel: php artisan route:list. Express/Next: cari app.get/post, router., folder app/api, pages/api. FastAPI: @app.get/post. |
| Middleware auth per rute | Tandai rute publik, rute member, rute admin |
| Titik input | Form, query string, header, cookie, upload file, webhook |
| Sink berbahaya | Query mentah, eval, exec, shell, render HTML mentah, path file dinamis, redirect dinamis |
| Secret dan konfigurasi | .env, config/, variabel lingkungan di frontend (VITE_*, NEXT_PUBLIC_*) |
| Dependensi | package.json, composer.json, requirements.txt |
Variabel yang berawalan VITE_ atau NEXT_PUBLIC_ selalu terekspos ke browser. Secret di sana dianggap bocor.
Fase 2: Vulnerability Hunting (OWASP Top 10)
| OWASP | Yang diperiksa | Pola rentan yang dicari |
| A01 Broken Access Control | IDOR, rute admin tanpa middleware, aksi member oleh tamu | Order::find($id) tanpa cek user_id; findById(req.params.id) tanpa filter pemilik |
| A02 Cryptographic Failures | Hash password, enkripsi, cookie | md5/sha1 untuk password; cookie sesi tanpa HttpOnly, Secure, SameSite |
| A03 Injection | SQL, NoSQL, command, XSS | DB::raw("... $input"), template string di query, {!! $x !!}, dangerouslySetInnerHTML, innerHTML =, subprocess(..., shell=True) |
| A04 Insecure Design | Rate limit, logika bisnis | Login dan OTP tanpa throttle; harga dikirim dari client dan dipercaya server |
| A05 Security Misconfiguration | Debug mode, CORS, header | APP_DEBUG=true di produksi; Access-Control-Allow-Origin: * dengan credentials; header keamanan tidak ada |
| A06 Vulnerable Components | Dependensi | Hasil npm audit, composer audit, pip-audit level high/critical |
| A07 Auth Failures | Sesi, reset password | Token reset tidak kedaluwarsa; sesi tidak di-regenerate setelah login; enumerasi user lewat pesan error |
| A08 Integrity Failures | Upload, deserialisasi | Upload tanpa validasi MIME dan ekstensi; file tersimpan di folder publik yang dapat dieksekusi; unserialize/pickle.loads data pengguna |
| A09 Logging Failures | Log | Password, token, atau data PII tertulis ke log |
| A10 SSRF | Fetch URL dari input | fetch(req.body.url), Http::get($request->url) tanpa allowlist |
Pemeriksaan Dependensi
npm audit --omit=dev # Node
composer audit # PHP
pip-audit # Python (pip install pip-audit di venv)Pemeriksaan Header (Aplikasi Berjalan)
curl.exe -sI http://localhost:8000 | Select-String "content-security-policy|x-frame-options|x-content-type-options|strict-transport-security|referrer-policy"Header minimum: Content-Security-Policy, X-Frame-Options: DENY (atau frame-ancestors di CSP), X-Content-Type-Options: nosniff, Referrer-Policy: strict-origin-when-cross-origin, dan Strict-Transport-Security di HTTPS.
Checklist per Stack
Laravel
- Semua rute admin di dalam grup
auth+ middleware role; prefix admin diobfuskasi (Rule 05) - Policy/Gate dipakai untuk resource milik user
$fillabledidefinisikan; tidak ada$guarded = []pada model sensitif- Validasi via FormRequest; upload memakai
mimes:danmax: APP_DEBUG=falsedanAPP_ENV=productionuntuk rilis
Node / Express / Next.js
helmetatau header setara; CORS dengan allowlist origin- Validasi body dengan
zod/joi; query memakai parameter binding - Server Actions dan route handler memeriksa sesi, bukan hanya UI
- Rate limit pada login, register, reset password
React / Vite SPA
- Tidak ada secret di bundle (
grepfolderdist/untuksk-,AIza,secret) - Tidak ada
dangerouslySetInnerHTMLuntuk data eksternal tanpa sanitasi (DOMPurify) - Tautan
target="_blank"memakairel="noreferrer" - Pengecekan peran di frontend hanya untuk tampilan; otorisasi tetap di server
Python (Flask / FastAPI / Streamlit)
debug=Falsedi produksi;SECRET_KEYdari environment- Tidak ada
eval,pickle.loads,yaml.loadtanpaSafeLoaderpada data pengguna - Path file divalidasi (cegah
../); upload dibatasi ukuran dan tipe - API key model (Gemini, OpenAI) hanya di server, tidak dikirim ke client
Fase 3: Proof Validation (Nol False Positive)
Setiap kandidat temuan wajib divalidasi sebelum dilaporkan:
- Lacak aliran data dari source (input pengguna) ke sink (query, HTML, shell, file).
- Periksa mitigasi di antaranya: validasi, escape otomatis framework, middleware, ORM binding.
- Buktikan dengan salah satu: test otomatis yang mereproduksi, permintaan
curlke lingkungan lokal, atau penjelasan baris demi baris yang menunjukkan tidak ada mitigasi. - Bila mitigasi ada, tandai "bukan celah" dan jangan dilaporkan sebagai temuan.
Penilaian keparahan:
| Tingkat | Kriteria |
| Critical | Eksekusi kode jarak jauh, bypass auth penuh, kebocoran secret produksi |
| High | IDOR pada data sensitif, SQL injection, stored XSS |
| Medium | Reflected XSS, CSRF pada aksi non-kritis, header keamanan hilang |
| Low | Informasi versi terekspos, praktik buruk tanpa jalur eksploitasi |
Fase 4: Structured Patching
- Tambal di baris yang rentan dengan perbaikan minimal dan idiomatis untuk framework tersebut.
- Tambahkan regression test yang gagal sebelum tambalan dan lulus sesudahnya (skill
verify-and-test). - Jalankan
diff-reviewsebelum commit. - Commit dengan
fix(security): <ringkasan>; jangan mencantumkan detail eksploit di pesan commit repo publik. - Bila secret pernah ter-push: rotasi kunci terlebih dahulu, baru bersihkan riwayat.
Laporan
Gunakan template resources/audit-report-template.md.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

