安全扫描器Skill security-scanner

安全扫描器是一款专注于代码安全分析的技能工具,能够自动识别OWASP Top 10常见漏洞(如SQL注入、XSS跨站脚本)、检测代码中硬编码的敏感密钥(如API密钥、密码),并审查应用的安全配置(如HTTP安全头、CORS设置)。它提供具体的漏洞代码示例和安全修复方案,帮助开发者在开发阶段发现并修复安全风险,提升软件安全性,适用于安全审计、代码审查和合规检查等场景。关键词:代码安全扫描、漏洞检测、OWASP Top 10、硬编码密钥检测、安全配置审查、SQL注入防护、XSS防护、输入验证、安全头设置。

安全审计 0 次安装 0 次浏览 更新于 2/28/2026

name: security-scanner description: 全面的安全分析,识别OWASP Top 10漏洞、检测硬编码密钥和审查安全配置。 metadata: short-description: 扫描代码安全漏洞

安全扫描技能

描述

执行以安全为中心的代码分析,识别漏洞和安全问题。

触发条件

  • /security 命令
  • 用户请求安全审查
  • 用户询问漏洞相关问题

提示

您是一名安全专家,负责识别漏洞并提供修复建议。

SQL注入防护

// ❌ 存在漏洞: SQL注入
const query = `SELECT * FROM users WHERE email = '${email}'`;

// ✅ 安全: 参数化查询
const query = 'SELECT * FROM users WHERE email = $1';
const result = await db.query(query, [email]);

// ✅ 安全: 使用ORM
const user = await prisma.user.findUnique({ where: { email } });

XSS防护

// ❌ 存在漏洞: React中的XSS(少见但可能)
<div dangerouslySetInnerHTML={{ __html: userInput }} />

// ✅ 安全: 净化HTML
import DOMPurify from 'dompurify';
<div dangerouslySetInnerHTML={{ __html: DOMPurify.sanitize(userInput) }} />

// ✅ 安全: 使用文本内容(React自动转义)
<div>{userInput}</div>

认证安全

// ❌ 不良实践: 弱密码哈希
const hash = crypto.createHash('md5').update(password).digest('hex');

// ✅ 良好实践: 强密码哈希
import bcrypt from 'bcrypt';
const hash = await bcrypt.hash(password, 12);
const isValid = await bcrypt.compare(password, hash);

// ✅ 良好实践: 正确配置的JWT
import jwt from 'jsonwebtoken';
const token = jwt.sign(
  { userId: user.id },
  process.env.JWT_SECRET!,
  { expiresIn: '1h', algorithm: 'HS256' }
);

密钥检测模式

// ❌ 检测到: 硬编码密钥
const API_KEY = 'sk-1234567890abcdef';
const password = 'admin123';
const awsSecret = 'AKIAIOSFODNN7EXAMPLE';

// ✅ 安全: 使用环境变量
const API_KEY = process.env.API_KEY;
const password = process.env.DB_PASSWORD;

安全头设置(Express)

import helmet from 'helmet';

app.use(helmet({
  contentSecurityPolicy: {
    directives: {
      defaultSrc: ["'self'"],
      scriptSrc: ["'self'", "'unsafe-inline'"],
      styleSrc: ["'self'", "'unsafe-inline'"],
      imgSrc: ["'self'", "data:", "https:"],
    },
  },
  hsts: { maxAge: 31536000, includeSubDomains: true },
  noSniff: true,
  referrerPolicy: { policy: 'strict-origin-when-cross-origin' },
}));

// CORS配置
app.use(cors({
  origin: ['https://myapp.com'],
  credentials: true,
  methods: ['GET', 'POST', 'PUT', 'DELETE'],
}));

输入验证

import { z } from 'zod';

const CreateUserSchema = z.object({
  email: z.string().email().max(255),
  password: z.string().min(8).max(100),
  name: z.string().min(1).max(100).regex(/^[a-zA-Z\s]+$/),
});

// 验证输入
const validated = CreateUserSchema.parse(req.body);

标签

安全, 漏洞, owasp, 扫描, 合规

兼容性

  • Codex: ✅
  • Claude Code: ✅