TypeScript 安全分析框架

Deepsec 安全漏洞检测

基于符号执行和模糊测试的自动化安全分析平台,深度检测 TypeScript/JavaScript 应用中的潜在漏洞,包括 SQL 注入、XSS、命令执行等高危安全问题。

漏洞检测 数据流分析 模糊测试 静态分析
75 安全评分

扫描状态

待启动
代码覆盖率 0%
漏洞检测进度 0/0
符号执行路径 0
0
已扫描文件
0
分析代码行

漏洞分布

严重 (Critical) 0
高危 (High) 0
中危 (Medium) 0
低危 (Low) 0
总漏洞数 0

检测活动

实时

等待扫描启动...

--:--:--

存在漏洞的代码

user-service.ts
src/services/user-service.ts
import { db } from '../db/connection';
import { exec } from 'child_process';

// 用户查询服务 - 存在SQL注入漏洞
export class UserService {
  async findUserByName(username: string): Promise<any> {
    // ❌ 危险: 直接拼接SQL语句
    const query = `SELECT * FROM users WHERE name = '${username}'`;
    return db.query(query);
  }

  async exportData(format: string): Promise<void> {
    // ❌ 危险: 命令注入漏洞
    const cmd = `python export.py --format ${format}`;
    exec(cmd, (err, stdout) => {
      console.log(stdout);
    });
  }

  renderProfile(userInput: string): string {
    // ❌ 危险: XSS漏洞
    return `<div class="profile">${userInput}</div>`;
  }
}

修复后的代码

已修复
src/services/user-service.fixed.ts
import { db } from '../db/connection';
import { execFile } from 'child_process';
import DOMPurify from 'dompurify';

// 用户查询服务 - 已修复安全漏洞
export class UserService {
  async findUserByName(username: string): Promise<any> {
    // ✅ 安全: 使用参数化查询
    const query = 'SELECT * FROM users WHERE name = ?';
    return db.query(query, [username]);
  }

  async exportData(format: string): Promise<void> {
    // ✅ 安全: 使用白名单和execFile
    const allowedFormats = ['json', 'csv', 'xml'];
    if (!allowedFormats.includes(format)) {
      throw new Error('Invalid format');
    }
    execFile('python', ['export.py', '--format', format]);
  }

  renderProfile(userInput: string): string {
    // ✅ 安全: 输入净化和转义
    const clean = DOMPurify.sanitize(userInput);
    return `<div class="profile">${clean}</div>`;
  }
}
SQL 注入 (CWE-89)

用户输入直接拼接到 SQL 查询中,攻击者可通过构造恶意输入操纵数据库查询,导致数据泄露或篡改。

CVSS 9.8 严重
命令注入 (CWE-78)

未验证的用户输入传递给系统命令执行函数,攻击者可执行任意系统命令,完全控制服务器。

CVSS 9.3 高危
XSS 攻击 (CWE-79)

用户输入未经过滤直接输出到 HTML 页面,攻击者可注入恶意脚本窃取用户会话或执行钓鱼攻击。

CVSS 6.8 中危
deepsec-cli — zsh
$ deepsec analyze --target ./src --depth deep
Deepsec Security Analyzer v2.4.1
Loading configuration from deepsec.config.js...
TypeScript compiler options loaded.
等待扫描启动...