当前位置: 首页 > article >正文

CANN基础设施OAT使用指南

OAT开源审查工具【免费下载链接】infrastructure本仓库用于托管CANN社区基础设施团队的公开信息包括不限于会议日程成员信息服务文档和配置等信息项目地址: https://gitcode.com/cann/infrastructure目的本文档旨在为开发者提供明确的指引当社区门禁系统中code_check扫描任务检测到由OATOSS Audit Tool发出的开源合规告警时应如何理解、分析并采取正确的操作步骤进行处理。范围本指导适用于所有参与CANN社区的贡献者项目适用范围包含CANN下代码仓。OAT问题确认开源仓代码扫描时候会根据OAT默认规则进行分析不满足则会在OAT扫描报告中呈现出如下的问题。具体处理流程如下具体分析操作如下问题一为什么测试文件/配置文件也被报出许可证问题告警示例问题原因OAT 工具默认会对仓库中所有文件进行扫描。但某些文件如tests/目录下的单元测试脚本、pyproject.toml等构建配置文件本身不涉及核心功能或不具备版权敏感性无需纳入许可证合规检查。这类文件若被扫描容易误报为“无许可证头”或“未知许可证”增加无效告警负担。正确做法将这些非源码类或无需审计的文件/目录加入屏蔽列表在项目根目录的OAT.xml中配置过滤规则。操作示例屏蔽整个测试目录filefilter namedefaultFilter descFiles not to check filteritem typefilepath nametests/.* descTest files do not require license check/ /filefilter屏蔽特定配置文件如 toml 文件filefilter namedefaultFilter descFiles not to check filteritem typefilename namepyproject.toml descConfiguration file, no license required/ /filefilter⚠️ 注意使用filepath可匹配路径正则使用filename匹配具体文件名修改后需提交至主干并同步到 CI 环境才生效。问题二告警说用了某个许可证如 CANN-2.0但确认是可以用的怎么办告警示例问题原因OAT 扫描发现代码中声明使用了某个许可证例如CANN-2.0但由于该许可证未在当前项目的白名单中注册系统无法识别其合法性因此标记为风险项。 这并不意味着许可证不能用而是工具“不认识它”。正确做法明确告知 OAT这个许可证是允许使用的。你需要在项目根目录的OAT.xml中将其添加到许可策略中。操作示例policylist policy nameprojectPolicy descProject allowed licenses policyitem typelicense nameCANN-2.0 path.* descApproved CANN license/ /policy /policylist✅ 要求name字段必须与扫描报告中的许可证名称​完全一致​path.*表示适用于全仓文件也可按需限定路径。✅ 完成后下次扫描将不再提示该许可证为非法问题三为什么提示“NoLicenseHeader”告警示例问题原因“NoLicenseHeader” 表示该文件缺少标准的许可证声明头部注释。常见于以下两类情况类型是否需要补头自研代码文件.c,.h,.py等✅ 建议补充上游引入的第三方开源文件❌ 不应修改原内容如果你的文件属于第二种比如从上游社区 copy 的代码原始就没有许可证头此时报错是合理的误报。正确做法根据文件性质选择处理方式✅ 场景 A这是自研代码 → 补充许可证头在文件顶部添加如下标准声明以 CANN-2.0 为例/* * This program is free software, you can redistribute it and/or modify it under the terms and conditions of * CANN Open Software License Agreement Version 2.0 (the License). * Please refer to the License for details. You may not use this file except in compliance with the License. * THIS SOFTWARE IS PROVIDED ON AN AS IS BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, * INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. * See LICENSE in the root of the software repository for the full text of the License. */✅ 场景 B这是上游引入文件 → 屏蔽检查保持原始内容不变在项目根目录的OAT.xml中通过defaultPolicyFilter忽略该文件的许可证头检查。filefilter namedefaultPolicyFilter descFiles exempt from license header checks filteritem typefilepath name/example/atb_aclnn/memory/memory_utils.h descThird-party upstream file without license header/ filteritem typefilename namememorypool.cpp descImported code, no header modification allowed/ /filefilter 原因说明建议写清楚便于后续审计追溯。问题四出现“InvalidLicense”告警工具识别不出许可证告警示例问题原因OAT 无法匹配到已知许可证库中的条目可能因为许可证文本格式有微小差异空格、换行、标点等使用了新定义或定制化的许可证如 CANN-2.0 尚未收录文本编码或大小写导致特征不匹配。 此时会报InvalidLicense表示“识别失败”而非“禁止使用”。正确做法先人工确认许可证内容是否合法 → 再决定如何让工具能识别它。步骤 1人工分析 法务确认查看告警文件中的许可证声明原文提交法务团队确认该许可证是否可用于本项目若不可用 → 需替换或移除相关代码若可用 → 继续下一步。步骤 2选择一种方式让 OAT 能识别该许可证方式 A向 OAT 工具提交许可证定义推荐长期使用 提交流程OAT Gitcode 仓库要求提取许可证正文转为小写去除所有符号和空格填入 JSON 格式的 license definition。示例{ licenseHeaderText: thisprogramisfreesoftwareyoucanredistributeitandormodifyitunderthetermsandconditionsofcannopensoftwarelicenseagreementversion20thelicensepleaserefertothelicensefordetailsyoumaynotusethisfileexceptincompliancewiththelicensethissoftwareisprovidedonanasisbasiswithoutwarrantiesofanykindeitherexpressorimpliedincludingbutnottononinfringementmerchantabilityorfitnessforaparticularpurposeseelicenseintherootofthesoftwarerepositoryforthefulltextofthelicense, licenseHeaderTextLength: 450, licenseId: CANN-2.0, licenseName: CANN Open Software License Agreement Version 2.0, licenseText: ...same as above..., urls: [] }✅ 优点一次提交多仓受益❗ 缺点需等待工具版本发布才能生效方式 B在当前仓配置本地匹配规则快速生效直接在项目根目录的OAT.xml中添加licensematcher规则​原样复制许可证头/文本内容​注意转义引号Copyright版权信息不要写入。licensematcherlist licensematcher nameCANN-2.0 descCustom license matcher for InvalidLicense fix licensetext name * This program is free software, you can redistribute it and/or modify it under the terms and conditions of * CANN Open Software License Agreement Version 2.0 (the quot;Licensequot;). * Please refer to the License for details. You may not use this file except in compliance with the License. * THIS SOFTWARE IS PROVIDED ON AN quot;AS ISquot; BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, * INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. * See LICENSE in the root of the software repository for the full text of the License. descMatch CANN-2.0 license header/ /licensematcher /licensematcherlist✅ 优点提交即生效适合紧急修复❗ 缺点每个仓库都要重复配置维护成本高 建议优先走方式 A 提交公共库方式 B 作为过渡方案【免费下载链接】infrastructure本仓库用于托管CANN社区基础设施团队的公开信息包括不限于会议日程成员信息服务文档和配置等信息项目地址: https://gitcode.com/cann/infrastructure创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关文章:

CANN基础设施OAT使用指南

OAT开源审查工具 【免费下载链接】infrastructure 本仓库用于托管CANN社区基础设施团队的公开信息,包括不限于:会议日程,成员信息,服务文档和配置等信息 项目地址: https://gitcode.com/cann/infrastructure 目的 本文档旨…...

竞品分析(结合完美日记 × 花西子报告)

作为初学者,结合文档分析每一步的作用,先讲清楚概念,并附上完美日记和花西子的例子,帮助大家理解竞品分析(结合完美日记 花西子报告)一、分析目的没有目的的分析是瞎看,先定目标才能决定看什么…...

JAVA同城上门做饭系统家政上门同城服务系统源码小程序+APP+公众号+h5

一、系统架构总览与业务背景1.1 上门做饭系统业务场景分析上门做饭系统是一种创新的O2O生活服务平台,连接专业厨师与有烹饪需求的用户。系统核心业务包括:用户端App(下单、支付、评价)、厨师端App(接单、路线规划、服务…...

数据智能前沿:从过程分析到可信AI的跨学科研究与实践

1. 团队概览与核心研究方向在数据科学和人工智能领域,一个研究团队的深度和广度往往决定了其能否在基础理论与产业应用之间架起坚实的桥梁。今天要聊的,是围绕澳大利亚麦考瑞大学(Macquarie University)计算学院为核心&#xff0c…...

基于MCP协议构建AI助手与Google Docs的无缝集成方案

1. 项目概述:为AI助手打通Google Docs的“任督二脉” 如果你和我一样,日常重度依赖Google Docs来撰写技术文档、会议纪要或项目规划,同时又希望AI助手(比如Cursor或Claude Desktop)能直接读取、分析甚至帮你修改这些文…...

OpenSpeedy终极指南:5分钟掌握免费开源游戏变速技巧

OpenSpeedy终极指南:5分钟掌握免费开源游戏变速技巧 【免费下载链接】OpenSpeedy 🎮 An open-source game speed modifier. 项目地址: https://gitcode.com/gh_mirrors/op/OpenSpeedy OpenSpeedy是一款专为Windows玩家设计的免费开源游戏加速工具…...

AI与数字孪生如何重塑智慧港口:从数据感知到元宇宙交互的实践

1. 项目概述:当港口遇见AI与元宇宙港口,这个连接全球贸易的古老节点,正在经历一场静默但深刻的革命。如果你还认为港口只是吊机、集装箱和拖车的简单组合,那可能已经落后于这个时代了。今天,我想以一个全球标杆——釜山…...

CANN/ops-rand贡献指南

贡献指南 【免费下载链接】ops-rand ops-rand是CANN (Compute Architecture for Neural Networks)算子库中提供的随机数生成库。 项目地址: https://gitcode.com/cann/ops-rand 本项目欢迎广大开发者体验并参与贡献,在参与社区贡献之前…...

CANN/xla-npu 示例指南

样例运行验证 【免费下载链接】xla-npu XLA-NPU 是一个面向华为昇腾NPU硬件的 XLA后端实现。本项目通过接入OpenXLA/XLA开源项目,将XLA开源生态与华为 CANN软件栈集成,对接JAX框架。JAX框架运行时可以直接加载XLA-NPU,使得基于JAX框架开发的模…...

电脑加密怎么设置?分享五个电脑加密小技巧,新手也能学会

在数字化办公时代,电脑里存储的不仅是文档,更是企业的核心资产。无论是个人隐私保护还是企业防泄密,掌握几种实用的加密方法都至关重要。今天分享五个加密小技巧,简单易懂,即学即用。方法一:利用洞察眼MIT系…...

B端后台工作台企业版ui设计

✅:资深设计师,擅长UI,UX,动效,三维模型制作等全能设计师; ✅:小红薯可搜 七瑞视觉设计; ✅:高质量/高要求/高性价/完美主义; ✅:合作(z63390681...

Seraphine终极指南:英雄联盟自动BP与战绩查询系统完整教程

Seraphine终极指南:英雄联盟自动BP与战绩查询系统完整教程 【免费下载链接】Seraphine 英雄联盟战绩查询工具 项目地址: https://gitcode.com/gh_mirrors/se/Seraphine Seraphine是一款基于英雄联盟官方LCU API开发的智能辅助工具,专注于提供自动…...

抖音矩阵云混剪系统 源码短视频矩阵营销系统V2.3.0(免授权版)

内容目录一、详细介绍二、效果展示1.部分代码2.效果图展示三、学习资料下载一、详细介绍 抖音矩阵云混剪系统 源码短视频矩阵营销系统V2.3.0(免授权版)多平台多账号一站式管理,一键发布作品。智能标题,关键词优化,排名…...

大连欣科蜂窝板生产线核心技术与专利设计深度解析

摘要本文聚焦大连欣科蜂窝板生产线的核心技术架构与专利设计,从螺杆塑化、模具流道、真空定型到智能控制,拆解其区别于传统设备的技术壁垒,结合实测数据验证节能与高效优势,为行业技术选型提供硬核参考。关键词#蜂窝板厂家电话#重…...

影刀RPA如何实现店群自动化:带你用多浏览器并发,打造拼多多与TEMU的“加密级”运营中枢

大家好,我是林焱,一名深耕电商财务底层逻辑与 RPA 自动化架构定制的独立开发者。 在电商这个充分竞争的赛道里,店群模式一直是卖家们跨越利润阶层的核心手段。当你在拼多多极致的性价比厮杀中找到了一套高转化的玩法,或者在 TEMU…...

如何高效配置智能键盘输入映射工具:Hitboxer跨平台SOCD解决方案实战指南

如何高效配置智能键盘输入映射工具:Hitboxer跨平台SOCD解决方案实战指南 【免费下载链接】socd Key remapper for epic gamers 项目地址: https://gitcode.com/gh_mirrors/so/socd 在竞技游戏和实时交互应用中,键盘输入冲突(SOCD&…...

边缘AI安全与隐私实战:从联邦学习到可信执行环境

1. 项目概述:当边缘计算遇上AI,安全与隐私的新战场最近几年,我身边做物联网和移动应用开发的朋友,聊天的主题都绕不开两个词:边缘计算和AI。大家一边兴奋于把AI模型塞进摄像头、网关甚至手机里带来的实时性提升&#x…...

以为再也见不到那些文件了…” 客户差点哭出来,结果数据全回来了

数据恢复常见误区与故障排查:从文件误删到硬盘异响的技术分析摘要: 在日常使用中,数据丢失常以不同形式出现——系统崩溃无法开机、硬盘发出异响、文件误删后清空回收站、服务器RAID阵列突然离线。许多用户在故障发生时因错误操作导致恢复难度…...

CANN/metadef创建HcomRecordTask

CreateHcomRecordTask 【免费下载链接】metadef Ascend Metadata Definition 项目地址: https://gitcode.com/cann/metadef 函数功能 创建一个Record task,此Task用于唤醒其他流上的与其有相同group_name的Wait Task。 函数原型 static KernelLaunchInfo …...

从人本到社本:构建ChatGPT社会影响评估与伦理治理新范式

1. 项目概述:当AI对话成为社会基础设施“从人本到社本”,这个标题精准地捕捉了我们这个时代AI伦理讨论的焦点转移。几年前,当GPT-3刚问世时,我们还在惊叹于它如何“理解”人类语言,讨论的重点是它会不会取代我的工作、…...

帝国cms二开的证书查询系统

内容目录一、详细介绍二、效果展示1.部分代码2.效果图展示三、学习资料下载一、详细介绍 别人投稿由帝国 cms 二开的二维码职称证件防伪查询识别系统网站。后台用不到的功能删除很多。 前端就有三个页面,一个是输入证书相关参数页面,一个查询页面&#…...

Git Flow 工作流:团队协作最佳实践

Git Flow 工作流:团队协作最佳实践 核心概念 Git Flow 是一种流行的 Git 工作流模式,定义了一套标准化的分支管理策略。合理使用 Git Flow 可以提高团队协作效率,确保代码质量。 Git Flow 分支结构 main:主分支,包含生…...

基于XAI与盲掩码自监督学习的地震数据去噪技术解析

1. 项目概述:从“看”到“理解”的地震数据净化地震勘探,说白了就是给地球做“CT扫描”。我们通过人工激发地震波,然后在地表接收反射回来的信号,这些信号经过复杂的处理,最终能描绘出地下几千米甚至更深的地层结构。然…...

主动学习加速广义Benders分解求解混合整数经济模型预测控制

1. 项目概述与核心价值最近在做一个挺有意思的项目,核心是把一个听起来很“学术”的算法——广义Benders分解,和工业界里越来越火的经济模型预测控制给揉到了一起,并且用主动学习这个思路去优化整个求解过程。乍一听,这标题里又是…...

Web 3.0中AI与边缘计算融合:从反洗钱到去中心化存储的实践

1. 项目概述:当AI与边缘计算在Web 3.0相遇最近和几个做区块链安全的朋友聊天,大家不约而同地提到了一个趋势:单纯靠链上规则和中心化审计来保障Web 3.0生态的安全与效率,已经越来越吃力了。无论是层出不穷的洗钱新手法&#xff0c…...

AI赋能建筑工程电气电子工程:从自动化设计到智能运维的实践指南

1. 项目概述与核心价值在建筑工程这个庞大而复杂的体系中,电气电子工程(EEE)扮演着“神经系统”的角色,它贯穿于建筑的规划、施工、运维全生命周期。然而,这个领域长期面临着效率瓶颈:设计依赖人工经验、能…...

各编程语言什么能学什么不能学?

编程语言的选择与适用场景编程语言的选择取决于学习目标、项目需求和职业发展方向。不同语言在设计理念、性能、生态系统和应用领域上有显著差异。以下从多个维度分析主流编程语言的适用性。适合学习的编程语言PythonPython以简洁语法和强大生态著称,适合初学者入门…...

耐高温 RFID 标签:机柜高温环境下的智能管理核心

在数据中心、电力基站、工业控制车间等场景中,机柜作为服务器、交换机、电力设备、精密仪器的核心载体,长期处于高温、金属干扰、粉尘油污的复杂环境。传统纸质标签易烧毁、条码标签不耐高温且抗干扰性差、普通 RFID 标签遇高温失效、金属表面信号衰减&a…...

关于目前C++学士现状分析

C学士现状分析行业需求与就业前景C作为一门高性能编程语言,在系统开发、游戏引擎、高频交易、嵌入式系统等领域占据重要地位。近年来,随着人工智能、自动驾驶、云计算等技术的发展,C的需求呈现波动但稳定的趋势。企业对C开发者的要求逐渐提高…...

GESP考级1—8注意事项

CCF/GESP考级1—8级注意事项 参加CCF/GESP考级时,考生需注意以下事项: 提前熟悉考试环境和编程工具,避免因操作不熟练影响发挥。仔细阅读题目要求,确保理解题意后再开始作答。合理分配时间,避免在某一题上花费过多时…...