mcpField
V
vibe-security

vibe-security

github.com/0x8506安全448 次安装46 周前更新
代码仓库

关于 vibe-security

vibe-security 是用于代码和基础设施安全检查的技能,面向需要发现、分析和修复漏洞的开发者。它结合 AST、数据流及依赖扫描,提供修复建议和多种报告格式。

主要功能

  1. 01使用 AST 分析代码漏洞
  2. 02追踪数据流与污点变量
  3. 03扫描依赖项及供应链风险
  4. 04检查基础设施即代码配置
  5. 05将漏洞映射到安全标准
  6. 06生成 HTML 和 SARIF 报告

适用场景

  1. 01检查项目中的 SQL 注入和 XSS
  2. 02扫描依赖项中的已知漏洞
  3. 03审计 Terraform、Kubernetes 或 Docker 配置
  4. 04在 CI/CD 中运行安全扫描并生成报告

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/0x8506/vibe-security --skill vibe-security

安装后在 Claude Code 中输入/vibe-security确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

data/
advanced-patterns.csv
compliance-mapping.csv
fix-templates.csv
frameworks.csv
iac-security.csv
languages-extended.csv
patterns.csv
rules.csv
supply-chain.csv
vulnerabilities.csv
scripts/
ast_analyzer.py
autofix_engine.py
core.py
cve_integration.py
dataflow_analyzer.py
fix_engine.py
reporter.py
search.py

详细介绍

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-based semantic analysis (90% fewer false positives)
python3 .claude/skills/vibe-security/scripts/ast_analyzer.py "<file>"

# Data flow analysis (tracks tainted data from sources to sinks)
python3 .claude/skills/vibe-security/scripts/dataflow_analyzer.py "<file>"

# CVE & dependency vulnerability scanning
python3 .claude/skills/vibe-security/scripts/cve_integration.py .

# Supply chain security (malicious packages, typosquatting)
python3 .claude/skills/vibe-security/scripts/cve_integration.py . --ecosystem npm

# Infrastructure as Code security
grep -r "publicly_accessible.*=.*true" . --include="*.tf"
grep -r "privileged:.*true" . --include="*.yaml"

快速模式扫描:

# Use search utility for specific patterns
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 的修复引擎:

# Get intelligent fix recommendations with test generation
python3 .claude/skills/vibe-security/scripts/fix_engine.py \
  --type sql-injection \
  --language javascript \
  --code "db.query(\`SELECT * FROM users WHERE id = \${userId}\`)"

# Output includes:
# - Fixed code with context-aware corrections
# - Detailed explanation of the fix
# - Auto-generated security test
# - Additional recommendations
# - Confidence score (0-100%)
步骤 5:应用安全修复

支持回滚的自动修复:

# Apply fix with automatic backup
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])"

# Test your changes
npm test

# Rollback if needed (safe to experiment!)
python3 .claude/skills/vibe-security/scripts/autofix_engine.py rollback

# View fix history
python3 .claude/skills/vibe-security/scripts/autofix_engine.py history

系统化手动修复:

  1. 优先修复严重漏洞
  2. 添加输入验证 - 使用白名单、类型检查和长度限制
  3. 保护输出 - 转义、编码、清理
  4. 修复身份验证/授权问题 - 使用强密码、MFA、RBAC
  5. 更新加密方案 - 使用现代算法和安全随机数
  6. 全面测试 - 确认修复不会破坏功能
  7. 重新扫描 - 确认所有漏洞均已修复
步骤 6:生成报告

多种报告格式:

# Beautiful HTML report with charts and statistics
python3 .claude/skills/vibe-security/scripts/reporter.py scan-results.json \
  --format html \
  --output security-report.html

# SARIF format for GitHub Code Scanning integration
python3 .claude/skills/vibe-security/scripts/reporter.py scan-results.json \
  --format sarif \
  --output results.sarif

# CSV for spreadsheet analysis
python3 .claude/skills/vibe-security/scripts/reporter.py scan-results.json \
  --format csv \
  --output vulnerabilities.csv

# JSON for CI/CD pipelines
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:Playbook 漏洞

安全检查参考

可用漏洞检查
检查类型检测内容问题示例
sql-injectionSQL/NoSQL 注入查询中使用字符串拼接、未清理的输入
xss跨站脚本攻击使用 innerHTML、未转义的输出、DOM 操作
command-injectionOS 命令注入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 软件包中的 CVE

特定语言的安全模式

JavaScript/TypeScript
// ✅ SECURE: Parameterized query
const user = await db.query("SELECT * FROM users WHERE id = $1", [userId]);

// ❌ VULNERABLE: SQL injection
const user = await db.query(`SELECT * FROM users WHERE id = ${userId}`);

// ✅ SECURE: Escape output
element.textContent = userInput;
const clean = DOMPurify.sanitize(htmlContent);

// ❌ VULNERABLE: XSS
element.innerHTML = userInput;

// ✅ SECURE: Input validation
const email = validator.isEmail(input) ? input : null;

// ❌ VULNERABLE: No validation
const email = req.body.email;
Python
# ✅ SECURE: Parameterized query
cursor.execute("SELECT * FROM users WHERE id = %s", (user_id,))

# ❌ VULNERABLE: SQL injection
cursor.execute(f"SELECT * FROM users WHERE id = {user_id}")

# ✅ SECURE: Password hashing
import bcrypt
hashed = bcrypt.hashpw(password.encode(), bcrypt.gensalt())

# ❌ VULNERABLE: Plain text
user.password = password

# ✅ SECURE: Safe subprocess
subprocess.run(['ls', '-la', sanitized_dir])

# ❌ VULNERABLE: Command injection
os.system(f'ls -la {user_dir}')
PHP
// ✅ SECURE: Prepared statement
$stmt = $pdo->prepare("SELECT * FROM users WHERE id = ?");
$stmt->execute([$userId]);

// ❌ VULNERABLE: SQL injection
$result = mysqli_query($conn, "SELECT * FROM users WHERE id = $userId");

// ✅ SECURE: Output escaping
echo htmlspecialchars($input, ENT_QUOTES, 'UTF-8');

// ❌ VULNERABLE: XSS
echo $userInput;

// ✅ SECURE: Password hashing
$hash = password_hash($password, PASSWORD_ARGON2ID);

// ❌ VULNERABLE: MD5
$hash = md5($password);

工作流示例

用户请求:“检查我的 Express 应用是否存在安全漏洞”

AI 应执行:

# 1. Run security scan on the project
python3 .claude/skills/vibe-security/scripts/scan.py "./src" --language javascript

# 2. Analyze results by severity
# Output might show:
# CRITICAL: SQL Injection in src/controllers/user.js:45
# HIGH: XSS in src/views/profile.ejs:12
# MEDIUM: Missing rate limiting on /api/login
# LOW: Console.log contains sensitive data

# 3. Fix critical issues first
# - Review src/controllers/user.js:45
# - Replace string concatenation with parameterized query
# - Add input validation using validator library

# 4. Fix high severity issues
# - Review src/views/profile.ejs:12
# - Use <%- for HTML escaping or DOMPurify for rich content
# - Implement Content Security Policy

# 5. Fix medium severity issues
# - Install express-rate-limit middleware
# - Configure rate limiting on authentication endpoints
# - Add helmet for security headers

# 6. Fix low severity issues
# - Remove or redact sensitive console.log statements
# - Use proper logging library with log levels

# 7. Generate security report
python3 .claude/skills/vibe-security/scripts/report.py "./src"

安全开发技巧

  1. 验证所有输入 - 使用允许列表,而非拒绝列表
  2. 对所有输出进行编码 - 根据上下文进行转义
  3. 使用参数化查询 - 切勿拼接 SQL
  4. 正确哈希密码 - 使用 bcrypt、Argon2、scrypt
  5. 启用 MFA - 添加第二种身份验证方式
  6. 全程使用 HTTPS - 加密传输中的数据
  7. 及时更新依赖项 - 修补已知漏洞
  8. 遵循最小权限原则 - 仅授予必要的最低权限
  9. 记录安全事件 - 监控攻击行为
  10. 定期进行安全审计 - 每次发布前扫描

集成示例

Pre-commit Hook
#!/bin/bash
# .git/hooks/pre-commit
python3 .claude/skills/vibe-security/scripts/scan.py "." --fail-on critical
CI/CD Pipeline

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 "."

资源

评论

支持 Markdown