MindStudio26.1.0精度调试特性分析与设计说明书¶
| 所属SIG组: | mstt-sig |
| 落入版本: | MindStudio26.1.0 |
| 设计人员: | RanZheng |
| 日期: | 2026.05.07 |
Copyright © 2026 MindStudio Community
您对"本文档"的复制,使用,修改及分发受知识共享(Creative Commons)署名—相同方式共享4.0国际公共许可协议(以下简称"CC BY-SA 4.0")的约束。 为了方便用户理解,您可以通过访问https://creativecommons.org/licenses/by-sa/4.0/了解CC BY-SA 4.0的概要 (但不是替代)。 CC BY-SA 4.0的完整协议内容您可以访问如下网址获取:https://creativecommons.org/licenses/by-sa/4.0/legalcode。
1.特性概述¶
近年来,大语言模型(LLM)、多模态模型(如文生图 / 视频)、混合专家(MoE)模型快速迭代,模型参数从十亿级跃升至万亿级,训练数据规模、上下文长度、分布式并行策略(TP/DP/PP)复杂度同步激增。
AI 计算底层从 GPU 单一生态向昇腾 NPU 异构集群迁移,模型跨硬件、跨框架(PyTorch/MindSpore)、跨精度(FP32/FP16/BF16/INT8)的部署常态化。
在这一趋势下,精度稳定性成为大模型落地的核心生命线:训练时 Loss 震荡 / 不收敛、梯度爆炸 / 消失、NaN/Inf 溢出;推理时输出漂移、预测准确率下降、生成质量劣化;模型从 GPU 迁移至昇腾 NPU 时精度不对齐、自定义算子数值偏差等问题频发,且问题触发具有随机性、隐蔽性、长尾性,传统调试手段难以应对。
当前大模型精度排查普遍依赖人工日志打印、第三方比对工具、硬件厂商零散脚本,在昇腾 NPU 生态下,痛点尤为突出:
- 黑盒化严重,观测能力缺失
- 工具碎片化,无统一闭环能力
- 各类大模型框架层出不穷,适配性差,性能开销高
为解决上述痛点,填补昇腾生态原生精度调试工具空白,华为昇腾团队基于 MindStudio 训练工具链,研发MindStudio-Probe(简称 msprobe),并于 2025 年底正式开源,托管于 GitCode Ascend/msprobe 仓库。
msprobe 定位为昇腾生态全场景精度调试工具包,核心目标是:以 “无损轻量化、全链路闭环、原生 NPU 适配、大模型优先” 为设计理念,构建从训练前风险预检、训练中实时监控、异常数据精细化采集,到自动化数值比对、溢出 / NaN 检测、交互式可视化分析、根因定位的全链路能力,彻底打破传统调试的黑盒壁垒,将 “黑盒训推” 变为 “白盒观测”,帮助开发者快速解决大模型精度问题,降低调试门槛、缩短开发周期、保障模型在昇腾 NPU 上的精度稳定性与性能优势。
1.1范围¶
- 数据采集能力
- 支持 pytorch 整网训练/推理 模块级/API级采集,提供 L0/L1/mix 分级 dump 能力。
- 支持模型训练 / 推理过程中权重、梯度、优化器状态等训练状态轻量化监控费。
- 支持按模块、卡、关键词、网络层级过滤采集,降低数据量、提升采集性能。
- 支持堆栈信息采集与优化,保留精度问题现场上下文。
- 支持 aclgraph 单点数据采集,支持 ATB 算子相关数据 dump 与落盘。
- 数据比对能力
- 支持昇腾与标杆数据离线数值比对。
- 支持统计量、tensor、md5等多维度精度差异分析。
- 支持不同框架、不同设备、不同 Rank、不同迭代步的数值对齐校验。
- 输出标准化比对结果与误差报告,用于定位精度不达标根因。
- 数据可视化能力
- 提供模型分级可视化、图结构展示与节点匹配视图。
- 支持多 DB 文件切换与趋势可视化,便于时序对比分析。
- 提供误差分布、异常点位、匹配结果等可视化面板。
- 支持任务匹配、张量计算过程的可视化呈现。
- 自动化分析能力
- 自动检测 数值溢出 / 梯度异常 等典型精度问题。
- 自动定位精度差异起始层、异常算子与异常设备。
- 提供自动化精度问题诊断与根因辅助定位。
- 支持整流程自动化接入,适配 CI/CD 与批量定位场景。
1.2特性需求列表¶
特性需求列表
| 需求编号 | 需求名称 | 特性描述 |
|---|---|---|
| 1 | msprobe工具易用、可用、性能提升专项 | 采集支持device md5、支持stack/constrcut开关、支持采集黑名单;统计值采集/溢出节点检测/比对性能优化;可视化支持tensor级别点点匹配、匹配功能增强。 |
| 2 | pytorch图模式场景精度定位能力解决方案 | 支持Inductor(triton后端)、milr、akg、dwm、eager->aot eager的自动比对,支持aclgraph整网数据采集 |
| 3 | 强化学习精度定位能力增强 | 支持verl关键超参比对及校验、verl支持fully_async场景、sglang推理、PD分离场景数据采集、逐token级别的logp_diff监控 |
| 4 | msprobe工具使能影响问题复现优化 | 支持寄存器溢出状态读清算子封装以及工具适配 |
| 5 | 服务化亚健康状态感知能力构建 | 支持重复类、乱码类问题主动感知 |
| 6 | msprobe dump API支持度补齐专项 | 增强量化类算子、融合算子、自定义算子的采集能力 |
2.需求场景分析¶
2.1特性需求来源与价值概述¶
【精度工具链】通过增强易用性、降低对问题复现的影响、增强强化学习场景下的采集定界能力、API支持度补齐以及图模式定位能力增强等,提升模型精度调试效率和训推可靠性保障能力。
2.2特性场景分析¶
主要支持以下场景:
- 工具易用性:改善漏采、采错、采集慢等问题
- pytorch图模式:全面补齐在图模式下的精度采集及分析能力
- 强化学习精度定位:进一步对扩展对强化学习中最新推理场景的支持度,加强配置自动检查以及定界能力
- 服务化亚健康状态感知能力构建:增强重复、乱码类的主动感知能力
3.工具易用、可用、性能提升专项¶
3.1设计思路¶
该特性需要支持以下几个子场景能力:
- 采集支持device md5
- 支持stack/constrcut开关
- 支持采集黑名单
- 统计值采集/溢出节点检测/比对性能优化;
- 可视化支持tensor级别点点匹配、匹配功能增强。
3.2约束条件¶
暂不涉及
3.3详细实现(从用户入口的模块级别或进程级别消息序列图)¶
- 采集支持device md5
- 需求背景: 原msprobe工具只支持host md5计算,耗时慢且不支持异步落盘。
-
需求内容:通过异或等手段实现device侧md5计算,集成算子侧提供共的device md5融合算子
-
支持stack/constrcut开关
- 需求背景: 网络训练时,默认每一步都会采集dump.json、stack.json和construct.json。其中stack.json和construct.json在不同步间存在大量重复,不建议每步都保存
- 需求内容: 支持stack、construct采集开关,关闭该开关时,不进行stack\construct采集
- 支持采集黑名单
- 需求背景: 网络中存在empty、mask、通信占位等输入输出的干扰信息,在溢出检测或确定性比对中,易干扰用户找到首个NaN节点或首个差异节点
-
需求内容: 支持黑名单yaml配置,黑名单支持屏蔽整个api或该api的某个/多个输入输出,在黑名单中的结果用null代替
-
统计值采集/溢出节点检测/比对性能优化
- 需求背景: 采集/分析耗时长,需进行专项性能优化
-
需求内容: 需各自洞察实现
-
可视化支持tensor级别点点匹配、匹配功能增强
- 需求背景: 强化学习场景中使用精度工具,涉及多框架比对时,存在大量节点因名称差异、结构顺序等无法自动匹配,需要用户手动介入进行匹配,但在当前分级可视化工具中,仅支持对统计量的点点匹配,针对更细粒度的tensor数据,暂不支持手动匹配
- 需求内容: 分级可视化后端提供tensor级别点点匹配的后台接口,联合可视化组进行界面开发
3.4 DFX属性设计¶
3.5 安全设计¶
3.5.1 安全设计确认¶
| Checklist 内容 | 检查结果 |
|---|---|
| 1 是否新增输入(界面输入,命令行参数,命令,http接口) | 是 |
| 1.1 是否通知资料更新 | 是 |
| 1.2 是否对输入设计了安全校验(哪些校验,长度,格式,类别,阈值,是否空,路径类的入参使用前是否进行了标准化,规范化等) | 是 |
| 2 是否有(跨信任域)进程间交互 | 不涉及 |
| 2.1 进程间交互方式,通信方式是否可信 | 不涉及 |
| 2.2 是否存在资源竞争 | 不涉及 |
| 3 是否存在文件操作 | 是 |
| 3.1 是否读取外部文件(文件大小是否校验,读取内容是否校验,反序列化是否安全) | 是 |
| 3.2 是否生成文件输出(生成文件权限是否正确,是否软连接校验) | 是 |
| 3.3 是否生成临时文件(是否及时清理) | 否 |
| 3.4 是否解压缩文件(是否校验压缩炸弹,是否校验解压缩位置,是否校验解压缩权限等) | 否 |
| 4 是否涉及网络通信 | 不涉及 |
| 4.1 是否监听端口(是否更新通信矩阵,是否全0监听,协议是否使用安全加密协议,对外提供服务是否有认证,鉴权,web攻击模式全部需要注意,xss 等等) | 不涉及 |
| 4.2 是否访问外部网络(是否更新通信矩阵,访问的网址是否在配置文件中,使用的协议是否是公司建议使用的安全加密协议,返回的数据是否有校验,是否有超时机制) | 不涉及 |
| 5 是否涉及注入风险 | 不涉及 |
| 5.1 是否涉及执行命令,是否对命令注入风险进行消减 | 不涉及 |
| 5.2 是否涉及 HTML 界面,是否对 HTML 注入风险进行消减(xss攻击) | 不涉及 |
| 5.3 是否使用了JLable控件,是否对HTML注入风险进行消减 | 不涉及 |
| 5.4 是否涉及解析 XML ,是否对 XML 注入风险进行消减 | 不涉及 |
| 5.5 是否涉及解析 YAML, 是否使用安全解析接口 | 不涉及 |
| 5.6 是否涉及SQL数据库注入 | 不涉及 |
| 6 是否引入第三方库 | 不涉及 |
| 6.1 开源引入是否走正常的开源引入流程 | 不涉及 |
| 6.2 是否 python 新增依赖,是否存在依赖特定版本(一般不允许依赖特定版本) | 不涉及 |
| 7 是否新增二进制交付件(安全编译选项是否符合公司要求) | 不涉及 |
| 8 是否存在加密,认证(是否使用安全的加密算法,加解密过程是否安全) | 不涉及 |
| 9 是否存在敏感信息 (敏感信息生成,使用,留存,销毁) | 不涉及 |
| 10 是否使用安全函数库 | 否 |
4.Pytorch图模式场景精度定位能力解决方案¶
4.1设计思路¶
该特性需要支持以下几个子场景能力:
- 支持Inductor(triton后端)自动精度比对,并支持设置精度阈值
- 精度比对工具支持milr、akg、dvm、编译多阶段(eager->ato eager)
- 支持aclgraph场景整网数据采集
4.2约束条件¶
暂不涉及
4.3详细实现(从用户入口的模块级别或进程级别消息序列图)¶
- 支持Inductor(triton后端)自动精度比对,并支持设置精度阈值
- 需求背景:需要对比eager模式和算子自动生成后整网的精度,找到不满足精度的节点
- 需求目标:支持Inductor(triton后端)自动精度比对,并支持设置精度阈值
- 精度比对工具支持milr、akg、dvm、支持编译多阶段(eager->ato eager)的自动精度比对
- 需求背景:图模式支持度欠缺
- 需求目标:为图模式MILR、AKG后端、DVM、编译多阶段(eager->ato eager)支持精度工具
- 支持aclgraph场景整网数据采集
- 需求背景:当前aclgraph只支持单点数据保存能力,需要用户针对多处做数据打点,导致定位效率低下
- 需求目标:提供对应dump接口,实现模块级整网数据dump,后续用户可以基于数据做自定义比对能力
4.4DFX属性设计¶
4.4.1性能设计¶
调测类特性,对性能影响不敏感,不涉及
4.4.2 安全设计¶
4.4.2.1 安全设计确认¶
| Checklist 内容 | 检查结果 |
|---|---|
| 1 是否新增输入(界面输入,命令行参数,命令,http接口) | 是 |
| 1.1 是否通知资料更新 | 是 |
| 1.2 是否对输入设计了安全校验(哪些校验,长度,格式,类别,阈值,是否空,路径类的入参使用前是否进行了标准化,规范化等) | 是 |
| 2 是否有(跨信任域)进程间交互 | 不涉及 |
| 2.1 进程间交互方式,通信方式是否可信 | 不涉及 |
| 2.2 是否存在资源竞争 | 不涉及 |
| 3 是否存在文件操作 | 是 |
| 3.1 是否读取外部文件(文件大小是否校验,读取内容是否校验,反序列化是否安全) | 是 |
| 3.2 是否生成文件输出(生成文件权限是否正确,是否软连接校验) | 是 |
| 3.3 是否生成临时文件(是否及时清理) | 否 |
| 3.4 是否解压缩文件(是否校验压缩炸弹,是否校验解压缩位置,是否校验解压缩权限等) | 否 |
| 4 是否涉及网络通信 | 不涉及 |
| 4.1 是否监听端口(是否更新通信矩阵,是否全0监听,协议是否使用安全加密协议,对外提供服务是否有认证,鉴权,web攻击模式全部需要注意,xss 等等) | 不涉及 |
| 4.2 是否访问外部网络(是否更新通信矩阵,访问的网址是否在配置文件中,使用的协议是否是公司建议使用的安全加密协议,返回的数据是否有校验,是否有超时机制) | 不涉及 |
| 5 是否涉及注入风险 | 不涉及 |
| 5.1 是否涉及执行命令,是否对命令注入风险进行消减 | 不涉及 |
| 5.2 是否涉及 HTML 界面,是否对 HTML 注入风险进行消减(xss攻击) | 不涉及 |
| 5.3 是否使用了JLable控件,是否对HTML注入风险进行消减 | 不涉及 |
| 5.4 是否涉及解析 XML ,是否对 XML 注入风险进行消减 | 不涉及 |
| 5.5 是否涉及解析 YAML, 是否使用安全解析接口 | 不涉及 |
| 5.6 是否涉及SQL数据库注入 | 不涉及 |
| 6 是否引入第三方库 | 不涉及 |
| 6.1 开源引入是否走正常的开源引入流程 | 不涉及 |
| 6.2 是否 python 新增依赖,是否存在依赖特定版本(一般不允许依赖特定版本) | 不涉及 |
| 7 是否新增二进制交付件(安全编译选项是否符合公司要求) | 不涉及 |
| 8 是否存在加密,认证(是否使用安全的加密算法,加解密过程是否安全) | 不涉及 |
| 9 是否存在敏感信息 (敏感信息生成,使用,留存,销毁) | 不涉及 |
| 10 是否使用安全函数库 | 否 |
5. 强化学习精度定位能力增强¶
5.1设计思路¶
该特性需要支持以下几个子场景能力:
- 支持verl关键超参比对及校验
- verl支持fully_async场景、sglang场景、PD分离场景采集
- 逐token级别的logp_diff监控
5.2约束条件¶
暂不涉及
5.3详细实现(从用户入口的模块级别或进程级别消息序列图)¶
随着大模型推理框架vLLM和SGLang的广泛应用,需要对推理过程中的关键数据进行采集和分析,以支持:
- 支持verl关键超参比对及校验
- 需求背景:verl在npu和gpu上训练时,常常存在因配置差异导致的精度问题,而仅通过启动sh脚本来判断,可能存在漏校验、未能识别默认超参等情况
- 需求内容:基于训练日志,对日志进行实际生效的配置解析并进行差异性比对,同时针对提供的关键超参列表,辅助用户进行快速规则校验
- verl支持fully_async场景、sglang场景、PD分离场景的采集方案
- 需求背景:verl新版本迭代后,走fully_async等路径,采集方案可能存在变动,需要进行采集方案调研和验证
- 需求内容:fully_async场景下的采集方案验证、sglang采集方案验证
- 逐token级别的logp_diff监控
- 需求背景:当前verl强化学习的logp_diff指标只有最后一个整体的数值,无法区分prefill阶段或decode某一步的差异
- 需求内容:新增逐token级别的logp_diff指标,支持该指标计算及分析
5.4DFX属性设计¶
5.4.1性能设计¶
调测类特性,对性能影响不敏感,不涉及
5.4.2 安全设计¶
6.4.2.1 安全设计确认¶
| Checklist 内容 | 检查结果 |
|---|---|
| 1 是否新增输入(界面输入,命令行参数,命令,http接口) | 是 |
| 1.1 是否通知资料更新 | 是 |
| 1.2 是否对输入设计了安全校验(哪些校验,长度,格式,类别,阈值,是否空,路径类的入参使用前是否进行了标准化,规范化等) | 是 |
| 2 是否有(跨信任域)进程间交互 | 不涉及 |
| 2.1 进程间交互方式,通信方式是否可信 | 不涉及 |
| 2.2 是否存在资源竞争 | 不涉及 |
| 3 是否存在文件操作 | 是 |
| 3.1 是否读取外部文件(文件大小是否校验,读取内容是否校验,反序列化是否安全) | 是 |
| 3.2 是否生成文件输出(生成文件权限是否正确,是否软连接校验) | 是 |
| 3.3 是否生成临时文件(是否及时清理) | 否 |
| 3.4 是否解压缩文件(是否校验压缩炸弹,是否校验解压缩位置,是否校验解压缩权限等) | 否 |
| 4 是否涉及网络通信 | 不涉及 |
| 4.1 是否监听端口(是否更新通信矩阵,是否全0监听,协议是否使用安全加密协议,对外提供服务是否有认证,鉴权,web攻击模式全部需要注意,xss 等等) | 不涉及 |
| 4.2 是否访问外部网络(是否更新通信矩阵,访问的网址是否在配置文件中,使用的协议是否是公司建议使用的安全加密协议,返回的数据是否有校验,是否有超时机制) | 不涉及 |
| 5 是否涉及注入风险 | 不涉及 |
| 5.1 是否涉及执行命令,是否对命令注入风险进行消减 | 不涉及 |
| 5.2 是否涉及 HTML 界面,是否对 HTML 注入风险进行消减(xss攻击) | 不涉及 |
| 5.3 是否使用了JLable控件,是否对HTML注入风险进行消减 | 不涉及 |
| 5.4 是否涉及解析 XML ,是否对 XML 注入风险进行消减 | 不涉及 |
| 5.5 是否涉及解析 YAML, 是否使用安全解析接口 | 不涉及 |
| 5.6 是否涉及SQL数据库注入 | 不涉及 |
| 6 是否引入第三方库 | 不涉及 |
| 6.1 开源引入是否走正常的开源引入流程 | 不涉及 |
| 6.2 是否 python 新增依赖,是否存在依赖特定版本(一般不允许依赖特定版本) | 不涉及 |
| 7 是否新增二进制交付件(安全编译选项是否符合公司要求) | 不涉及 |
| 8 是否存在加密,认证(是否使用安全的加密算法,加解密过程是否安全) | 不涉及 |
| 9 是否存在敏感信息 (敏感信息生成,使用,留存,销毁) | 不涉及 |
| 10 是否使用安全函数库 | 否 |
6. msprobe工具使能影响问题复现优化¶
6.1设计思路¶
该特性需要支持以下几个子场景能力:
- 寄存器溢出状态读清算子的torch框架适配开发
- 桩kernel算子的torch框架适配开发
- msprobe适配寄存器溢出检测模式
- msprobe适配桩kernel dump采集能力
6.2约束条件¶
暂不涉及
6.3详细实现¶
- 寄存器溢出状态读清算子的torch框架适配开发
- 需求背景:遇到不稳定复现的NaN问题时,需要尽可能轻量的溢出状态采集接口,runtime可提供接口,但需要封装成torch接口
- 需求内容:将getfloatstatus、clearstatus封装成torch可调接口
- 桩kernel算子的torch框架适配开发
- 需求背景:遇到不稳定复现的NaN问题时,需要尽可能轻量的tensor采集接口,runtime可提供接口,但需要封装成torch接口
- 需求内容:将桩kernel封装成torch可调接口
- msprobe适配寄存器溢出检测模式
- 需求背景:同上
- 需求内容:支持寄存器溢出检测模式,在该模式下可对寄存器状态进行异步数据落盘
- msprobe适配桩kernel dump采集能力
- 需求背景:同上
- 需求内容:支持桩kernel tensor采集模式,在该模式下可对tensor进行数据落盘
6.4DFX属性设计¶
6.4.1性能设计¶
调测类特性,对性能影响不敏感,不涉及
6.4.2 安全设计¶
6.4.2.1 安全设计确认¶
| Checklist 内容 | 检查结果 |
|---|---|
| 1 是否新增输入(界面输入,命令行参数,命令,http接口) | 是 |
| 1.1 是否通知资料更新 | 是 |
| 1.2 是否对输入设计了安全校验(哪些校验,长度,格式,类别,阈值,是否空,路径类的入参使用前是否进行了标准化,规范化等) | 是 |
| 2 是否有(跨信任域)进程间交互 | 不涉及 |
| 2.1 进程间交互方式,通信方式是否可信 | 不涉及 |
| 2.2 是否存在资源竞争 | 不涉及 |
| 3 是否存在文件操作 | 是 |
| 3.1 是否读取外部文件(文件大小是否校验,读取内容是否校验,反序列化是否安全) | 是 |
| 3.2 是否生成文件输出(生成文件权限是否正确,是否软连接校验) | 是 |
| 3.3 是否生成临时文件(是否及时清理) | 否 |
| 3.4 是否解压缩文件(是否校验压缩炸弹,是否校验解压缩位置,是否校验解压缩权限等) | 否 |
| 4 是否涉及网络通信 | 不涉及 |
| 4.1 是否监听端口(是否更新通信矩阵,是否全0监听,协议是否使用安全加密协议,对外提供服务是否有认证,鉴权,web攻击模式全部需要注意,xss 等等) | 不涉及 |
| 4.2 是否访问外部网络(是否更新通信矩阵,访问的网址是否在配置文件中,使用的协议是否是公司建议使用的安全加密协议,返回的数据是否有校验,是否有超时机制) | 不涉及 |
| 5 是否涉及注入风险 | 不涉及 |
| 5.1 是否涉及执行命令,是否对命令注入风险进行消减 | 不涉及 |
| 5.2 是否涉及 HTML 界面,是否对 HTML 注入风险进行消减(xss攻击) | 不涉及 |
| 5.3 是否使用了JLable控件,是否对HTML注入风险进行消减 | 不涉及 |
| 5.4 是否涉及解析 XML ,是否对 XML 注入风险进行消减 | 不涉及 |
| 5.5 是否涉及解析 YAML, 是否使用安全解析接口 | 不涉及 |
| 5.6 是否涉及SQL数据库注入 | 不涉及 |
| 6 是否引入第三方库 | 不涉及 |
| 6.1 开源引入是否走正常的开源引入流程 | 不涉及 |
| 6.2 是否 python 新增依赖,是否存在依赖特定版本(一般不允许依赖特定版本) | 不涉及 |
| 7 是否新增二进制交付件(安全编译选项是否符合公司要求) | 不涉及 |
| 8 是否存在加密,认证(是否使用安全的加密算法,加解密过程是否安全) | 不涉及 |
| 9 是否存在敏感信息 (敏感信息生成,使用,留存,销毁) | 不涉及 |
| 10 是否使用安全函数库 | 否 |
7. 服务化亚健康状态感知能力构建¶
7.1设计思路¶
该特性需要支持以下几个子场景能力:
- 服务化亚健康状态支持乱码类感知能力
- 服务化亚健康状态支持重复类感知能力
7.2约束条件¶
暂不涉及
7.3详细实现¶
- 服务化亚健康状态支持乱码类感知能力
- 需求背景:当前缺乏对乱码类问题的自动化检测能力
- 需求内容:通过基于字符编码验证与语义连贯性分析的乱码检测算法,支持乱码类感知能力
- 服务化亚健康状态支持重复类感知能力
- 需求背景:当前缺乏对重复类问题的自动化检测能力
- 需求内容:通过基于token_id序列的重复检测算法,支持重复类感知能力
7.4DFX属性设计¶
7.4.1性能设计¶
调测类特性,对性能影响不敏感,不涉及
7.4.2 安全设计¶
7.4.2.1 安全设计确认¶
| Checklist 内容 | 检查结果 |
|---|---|
| 1 是否新增输入(界面输入,命令行参数,命令,http接口) | 是 |
| 1.1 是否通知资料更新 | 是 |
| 1.2 是否对输入设计了安全校验(哪些校验,长度,格式,类别,阈值,是否空,路径类的入参使用前是否进行了标准化,规范化等) | 是 |
| 2 是否有(跨信任域)进程间交互 | 不涉及 |
| 2.1 进程间交互方式,通信方式是否可信 | 不涉及 |
| 2.2 是否存在资源竞争 | 不涉及 |
| 3 是否存在文件操作 | 是 |
| 3.1 是否读取外部文件(文件大小是否校验,读取内容是否校验,反序列化是否安全) | 是 |
| 3.2 是否生成文件输出(生成文件权限是否正确,是否软连接校验) | 是 |
| 3.3 是否生成临时文件(是否及时清理) | 否 |
| 3.4 是否解压缩文件(是否校验压缩炸弹,是否校验解压缩位置,是否校验解压缩权限等) | 否 |
| 4 是否涉及网络通信 | 不涉及 |
| 4.1 是否监听端口(是否更新通信矩阵,是否全0监听,协议是否使用安全加密协议,对外提供服务是否有认证,鉴权,web攻击模式全部需要注意,xss 等等) | 不涉及 |
| 4.2 是否访问外部网络(是否更新通信矩阵,访问的网址是否在配置文件中,使用的协议是否是公司建议使用的安全加密协议,返回的数据是否有校验,是否有超时机制) | 不涉及 |
| 5 是否涉及注入风险 | 不涉及 |
| 5.1 是否涉及执行命令,是否对命令注入风险进行消减 | 不涉及 |
| 5.2 是否涉及 HTML 界面,是否对 HTML 注入风险进行消减(xss攻击) | 不涉及 |
| 5.3 是否使用了JLable控件,是否对HTML注入风险进行消减 | 不涉及 |
| 5.4 是否涉及解析 XML ,是否对 XML 注入风险进行消减 | 不涉及 |
| 5.5 是否涉及解析 YAML, 是否使用安全解析接口 | 不涉及 |
| 5.6 是否涉及SQL数据库注入 | 不涉及 |
| 6 是否引入第三方库 | 不涉及 |
| 6.1 开源引入是否走正常的开源引入流程 | 不涉及 |
| 6.2 是否 python 新增依赖,是否存在依赖特定版本(一般不允许依赖特定版本) | 不涉及 |
| 7 是否新增二进制交付件(安全编译选项是否符合公司要求) | 不涉及 |
| 8 是否存在加密,认证(是否使用安全的加密算法,加解密过程是否安全) | 不涉及 |
| 9 是否存在敏感信息 (敏感信息生成,使用,留存,销毁) | 不涉及 |
| 10 是否使用安全函数库 | 否 |
8. msprobe dump API支持度补齐专项¶
8.1设计思路¶
该特性需要支持以下几个子场景能力:
- 补齐量化类算子采集
- 补齐融合类算子采集
- 优化自定义算子采集易用性
8.2约束条件¶
暂不涉及
8.3详细实现¶
- 补齐量化类算子采集
- 需求背景:量化类算子存在漏采现象
- 需求内容:依靠框架侧提供的全面量化算子清单,补齐工具采集列表
- 补齐融合类算子采集
- 需求背景:融合算子存在漏采现象
- 需求内容:依靠框架侧提供的全面融合算子清单,补齐工具采集列表
- 优化自定义算子采集易用性
- 需求背景:自定义算子存在漏采现象
- 需求内容:支持批量自定义算子注册能力
8.4DFX属性设计¶
8.4.1性能设计¶
调测类特性,对性能影响不敏感,不涉及
8.4.2 安全设计¶
8.4.2.1 安全设计确认¶
| Checklist 内容 | 检查结果 |
|---|---|
| 1 是否新增输入(界面输入,命令行参数,命令,http接口) | 是 |
| 1.1 是否通知资料更新 | 是 |
| 1.2 是否对输入设计了安全校验(哪些校验,长度,格式,类别,阈值,是否空,路径类的入参使用前是否进行了标准化,规范化等) | 是 |
| 2 是否有(跨信任域)进程间交互 | 不涉及 |
| 2.1 进程间交互方式,通信方式是否可信 | 不涉及 |
| 2.2 是否存在资源竞争 | 不涉及 |
| 3 是否存在文件操作 | 是 |
| 3.1 是否读取外部文件(文件大小是否校验,读取内容是否校验,反序列化是否安全) | 是 |
| 3.2 是否生成文件输出(生成文件权限是否正确,是否软连接校验) | 是 |
| 3.3 是否生成临时文件(是否及时清理) | 否 |
| 3.4 是否解压缩文件(是否校验压缩炸弹,是否校验解压缩位置,是否校验解压缩权限等) | 否 |
| 4 是否涉及网络通信 | 不涉及 |
| 4.1 是否监听端口(是否更新通信矩阵,是否全0监听,协议是否使用安全加密协议,对外提供服务是否有认证,鉴权,web攻击模式全部需要注意,xss 等等) | 不涉及 |
| 4.2 是否访问外部网络(是否更新通信矩阵,访问的网址是否在配置文件中,使用的协议是否是公司建议使用的安全加密协议,返回的数据是否有校验,是否有超时机制) | 不涉及 |
| 5 是否涉及注入风险 | 不涉及 |
| 5.1 是否涉及执行命令,是否对命令注入风险进行消减 | 不涉及 |
| 5.2 是否涉及 HTML 界面,是否对 HTML 注入风险进行消减(xss攻击) | 不涉及 |
| 5.3 是否使用了JLable控件,是否对HTML注入风险进行消减 | 不涉及 |
| 5.4 是否涉及解析 XML ,是否对 XML 注入风险进行消减 | 不涉及 |
| 5.5 是否涉及解析 YAML, 是否使用安全解析接口 | 不涉及 |
| 5.6 是否涉及SQL数据库注入 | 不涉及 |
| 6 是否引入第三方库 | 不涉及 |
| 6.1 开源引入是否走正常的开源引入流程 | 不涉及 |
| 6.2 是否 python 新增依赖,是否存在依赖特定版本(一般不允许依赖特定版本) | 不涉及 |
| 7 是否新增二进制交付件(安全编译选项是否符合公司要求) | 不涉及 |
| 8 是否存在加密,认证(是否使用安全的加密算法,加解密过程是否安全) | 不涉及 |
| 9 是否存在敏感信息 (敏感信息生成,使用,留存,销毁) | 不涉及 |
| 10 是否使用安全函数库 | 否 |