Skip to content

生产加固

Phase 57 | v2.0.0 | 6 IPC 处理器 | 2 张新数据库表

核心特性

  • 📊 性能基线采集: IPC 延迟 (p50/p95/p99)、内存占用、DB 查询耗时基线记录
  • 🔍 回归检测: 可配置阈值的性能回归自动检测与告警
  • 🛡️ 安全审计: 配置/加密/权限/网络/依赖 5 大类别全方位安全扫描
  • ⚠️ 风险评分: 加权风险评分体系 (0-100),自动定级 CRITICAL/HIGH/MEDIUM/LOW/INFO
  • 📈 历史对比: 多版本基线对比,追踪性能趋势

系统架构

┌──────────────────────────────────────────────┐
│             生产加固系统                       │
│                                              │
│  ┌──────────────────┐ ┌──────────────────┐   │
│  │PerformanceBaseline│ │ SecurityAuditor  │   │
│  │ • 基线采集        │ │ • CONFIG 审计    │   │
│  │ • 回归对比        │ │ • CRYPTO 审计    │   │
│  │ • 样本记录        │ │ • PERMISSION     │   │
│  └────────┬─────────┘ │ • NETWORK        │   │
│           │           │ • DEPENDENCY     │   │
│           │           └────────┬─────────┘   │
│           └──────┬─────────────┘             │
│                  ▼                            │
│  ┌──────────────────────────────────────┐    │
│  │  hardening IPC (6 处理器)             │    │
│  └──────────────────┬───────────────────┘    │
│                     ▼                        │
│  ┌──────────────────────────────────────┐    │
│  │  performance_baselines /             │    │
│  │  security_audit_reports (SQLite)    │    │
│  └──────────────────────────────────────┘    │
└──────────────────────────────────────────────┘

关键文件

文件职责
desktop-app-vue/src/main/performance/performance-baseline.js性能基线采集与回归对比
desktop-app-vue/src/main/security/security-auditor.js5 类安全审计扫描
desktop-app-vue/src/main/security/hardening-ipc.jsIPC 处理器 (6 个)
desktop-app-vue/src/renderer/stores/hardening.tsPinia 状态管理
desktop-app-vue/src/renderer/pages/security/HardeningPage.vue生产加固管理页面

相关文档

概述

Phase 57 为 ChainlessChain 引入生产加固能力,包含性能基线采集与回归检测、全方位安全审计,确保系统在大规模部署前达到生产标准。

核心目标:

  • 性能基线: IPC 延迟(p50/p95/p99)、内存占用、DB 查询耗时的基线采集与对比
  • 安全审计: 配置/加密/权限/网络/依赖 5 大类别全方位安全扫描
  • 回归检测: 可配置阈值的性能回归自动检测
  • 风险评分: 加权风险评分体系,自动定级安全发现

架构设计

┌─────────────────────────────────────────────────┐
│                 生产加固系统                       │
│                                                 │
│  ┌──────────────────┐  ┌──────────────────┐     │
│  │ PerformanceBaseline│  │ SecurityAuditor  │     │
│  │                  │  │                  │     │
│  │ • 基线采集       │  │ • 配置审计       │     │
│  │ • 回归对比       │  │ • 加密审计       │     │
│  │ • 样本记录       │  │ • 权限审计       │     │
│  │ • 历史查询       │  │ • 网络审计       │     │
│  └────────┬─────────┘  │ • 依赖审计       │     │
│           │            └────────┬─────────┘     │
│           └──────┬──────────────┘               │
│                  ▼                               │
│         ┌──────────────┐                         │
│         │ hardening-ipc│  6 IPC 处理器           │
│         └──────────────┘                         │
└─────────────────────────────────────────────────┘

核心功能

1. 性能基线采集

javascript
// 采集性能基线
const baseline = await window.electronAPI.invoke('hardening:collect-baseline', {
  name: 'v2.0.0-release',
  version: '2.0.0'
});

console.log(baseline);
// {
//   id: 'bl-001',
//   name: 'v2.0.0-release',
//   version: '2.0.0',
//   status: 'COMPLETE',
//   metrics: {
//     ipcLatency: { p50: 12, p95: 45, p99: 120 },
//     memory: { rss: 256, heapUsed: 128, heapTotal: 192 },
//     dbQuery: { avgMs: 3.2, maxMs: 15 }
//   },
//   sampleCount: 100,
//   createdAt: 1709078400000
// }

2. 性能回归对比

javascript
// 对比两个基线,检测回归
const comparison = await window.electronAPI.invoke('hardening:compare-baseline', {
  baselineId: 'bl-001',
  currentId: 'bl-002',
  thresholds: {
    ipcLatencyP95: 0.2,  // 20% 偏差告警
    memoryRss: 0.15,      // 15% 内存增长告警
    dbQueryAvg: 0.25      // 25% 查询时间增长告警
  }
});

// comparison.regressions: [{ metric, baseline, current, deviation, severity }]

3. 安全审计

javascript
// 运行安全审计
const report = await window.electronAPI.invoke('hardening:run-security-audit', {
  name: 'pre-release-audit',
  categories: ['CONFIG', 'CRYPTO', 'PERMISSION', 'NETWORK', 'DEPENDENCY']
});

console.log(report);
// {
//   id: 'sar-001',
//   name: 'pre-release-audit',
//   status: 'COMPLETE',
//   riskScore: 23.5,
//   findings: [
//     { category: 'CRYPTO', severity: 'HIGH', title: '弱加密算法', ... },
//     { category: 'DEPENDENCY', severity: 'MEDIUM', title: '过期依赖', ... }
//   ],
//   summary: { critical: 0, high: 1, medium: 3, low: 5, info: 2 }
// }

审计类别

类别检查项风险权重
CONFIG敏感配置暴露、默认凭据、调试模式
CRYPTO弱算法、密钥长度、证书过期、随机数质量
PERMISSION过度授权、未鉴权端点、敏感操作无审计
NETWORK不安全协议、开放端口、CORS 配置
DEPENDENCY已知 CVE、过期依赖、许可证风险

风险评分

严重度权重示例
CRITICAL40硬编码密钥、SQL 注入
HIGH20弱加密算法、未加密传输
MEDIUM10过度权限、缺少速率限制
LOW5过期依赖、缺少安全头
INFO1建议性改进、最佳实践提示

IPC 通道

通道参数返回值
hardening:collect-baseline{ name, version }基线对象
hardening:compare-baseline{ baselineId, currentId, thresholds }对比结果
hardening:get-baselines{ filter? }基线列表
hardening:run-security-audit{ name, categories }审计报告
hardening:get-audit-reports{ filter? }报告列表
hardening:get-audit-report{ reportId }单份报告详情

数据库表

performance_baselines

字段类型说明
idTEXT PK基线 ID
nameTEXT基线名称
versionTEXT版本号
statusTEXT状态(PENDING/COMPLETE)
metricsJSONIPC延迟/内存/DB查询指标
environmentJSON运行环境信息
sample_countINTEGER采样数量
created_atINTEGER创建时间

security_audit_reports

字段类型说明
idTEXT PK报告 ID
nameTEXT审计名称
statusTEXT状态
findingsJSON发现列表(类别/严重度/标题/描述)
risk_scoreREAL加权风险评分(0-100)
summaryJSON严重度统计汇总
created_atINTEGER创建时间

配置

unified-config-manager.js 中添加 hardening 配置节:

javascript
hardening: {
  enabled: true,
  baselineAutoCollect: false,
  auditSchedule: 'manual',
  thresholds: {
    ipcLatencyP95: 0.2,
    memoryRss: 0.15,
    dbQueryAvg: 0.25
  }
}

相关链接

基于 MIT 许可发布