Skip to content

安全审计清单

定义安全审计检查项和常见攻击防护规范


审计检查清单

1. 密钥安全

检查项约束级别说明
助记词不明文存储MUST必须加密存储
私钥不明文存储MUST必须加密存储
密钥不出现在日志MUST禁止记录敏感数据
密钥不通过网络传输MUST所有签名本地完成
使用后清除内存MUST及时清理敏感变量
加密使用安全随机数MUSTcrypto.getRandomValues
PBKDF2 迭代次数足够MUST≥100,000 次
使用安全的加密算法MUSTAES-256-GCM

2. 认证安全

检查项约束级别说明
图案复杂度验证MUST至少4点
图案错误次数限制MUST防暴力破解
图案不明文传输MUST本地验证
会话超时自动锁定SHOULD默认 5 分钟
生物识别有图案锁回退MUST防止锁死

3. 数据安全

检查项约束级别说明
敏感数据加密存储MUST钱包数据
缓存数据有过期机制SHOULD防止数据泄露
剪贴板敏感数据及时清除SHOULD复制后 30s 清除
不在 URL 中传递敏感数据MUST防止历史记录泄露
导出数据加密SHOULD备份文件加密

4. 网络安全

检查项约束级别说明
使用 HTTPSMUST所有 API 请求
验证 SSL 证书MUST防中间人攻击
API 请求签名SHOULD防篡改
防重放攻击SHOULD请求时间戳/nonce

5. 输入验证

检查项约束级别说明
地址格式验证MUST防止转错链
金额范围验证MUST防止溢出
二维码内容验证MUST防恶意链接
深度链接参数验证MUST防注入攻击
HTML/JS 注入防护MUSTXSS 防护

6. 授权安全

检查项约束级别说明
DWEB 授权需用户确认MUST显示授权详情
签名内容可读展示MUST用户可理解
授权范围最小化SHOULD按需授权
授权可撤销SHOULD管理已授权应用

常见攻击防护

XSS (跨站脚本攻击)

攻击方式: 注入恶意脚本窃取数据

防护措施:

约束级别要求
MUST对用户输入进行转义
MUST使用 Content-Security-Policy
MUST避免使用 innerHTML
SHOULD使用框架自带的 XSS 防护

钓鱼攻击

攻击方式: 伪造界面骗取助记词/图案

防护措施:

约束级别要求
MUST显示应用来源标识
MUST授权页面显示请求方信息
SHOULD提供反钓鱼码功能
SHOULD警告可疑请求

重放攻击

攻击方式: 重复发送已签名的交易

防护措施:

约束级别要求
MUST交易包含 nonce
MUST每笔交易 nonce 递增
SHOULD检测重复交易

中间人攻击

攻击方式: 拦截并篡改网络请求

防护措施:

约束级别要求
MUST使用 HTTPS
MUST验证 SSL 证书
SHOULD证书固定 (Certificate Pinning)
SHOULD本地签名,服务端不接触私钥

侧信道攻击

攻击方式: 通过时序/功耗分析推断密钥

防护措施:

约束级别要求
SHOULD使用恒定时间的图案比较
SHOULD图案验证添加随机延迟
SHOULD使用经过审计的加密库

安全开发规范

代码审查要点

类别检查点
密钥处理是否加密、是否及时清除
用户输入是否验证、是否转义
网络请求是否 HTTPS、是否验证响应
错误处理是否泄露敏感信息
日志记录是否记录敏感数据

依赖安全

要求说明
定期更新依赖修复已知漏洞
检查依赖许可避免法律风险
使用 lockfile锁定依赖版本
审计依赖pnpm audit

事件响应

安全事件分级

级别定义响应时间
P0资产可能被盗立即
P1敏感数据泄露1 小时
P2功能性安全漏洞24 小时
P3潜在安全风险1 周

响应流程

发现安全问题


评估影响范围和级别

      ├── P0/P1 ──► 立即下线/热修复

      └── P2/P3 ──► 排期修复


修复并验证


复盘和改进

合规要求

数据保护

要求说明
最小数据收集只收集必要数据
用户知情同意告知数据用途
数据本地存储敏感数据不上传
用户数据可删除提供清除功能

加密标准

用途算法标准
对称加密AES-256-GCMNIST
密钥派生PBKDF2-SHA256RFC 8018
随机数CSPRNG系统级
哈希SHA-256/SHA-512FIPS 180-4

相关文档

Released under the MIT License.