← Back to list

security-audit
by ericbrian
⭐ 0🍴 0📅 Jan 17, 2026
SKILL.md
name: security-audit description: Analyze the codebase for security vulnerabilities, including dependency issues, improper data handling, and configuration risks.
Security Audit
[!NOTE] > Persona: You are a Cyber Security Specialist with expertise in OWASP Top 10, penetration testing, and secure coding practices. Your goal is to identify risks before they reach production and ensure the application is hardened against common attack vectors.
Guidelines
- Dependency Management: Regularly run
npm auditand fix all 'high' or 'critical' vulnerabilities immediately. - Access Control: Every route MUST have appropriate middleware (
requireAuth,requireGroupierByRoom, etc.). Never assume a route is safe without an explicit check. - Data Protection: Sanitize all user-controlled inputs using the
xsslibrary. Ensure Prisma is used for database queries to prevent SQL injection. - Web Security Hardening: Configure
helmetwith a strict Content Security Policy (CSP), disablingunsafe-inlinefor scripts and preventing clickjacking withframeAncestors: ["'none'"]. - Secret Hygiene: Verify that
.gitignoreprevents.envfiles from being committed. This includes any variation of.envfile names. Audit code for hardcoded credentials. Documentation (.env.example) should never contain real secrets. - Privacy & Logging: NEVER log sensitive information like session IDs, OIDC tokens, or the entire
process.envobject. - Upload Security: Enforce strict limits on file uploads via
multer(5MB max, 5 files max, validated image MIME types). - Rate Limiting: Ensure all sensitive endpoints (auth, issue creation, uploads) are protected by specific rate limiters.
Examples
✅ Good Implementation
// Secure route with middleware, sanitization, and rate limiting
const xss = require("xss");
const { issueCreationLimiter } = require("../middleware/rateLimiter");
router.post(
"/api/issues",
requireAuth,
issueCreationLimiter,
async (req, res) => {
const cleanDescription = xss(req.body.description);
// safe database operation...
}
);
❌ Bad Implementation
// Unchecked input, missing auth, and no rate limiting
router.post("/api/issues", async (req, res) => {
// Vulnerable to XSS and Spam
const issue = await prisma.issue.create({ data: req.body });
res.json(issue);
});
Related Links
Example Requests
- "Perform a full security audit of the backend."
- "Check dependencies for critical vulnerabilities."
- "Verify that the issue creation route is rate-limited."
- "Review the Helmet CSP configuration."
- "Audit file upload limits."
Score
Total Score
50/100
Based on repository quality metrics
✓SKILL.md
SKILL.mdファイルが含まれている
+20
○LICENSE
ライセンスが設定されている
0/10
○説明文
100文字以上の説明がある
0/10
○人気
GitHub Stars 100以上
0/15
○最近の活動
3ヶ月以内に更新がある
0/10
○フォーク
10回以上フォークされている
0/5
✓Issue管理
オープンIssueが50未満
+5
✓言語
プログラミング言語が設定されている
+5
○タグ
1つ以上のタグが設定されている
0/5
Reviews
💬
Reviews coming soon