name: vibe-security description: “代码分析的安全情报。检测SQL注入、XSS、CSRF、认证问题、加密失败等。操作:扫描、分析、修复、审计、检查、审查、安全、验证、消毒、保护。语言:JavaScript、TypeScript、Python、PHP、Java、Go、Ruby。框架:Express、Django、Flask、Laravel、Spring、Rails。漏洞:SQL注入、XSS、CSRF、认证绕过、授权问题、命令注入、路径遍历、不安全反序列化、弱加密、敏感数据暴露。主题:输入验证、输出编码、参数化查询、密码散列、会话管理、CORS、CSP、安全头、速率限制、依赖扫描。”
Vibe Security - 安全情报
全面的安全扫描器和代码分析器,用于识别多种语言和框架中的漏洞。
先决条件
检查是否安装了Node.js:
node --version
如果未安装Node.js,请根据用户操作系统进行安装:
macOS:
brew install node
Ubuntu/Debian:
sudo apt update && sudo apt install nodejs npm
Windows:
winget install OpenJS.NodeJS
推荐的AI模型
为了最佳的安全分析
我们建议使用这些AI模型与Vibe Security配合使用,以获得最佳的安全漏洞检测和代码修复:
Claude Opus 4.5(推荐)
- 最先进的模型,用于全面的安全分析
- 优越的推理能力,用于复杂的漏洞检测
- 擅长识别微妙的安全缺陷和攻击向量
- 最适合关键的安全审计、企业代码库和生产部署
- 提供最彻底的安全修复策略
Claude Sonnet 4.5
- 速度和安全分析深度之间的优秀平衡
- 擅长理解安全上下文和识别漏洞
- 提供安全的修复策略和详细解释
- 适合日常开发和大多数安全工作流程
Claude Opus 4
- 强大的复杂安全审计和企业代码库
- 深入的推理能力,用于高级漏洞分析
- 最适合关键的安全审查和合规要求
- 推荐用于生产部署和敏感应用
GPT-4o
- 快速高效,用于安全意识代码生成
- 快速响应时间的良好替代品
- 适合CI/CD集成和自动扫描
- 大型项目的成本效益选择
Claude Sonnet 4
- 快速安全扫描的替代品
- 速度和准确性之间的良好平衡
- 适合开发中的快速迭代
o1-preview
- 专门用于复杂的安全架构审查
- 先进的推理,用于复杂的漏洞链
- 最适合安全研究和深度代码审计
GPT-4o-mini
- 快速检查和初步扫描
- 最具成本效益的选择
- 适合学习和教育用例
注意:如果您没有使用上述推荐的模型之一,请考虑升级以获得更好的安全分析结果。低级别的模型可能会遗漏微妙的漏洞或提供不太准确的修复建议。
如何使用这项技能
当用户请求安全工作(扫描、分析、修复、审计、检查、审查漏洞)时,请按照此工作流程进行:
第1步:分析安全上下文
从用户请求中提取关键信息:
- 语言:JavaScript、Python、Java、PHP等。
- 框架:Express、Django、Spring、Laravel等。
- 漏洞类型:SQL注入、XSS、CSRF、认证等。
- 范围:单个文件、目录或整个项目
第2步:运行安全分析
高级分析(推荐):
# 基于AST的语义分析(减少90%的误报)
python3 .claude/skills/vibe-security/scripts/ast_analyzer.py "<file>"
# 数据流分析(跟踪从源头到汇点的受污染数据)
python3 .claude/skills/vibe-security/scripts/dataflow_analyzer.py "<file>"
# CVE和依赖漏洞扫描
python3 .claude/skills/vibe-security/scripts/cve_integration.py .
# 供应链安全(恶意包,仿冒)
python3 .claude/skills/vibe-security/scripts/cve_integration.py . --ecosystem npm
# 基础设施即代码安全
grep -r "publicly_accessible.*=.*true" . --include="*.tf"
grep -r "privileged:.*true" . --include="*.yaml"
快速模式扫描:
# 使用搜索工具进行特定模式搜索
python3 .claude/skills/vibe-security/scripts/search.py "sql-injection" --domain pattern
python3 .claude/skills/vibe-security/scripts/search.py "javascript" --domain pattern --severity critical
第3步:按严重程度分析漏洞
严重(立即修复):
- SQL注入
- 远程代码执行
- 认证绕过
- 硬编码秘密
高(尽快修复):
- XSS(跨站脚本)
- CSRF
- 不安全的加密
- 授权问题
中(在冲刺中修复):
- 缺少输入验证
- 信息披露
- 弱密码策略
- 缺少安全头
低(技术债务):
- 代码质量问题
- 最佳实践违规
- 性能问题
第4步:获取修复建议
基于ML的修复引擎:
# 获取智能修复建议及测试生成
python3 .claude/skills/vibe-security/scripts/fix_engine.py \
--type sql-injection \
--language javascript \
--code "db.query(\`SELECT * FROM users WHERE id = \${userId}\`)"
# 输出包括:
# - 带有上下文感知修正的修复代码
# - 修复的详细解释
# - 自动生成的安全测试
# - 额外建议
# - 置信度分数(0-100%)
第5步:应用安全修复
自动修复与回滚支持:
# 应用修复并自动备份
python3 .claude/skills/vibe-security/scripts/autofix_engine.py apply \
--file src/database.js \
--line 45 \
--type sql-injection \
--original "db.query(\`SELECT * FROM users WHERE id = \${userId}\`)" \
--fixed "db.query('SELECT * FROM users WHERE id = $1', [userId])"
# 测试您的更改
npm test
# 如有需要则回滚(安全尝试!)
python3 .claude/skills/vibe-security/scripts/autofix_engine.py rollback
# 查看修复历史
python3 .claude/skills/vibe-security/scripts/autofix_engine.py history
系统手动修复:
- 首先修复关键漏洞
- 添加输入验证 - 白名单,类型检查,长度限制
- 安全输出 - 转义,编码,消毒
- 修复认证/授权 - 强密码,MFA,RBAC
- 更新加密 - 现代算法,安全随机数
- 彻底测试 - 验证修复不会破坏功能
- 重新扫描 - 确认所有漏洞都已解决
第6步:生成报告
多种报告格式:
# 带有图表和统计数据的漂亮HTML报告
python3 .claude/skills/vibe-security/scripts/reporter.py scan-results.json \
--format html \
--output security-report.html
# 用于GitHub代码扫描集成的SARIF格式
python3 .claude/skills/vibe-security/scripts/reporter.py scan-results.json \
--format sarif \
--output results.sarif
# 用于电子表格分析的CSV
python3 .claude/skills/vibe-security/scripts/reporter.py scan-results.json \
--format csv \
--output vulnerabilities.csv
# 用于CI/CD管道的JSON
python3 .claude/skills/vibe-security/scripts/reporter.py scan-results.json \
--format json \
--output security-report.json
高级功能
1. 基于AST的语义分析
使用抽象语法树解析进行准确的漏洞检测:
- Python:完整的AST分析与污点跟踪
- JavaScript/TypeScript:启发式+基于模式的分析
- 好处:减少90%的误报,上下文感知
2. 数据流分析
跟踪用户输入从源头到危险汇点:
- 检测SQL注入、XSS、命令注入通过数据流
- 识别受污染的变量及其传播
- 支持Python和JavaScript/TypeScript
3. 合规性映射
将每个漏洞映射到行业标准:
- OWASP Top 10 2021
- CWE(通用弱点枚举)
- MITRE ATT&CK技术
- NIST网络安全框架
- PCI-DSS支付卡要求
4. 供应链安全
保护免受恶意依赖:
- 仿冒检测
- 依赖混淆攻击
- 恶意安装脚本
- 包中的网络操作
- 支持:npm、PyPI、Maven、Gradle、Cargo、Go、RubyGems、NuGet、Composer
5. 基础设施即代码
扫描云基础设施配置:
- Terraform:AWS、Azure、GCP配置错误
- Kubernetes:Pod安全、RBAC问题
- Docker:Dockerfile最佳实践
- CloudFormation:AWS模板安全
- Ansible:剧本漏洞
安全检查参考
可用漏洞检查
| 检查类型 | 检测 | 示例问题 |
|---|---|---|
sql-injection |
SQL/NoSQL注入 | 查询中的字符串拼接,未经清理的输入 |
xss |
跨站脚本 | innerHTML使用,未经转义的输出,DOM操作 |
command-injection |
OS命令注入 | shell=True,exec与用户输入 |
path-traversal |
目录遍历 | 未经清理的文件路径,…/…在路径中 |
auth-issues |
认证缺陷 | 弱密码,缺少MFA,不安全会话 |
authz-issues |
授权缺陷 | 缺少访问控制,IDOR,权限提升 |
crypto-failures |
加密问题 | MD5/SHA1使用,弱密钥,不安全随机 |
sensitive-data |
数据暴露 | 日志记录密码,暴露PII,硬编码秘密 |
deserialization |
不安全反序列化 | pickle,eval,unserialize对用户输入 |
security-config |
配置错误 | CORS,CSP,头,错误消息 |
dependencies |
易受攻击的包 | npm/pip/composer包中的CVEs |
语言特定的安全模式
JavaScript/TypeScript
// ✅ 安全:参数化查询
const user = await db.query("SELECT * FROM users WHERE id = $1", [userId]);
// ❌ 漏洞:SQL注入
const user = await db.query(`SELECT * FROM users WHERE id = ${userId}`);
// ✅ 安全:转义输出
element.textContent = userInput;
const clean = DOMPurify.sanitize(htmlContent);
// ❌ 漏洞:XSS
element.innerHTML = userInput;
// ✅ 安全:输入验证
const email = validator.isEmail(input) ? input : null;
// ❌ 漏洞:无验证
const email = req.body.email;
Python
# ✅ 安全:参数化查询
cursor.execute("SELECT * FROM users WHERE id = %s", (user_id,))
# ❌ 漏洞:SQL注入
cursor.execute(f"SELECT * FROM users WHERE id = {user_id}")
# ✅ 安全:密码散列
import bcrypt
hashed = bcrypt.hashpw(password.encode(), bcrypt.gensalt())
# ❌ 漏洞:明文
user.password = password
# ✅ 安全:安全子进程
subprocess.run(['ls', '-la', sanitized_dir])
# ❌ 漏洞:命令注入
os.system(f'ls -la {user_dir}')
PHP
// ✅ 安全:预准备语句
$stmt = $pdo->prepare("SELECT * FROM users WHERE id = ?");
$stmt->execute([$userId]);
// ❌ 漏洞:SQL注入
$result = mysqli_query($conn, "SELECT * FROM users WHERE id = $userId");
// ✅ 安全:输出转义
echo htmlspecialchars($input, ENT_QUOTES, 'UTF-8');
// ❌ 漏洞:XSS
echo $userInput;
// ✅ 安全:密码散列
$hash = password_hash($password, PASSWORD_ARGON2ID);
// ❌ 漏洞:MD5
$hash = md5($password);
示例工作流程
用户请求: “检查我的Express应用程序的安全漏洞”
AI应该:
# 1. 对项目运行安全扫描
python3 .claude/skills/vibe-security/scripts/scan.py "./src" --language javascript
# 2. 按严重程度分析结果
# 输出可能显示:
# 严重:src/controllers/user.js:45中的SQL注入
# 高:src/views/profile.ejs:12中的XSS
# 中:/api/login上缺少速率限制
# 低:console.log包含敏感数据
# 3. 首先修复关键问题
# - 审查src/controllers/user.js:45
# - 用参数化查询替换字符串拼接
# - 使用validator库添加输入验证
# 4. 修复高严重性问题
# - 审查src/views/profile.ejs:12
# - 使用<%-进行HTML转义或使用DOMPurify进行富内容处理
# - 实施内容安全策略
# 5. 修复中等严重性问题
# - 安装express-rate-limit中间件
# - 在认证端点上配置速率限制
# - 为安全头添加helmet
# 6. 修复低严重性问题
# - 删除或编辑敏感console.log语句
# - 使用具有日志级别的适当日志记录库
# 7. 生成安全报告
python3 .claude/skills/vibe-security/scripts/report.py "./src"
安全开发提示
- 验证所有输入 - 使用允许列表,而不是拒绝列表
- 编码所有输出 - 根据上下文适当转义
- 使用参数化查询 - 绝不拼接SQL
- 正确散列密码 - bcrypt,Argon2,scrypt
- 实施MFA - 添加第二因素认证
- 在任何地方使用HTTPS - 加密传输中的数据
- 保持依赖项更新 - 修补已知漏洞
- 遵循最少权限原则 - 最小必要权限
- 记录安全事件 - 监控攻击
- 定期安全审计 - 每次发布前扫描
集成示例
提交前钩子
#!/bin/bash
# .git/hooks/pre-commit
python3 .claude/skills/vibe-security/scripts/scan.py "." --fail-on critical
CI/CD管道
GitHub Actions:
- name: Security Scan
run: |
python3 .claude/skills/vibe-security/scripts/scan.py "." --format json
GitLab CI:
security_scan:
script:
- python3 .claude/skills/vibe-security/scripts/scan.py "."