关于 security-auditor
用于检测代码和依赖项中常见漏洞模式的安全审计技能。它按严重程度标记问题并提供修复建议,也可将深度审计交由 @code-reviewer 子 Agent 处理。
主要功能
- 01检查 OWASP Top 10 模式
- 02检查身份验证与访问控制
- 03依赖项审计命令
- 04按严重程度列出问题及修复建议
- 05配置自定义安全模式
适用场景
- 01提交或部署前审查代码变更
- 02检查身份验证、API 或数据库变更
- 03审计依赖项中的已知安全问题
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ ovachiever/ droid-tings --skill security-auditor安装后在 Claude Code 中输入/security-auditor确认已加载。
附带文件README.md
详细介绍
安全审计技能
自动检测安全漏洞。
何时激活
- ✅ 修改代码文件时(尤其是身份验证、API、数据库相关文件)
- ✅ 用户提及安全或漏洞时
- ✅ 部署或提交之前
- ✅ 依赖项变更时
- ✅ 配置文件变更时
扫描内容
OWASP Top 10 模式
1. SQL 注入
// CRITICAL: SQL injection
const query = `SELECT * FROM users WHERE id = ${userId}`;
// SECURE: Parameterized query
const query = 'SELECT * FROM users WHERE id = ?';
db.query(query, [userId]);
2. XSS(跨站脚本)
// CRITICAL: XSS vulnerability
element.innerHTML = userInput;
// SECURE: Use textContent or sanitize
element.textContent = userInput;
// or
element.innerHTML = DOMPurify.sanitize(userInput);
3. 身份验证问题
// CRITICAL: Weak JWT secret
const token = jwt.sign(payload, 'secret123');
// SECURE: Strong secret from environment
const token = jwt.sign(payload, process.env.JWT_SECRET);
4. 敏感数据泄露
# CRITICAL: Exposed password
password = "admin123"
# SECURE: Environment variable
password = os.getenv("DB_PASSWORD")
5. 访问控制失效
// CRITICAL: No authorization check
app.delete('/api/users/:id', (req, res) => {
User.delete(req.params.id);
});
// SECURE: Authorization check
app.delete('/api/users/:id', auth, checkOwnership, (req, res) => {
User.delete(req.params.id);
});
其他安全检查
- 不安全的反序列化
- 安全配置错误
- 日志记录不足
- 缺少 CSRF 防护
- CORS 配置错误
告警格式
🚨 CRITICAL: [Vulnerability type]
📍 Location: file.js:42
🔧 Fix: [Specific remediation]
📖 Reference: [OWASP/CWE link]
严重级别
- 🚨 严重:必须立即修复(可利用的漏洞)
- ⚠️ 高:应尽快修复(安全弱点)
- 📋 中:考虑修复(潜在问题)
- 💡 低:最佳实践改进
实际示例
SQL 注入检测
// You write:
app.get('/users', (req, res) => {
const sql = `SELECT * FROM users WHERE name = '${req.query.name}'`;
db.query(sql, (err, results) => res.json(results));
});
// I alert:
🚨 CRITICAL: SQL injection vulnerability (line 2)
📍 File: routes/users.js, Line 2
🔧 Fix: Use parameterized queries
const sql = 'SELECT * FROM users WHERE name = ?';
db.query(sql, [req.query.name], ...);
📖 https://owasp.org/www-community/attacks/SQL_Injection
密码存储
# You write:
def create_user(username, password):
user = User(username=username, password=password)
user.save()
# I alert:
🚨 CRITICAL: Storing plain text password (line 2)
📍 File: models.py, Line 2
🔧 Fix: Hash passwords before storing
from bcrypt import hashpw, gensalt
hashed = hashpw(password.encode(), gensalt())
user = User(username=username, password=hashed)
📖 Use bcrypt, scrypt, or argon2 for password hashing
API 密钥泄露
// You write:
const stripe = require('stripe')('sk_live_abc123...');
// I alert:
🚨 CRITICAL: Hardcoded API key detected (line 1)
📍 File: payment.js, Line 1
🔧 Fix: Use environment variables
const stripe = require('stripe')(process.env.STRIPE_SECRET_KEY);
📖 Never commit API keys to version control
依赖项扫描
我可以对依赖项运行安全审计:
# Node.js
npm audit
# Python
pip-audit
# Results flagged with severity
与 @code-reviewer 子 Agent 的关系
**我(技能):**快速检测漏洞模式 **@code-reviewer(子 Agent):**通过威胁建模进行深入安全审计
工作流
- 我检测到漏洞模式
- 我标记:“🚨 检测到 SQL 注入”
- 你希望进行全面分析 → 调用 @code-reviewer 子 Agent
- 子 Agent 提供全面的安全审计
常见漏洞模式
身份验证
- 密码策略薄弱
- 缺少 MFA
- 会话固定
- 密码存储不安全
授权
- 缺少访问控制
- 权限提升
- IDOR(不安全的直接对象引用)
数据保护
- 敏感数据未加密
- 加密算法薄弱
- 缺少 HTTPS
- Cookie 不安全
输入验证
- SQL 注入
- 命令注入
- XSS
- 路径遍历
沙盒兼容性
无需沙盒即可运行:✅ 是 在沙盒中运行:✅ 是
可选:用于依赖项扫描
{
"network": {
"allowedDomains": [
"registry.npmjs.org",
"pypi.org",
"api.github.com"
]
}
}
与工具集成
与 secret-scanner 技能集成
security-auditor: Checks code patterns
secret-scanner: Checks for exposed secrets
Together: Comprehensive security coverage
与 /review 命令集成
/review --scope staged --checks security
# Workflow:
# 1. My automatic security findings
# 2. @code-reviewer sub-agent deep audit
# 3. Comprehensive security report
自定义
添加公司特定的安全模式:
cp -r ~/.claude/skills/security/security-auditor \
~/.claude/skills/security/company-security-auditor
# Edit SKILL.md to add:
# - Internal API patterns
# - Company security policies
# - Custom vulnerability checks
了解更多
评论
支持 Markdown