一键导入
security-audit
Identify security vulnerabilities and recommend fixes based on OWASP guidelines
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Identify security vulnerabilities and recommend fixes based on OWASP guidelines
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
A skill whose only resource is a binary asset for e2e binary-handling tests
A valid test skill with all features
Design RESTful APIs following best practices for consistency, usability, and scalability
Systematic code review methodology for identifying issues, suggesting improvements, and ensuring code quality
Write secure, efficient Dockerfiles following container best practices
Write clear, conventional commit messages that communicate changes effectively
基于 SOC 职业分类
| name | security-audit |
| description | Identify security vulnerabilities and recommend fixes based on OWASP guidelines |
| license | Apache-2.0 |
| compatibility | claude-3 |
| metadata | {"author":"skills-mcp","version":"1.0","category":"security"} |
| allowed-tools | Read Grep Glob |
Systematically identify security vulnerabilities in code using OWASP Top 10 and security best practices.
Look for:
# BAD: No authorization check
@app.route('/admin/users')
def list_users():
return User.query.all()
# GOOD: Authorization enforced
@app.route('/admin/users')
@requires_role('admin')
def list_users():
return User.query.all()
Look for:
MD5, SHA1 for passwords (weak)Look for:
# BAD: SQL Injection
query = f"SELECT * FROM users WHERE id = {user_id}"
# GOOD: Parameterized
query = "SELECT * FROM users WHERE id = %s"
cursor.execute(query, (user_id,))
Check for:
# BAD
DEBUG = True
SECRET_KEY = "default-secret-key"
# GOOD
DEBUG = os.getenv("DEBUG", "false").lower() == "true"
SECRET_KEY = os.getenv("SECRET_KEY") # Required, no default
Look for:
# BAD: Logging sensitive data
logger.info(f"User login: {username}, password: {password}")
# GOOD: Log event, not sensitive data
logger.info(f"User login attempt: {username}")
# Dangerous: eval, exec, pickle.loads
eval(user_input) # Code injection
pickle.loads(data) # Arbitrary code execution
subprocess.shell=True # Command injection
# Safe alternatives
ast.literal_eval(user_input) # For literals only
json.loads(data) # For data serialization
subprocess.run([cmd, arg], shell=False)
// Dangerous
innerHTML = userInput // XSS
eval(userInput) // Code injection
new Function(userInput) // Code injection
// Safe
textContent = userInput
// Use sanitization libraries for HTML
-- Always use parameterized queries
-- Never concatenate user input
Ensure these headers are set:
Strict-Transport-Security: max-age=31536000; includeSubDomains
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
Content-Security-Policy: default-src 'self'
X-XSS-Protection: 1; mode=block
## Security Finding
**Severity**: Critical/High/Medium/Low/Info
**Category**: OWASP A0X - Name
**Location**: file.py:line
### Description
[What the vulnerability is]
### Impact
[What an attacker could do]
### Recommendation
[How to fix it]
### Code Example
[Before/After code snippets]