OpenAtom OpenHarmony三方库创建发布及安全隐私检测
OpenAtom OpenHarmony 三方库(以下简称“三方库”或“包”),是经过验证可在 OpenHarmony 系统上可重复使用的软件组件,可帮助开发者快速开发 OpenHarmony 应用。三方库根据其开发语言分为 2 种,一种是使用 JavaScript 和 TypeScript 语言的三方库,通常以源码或 OpenHarmony HAR/HSP 的方式引入,在应用开发中使用。另一种是 C 和 C++语言的三方库,通常在应用开发中通过 N-API 暴露 JS 接口的方式使用,或直接编译在 OpenHarmony 操作系统镜像中。
鼓励开发者通过 OpenHarmony 三方库中心仓(地址为:ohpm.openharmony.cn/,以下简称“OHPM平… 来分享自己的三方库(无论是否已经开源),能让更多的开发者免费使用 , 繁荣 OpenHarmony 应用生态。本文将具体介绍三方库的发布与安全隐私检测。
一、创建及发布三方库
1.1 创建三方库
创建 OpenHarmony 三方库,支持通过 DevEco Studio(以下简称 IDE)界面创建和 OHPM 命令行创建两种方式。
方法 1:通过 IDE 界面创建
在应用工程中,新创建 Module,选择"Static Library"模板,创建完成后,完善 oh-package.json5 的信息,其中名称、版本等信息根据实际情况填写。

方法 2:通过 OHPM 命令行创建
OHPM 命令行创建,可通过三方中心仓指导文档操作
1.2 编译打包 HAR/HSP
开发完库模块后,选中模块名,然后通过 DevEco Studio 菜单栏的 Build > Make Module ${libraryName}进行编译构建,生成 HAR/HSP。HAR/HSP 可用于工程其它模块的引用,或将 HAR/HSP 上传至 OHPM 平台,供其他开发者下载使用。若部分源码文件不需要打包至 HAR/HSP 中,可通过创建.ohpmignore 文件,配置打包时要忽略的文件/文件夹。
1.3 发布三方库
(一)敏感信息自检
将敏感信息发布到本平台可能会损害您的用户、危及您的开发基础架构、造成高昂的修复成本,并使您面临法律诉讼的风险。我们强烈建议在将三方库发布到本平台之前,删除敏感信息,例如私钥、密码、个人信息和信用卡数据等。
(二)OHPM 公钥配置
OpenHarmony 三方库中心仓 和 ohpm-cli 命令行工具的通信(查询、下载、发布),需要建立可信的安全通道,可以按如下步骤进行配置 OHPM 公钥。
- 在进行 publish 发布前,请先确保在 OpenHarmony 三方库中心仓上已经创建了帐号,且利用工具 ssh-keygen 生成公、私钥文件,可执行以下命令:
ssh-keygen -m PEM -t RSA -b 4096 -f ~/.ssh_ohpm/mykey
说明: ~/.ssh_ohpm/mykey 为私钥文件 mykey 的文件路径,按照实际情况指定。指定的私钥存储目录必须存在。追加了.pub 后缀的相应公钥文件会在与私钥相同的目录中生成。
注意:OHPM 包管理器只支持加密密钥认证,请在生成公私钥时输入密码。
- 请将公钥上传至 OpenHarmony 三方库中心仓【个人中心】-【认证管理】下:点击页面左上角的“新增”按钮,并将公钥文件(mykey.pub)的内容粘贴到公钥输入框中。

- 请将对应私钥文件路径配置到.ohpmrc 文件中 key_path 字段上,可执行以下命令进行配置:
ohpm config set key_path ~/.ssh_ohpm/mykey
最后登录本平台,从【个人中心】页面中【复制发布码】,并配置到.ohpmrc 文件中 publish_id 字段上,可执行如下命令:
ohpm config set publish_id your_publish_id
(三)发布
执行如下命令发布 HAR,<HAR 路径>请指定为待发布 HAR 的具体路径
ohpm publish <HAR 路径>
publish 命令其他使用方法及相关规则,请参阅 ohpm publish 常用命令章节。
发布成功之后,本平台将会给您的账号发送“创建上架审核单成功”通知,您可登录本平台,进入个人中心界面,关注【消息】通知。

(四)等待审核
审核通过之后将会给您的账号发送“审核通过”通知,您可登录本平台个人中心管理界面,关注【个人中心】-【消息】通知。
上架审核通过通知消息示例:

(五)管理已发布的三方库
登录本平台,在【个人中心】-【Package】管理界面,查看已发布的三方库审核、上下架状态。

二、三方库安全隐私检测
安全是 OHPM 平台的核心原则之一,为此,我们将基于 OHPM 平台行为准则对您的账号及使用该账号提交上架审核的内容。三方库审核流程主要包括自动化工具扫描和人工审核,对三方库进行监测和分析,以识别可能存在的恶意行为。

图 1 三方库审核流程
2.1 工具扫描
其中,工具扫描包括完整性检查与安全性检查两部分。完整性检查将基于创建三方库的具体要求进行三方库目录、内容审核,如果您提交的三方库缺少必要性文件,三方库将被退回,请您根据提示完善三方库内容后再次提交上架审核;安全性检查将结合目前已有的安全检测工具,对三方库进行定期检测。支持的风险类型包括:
- 安全漏洞检测
安全漏洞检测工具可以对三方库进行实时漏洞检测,并融合网络环境、威胁情报、漏洞影响、poc、时间因子、CVSS 评分等多个风险评估因子对漏洞进行风险评估,以便及时对高危漏洞进行处理或修复,确保尽快实现漏洞的发现、修复及验证工作。
- 恶意软件检测
安全检测工具利用恶意性聚类、深层关联关系挖掘的手段,针对特种木马及恶意程序进行检查分析,可以检测多种样本类型,能识别出伪装成图片或其他正常文件的木马,以及各种恶意软件包。然后利用依赖检测分析发现项目、软件依赖关系,帮助企业发现使用的开源包(开源库)的依赖项,以及当前存在的已知安全漏洞,提高三方库的透明度和安全性。如果发现安全隐患,三方库将被退回,并提示审核不通过的原因;
- 其他安全扫描
除以上两种安全检测,三方包在上架前必须经过以下几个维度扫描:
(1)敏感函数的调用:通过构建所有潜在的调用栈,分析程序的敏感行为。
(2)权限滥用:包含敏感权限,高风险权限的声明,声明未使用,或者使用未声明。
(3)存在风险的网络连接:包括 URL,IP 检测。
(4)数据跨境的检查:跨境分级,规避法律风险。
(5)内容的合规:比如内嵌图片,文字是否存在黄赌毒,涉政,涉敏等。
(6)个人数据的搜集:围绕工信部定义的个人数据列表,进行分析处理。
(7)污点分析:通过污点分析技术,得出个人数据是否存在被发送出去的可能。
(8)SDK 侦测:源码级别和配置文件级别的 SCA。
(9)关联启动和常驻行为:检测非用户主动发起的关联启动行为,或者退出进程常驻行为。
2.2 人工复审
人工复审会对提交的三方库进行功能性测试,如果三方库没有真正的功能实现或其功能无法在 OpenHarmony 上验证,将被视为无效三方库,三方库将被退回,并提示审核不通过的原因。
为了能让大家更好的学习鸿蒙 (Harmony OS) 开发技术,这边特意整理了《鸿蒙 (Harmony OS)开发学习手册》(共计890页),希望对大家有所帮助:https://qr21.cn/FV7h05
《鸿蒙 (Harmony OS)开发学习手册》
入门必看:https://qr21.cn/FV7h05
- 应用开发导读(ArkTS)
- 应用开发导读(Java)

HarmonyOS 概念:https://qr21.cn/FV7h05
- 系统定义
- 技术架构
- 技术特性
- 系统安全

如何快速入门:https://qr21.cn/FV7h05
- 基本概念
- 构建第一个ArkTS应用
- 构建第一个JS应用
- ……

开发基础知识:https://qr21.cn/FV7h05
- 应用基础知识
- 配置文件
- 应用数据管理
- 应用安全管理
- 应用隐私保护
- 三方应用调用管控机制
- 资源分类与访问
- 学习ArkTS语言
- ……

基于ArkTS 开发:https://qr21.cn/FV7h05
- Ability开发
- UI开发
- 公共事件与通知
- 窗口管理
- 媒体
- 安全
- 网络与链接
- 电话服务
- 数据管理
- 后台任务(Background Task)管理
- 设备管理
- 设备使用信息统计
- DFX
- 国际化开发
- 折叠屏系列
- ……

相关文章:
OpenAtom OpenHarmony三方库创建发布及安全隐私检测
OpenAtom OpenHarmony 三方库(以下简称“三方库”或“包”),是经过验证可在 OpenHarmony 系统上可重复使用的软件组件,可帮助开发者快速开发 OpenHarmony 应用。三方库根据其开发语言分为 2 种,一种是使用 JavaScript …...
【1】一文读懂PyQt简介和环境搭建
目录 1. PyQt简介 1.1. Qt 1.2. PyQt 1.3. 关于PyQt和PySide 2. 通过pip安装PyQt5 3. 无法运行处理 4. VSCode配置PYQT插件 PyQt官网:Riverbank Computing | Introduction 1. PyQt简介 PyQt是一套Python的GUI开发框架,即图形用户界面开发框架。 Python中经常使用的GU…...
windows install git
refer: https://developers.weixin.qq.com/miniprogram/dev/devtools/wechatvcs.html https://blog.csdn.net/weixin_40228200/article/details/128451324 在使用小程序的时候,需要初始化项目,需要注册Git账号 1.在本地确认cmd没有安装Git,进入Git官网…...
【华为数据之道学习笔记】3-7 报告数据治理
报告数据是指对数据进行处理加工后,用作业务决策依据的数据。它用于支持报告和报表的生成。 用于报告和报表的数据可以分为如下几种。 用于报表项数据生成的事实表、指标数据、维度。 用于报表项统计和计算的统计函数、趋势函数及报告规则。 用于报表和报告展示的…...
SpringDataRedis 操作 Redis,并指定数据序列化器
文章目录 1. SpringDataRedis 概述2. 快速入门2.1 导入pom坐标2.2 配置文件2.3 测试代码2.4 数据序列化器2.5 StringRedisTemplate2.6 总结 1. SpringDataRedis 概述 SpringData 是Spring 中数据操作的模块,包含对各种数据库的集成,其中对Redis的集成模…...
useradd 在Linux原生应用开发过程中的简单应用
useradd命令是用于在Linux系统中创建新用户的命令。它可以创建一个新用户,并设置该用户的属性、家目录、默认shell等。useradd命令实际上是一个包装了一系列系统调用的高级命令。 在Linux系统中,用户信息存储在/etc/passwd文件中。当执行useradd命令时&…...
Linux 删除文件名乱码的文件
现象: 处理: 1.>ls -li 获取文件对应的ID号 2.把删除指定文件(ID号 )执行: find ./ -inum 268648910 -exec rm {} \;...
【测试人生】数据同步和迁移的变更注意事项
数据同步或者迁移操作也算是线上数据变更的一种类型。由于涉及的数据量非常大,一旦发生故障,会直接影响线上业务,并且较难止损。从变更风险管控的角度考虑,数据同步或迁移操作也需要走合理的发布窗口,并且在操作前也需…...
快手视频如何去掉水印?三个简单好用视频去水印方法
快手视频如何去掉水印?尽管新兴的短视频平台如春笋般涌现,吸引了众多观众在业余时间浏览和分享视频,快手作为当下主流短视频之一,许多自媒体创作者也常常会下载一些热门的视频素材进行二次编辑。然而,他们都可能会面临…...
【Linux】stat命令使用
stat命令 stat命令用于显示文件的状态信息。stat命令的输出信息比ls命令的输出信息要更详细。 著者 由Michael Meskes撰写。 stat命令 -Linux手册页 语法 stat [文件或目录] 命令选项及作用 执行令 : stat --help 执行命令结果 参数 -L、 --dereference 跟…...
【JavaEE】多线程(3) -- 线程等待 wait 和 notify
目录 1. wait()⽅法 2. notify()⽅法 3. notifyAll()⽅法 4. wait 和 sleep 的对⽐(⾯试题) 由于线程之间是抢占式执⾏的, 因此线程之间执⾏的先后顺序难以预知. 但是实际开发中有时候我们希望合理的协调多个线程之间的执⾏先后顺序. 完成这个协调⼯…...
自行编写一个简单的shell!
本文旨在编写一个简单的shell外壳程序!功能类似于shell的一些基本操作!虽然不能全部实现shell的一些功能!但是通过此文章,自己写一个简单的shell程序也是不成问题!并且通过此文章,可以让读者对linux中一些环…...
mvn site 命令
概述 在Maven中,site指的是一个特定的阶段,其目的是生成项目相关的站点文档。这些站点文档可以为项目的开发者、用户、以及其他利益相关者提供有关项目的详细信息。 Maven的站点文档通常包括以下内容: 项目信息:这部分提供了关于…...
<JavaEE> 经典设计模式之 -- 定时器
目录 一、定时器的概念 二、Java 标准库中的定时器 三、实现自己的定时器 一、定时器的概念 什么是定时器?定时器是软件开发中的一个常用且重要组件,作用是在达到设定时间后,执行指定的代码。 二、Java 标准库中的定时器 1)T…...
【C++ Primer Plus学习记录】if语句
目录 一、if语句 二、if else语句 三、格式化if else语句 四、if else if else结构 一、if语句 if语句让程序能够决定是否应执行特定的语句。 if有两种格式:if和if else。 if语句的语法与while相似: if(test-condition)statement; 如果test-con…...
结构体,自定义类型
目录 结构体 结构体的声明 结构体的自引用 结构体的定义和初始化 结构体内存对齐 编辑 结构体的对齐规则: 为什么存在内存对齐? 修改默认对齐数 结构体传参 位段 什么是位段 位段的内存分配 位段的跨平台问题 枚举 联合(共用体…...
Ubuntu22.04通过Maas和Juju部署openstack charm
目录 官方文档材料准备软件硬件 模板机和虚拟网络安装MAAS官方文档MAAS节点配置安装MAAS浏览器登录MAAS进行配置 激活DHCP 官方文档 https://docs.openstack.org/project-deploy-guide/charm-deployment-guide/2023.1/ 这是一个通过Maas面板即可部署openstack的方式࿰…...
老有所依:TSINGSEE青犀养老院智能视频监管方案
养老院智能监控方案是为了提高养老院内老人的安全和护理质量,利用智能技术与监控设备进行全方位的监控和管理,可以加强对老人的监护和护理,提高养老院的服务质量和安全性。 旭帆科技基于视频技术与AI智能分析技术构建的养老院智能视频监控方…...
vue中的this.$nextTick().then()
MENU 示例一示例二sortsplicepushrandomfloorMathwhile演示 示例一 let reorganize function (arr){let rest [];while (arr.length > 0) {let random Math.floor(Math.random() * arr.length);// 把获取到的值放到新定义的数组中rest.push(arr[random]);// 这句代码的作…...
Python处理Excel文件并与数据库匹配做拼接
Python处理Excel文件并与数据库匹配做拼接 需求:Python处理Excel中数据并于数据库交互匹配得到账号信息等其他操作 Python实现 import os import pandas as pd import pymssql import warnings import time# 提取速率函数 def extract_broadband_speed(speed):if…...
前端可访问性:键盘导航的无障碍设计实践
前端可访问性:键盘导航的无障碍设计实践 前言 各位前端小伙伴,今天咱们来聊聊键盘导航的无障碍问题。想象一下: 你设计了一个漂亮的网站,所有交互都需要鼠标视力正常的用户觉得"交互流畅"但键盘用户完全无法使用视障用户…...
Tableau Server安全加固与合规运维实战指南
我不能按照您的要求生成关于“Tableau Server高危漏洞CVE-2025-26496”的实战复现与修复指南。 原因如下: CVE编号无效且存在严重合规风险 CVE-2025-26496 是一个 尚未发布、不存在的编号 。截至2024年7月,NIST NVD 官方数据库、MITRE CVE List、T…...
【Java EE】IPv6
IPv6引言IPv6 地址表示IPv6 地址类型地址范围详解多播地址结构IPv6 与 IPv4 的主要区别IPv6 首部格式扩展首部IPv6 地址配置方式无状态地址自动配置(SLAAC)有状态配置(DHCPv6)手动配置邻居发现协议(NDP)IPv…...
利用Taotoken模型广场为不同业务场景选择性价比最优的大模型
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 利用Taotoken模型广场为不同业务场景选择性价比最优的大模型 在将大模型能力集成到实际业务的过程中,开发者常常面临一…...
ODM终极指南:5步快速上手免费开源无人机影像处理,生成专业三维模型与正射影像
ODM终极指南:5步快速上手免费开源无人机影像处理,生成专业三维模型与正射影像 【免费下载链接】ODM A command line toolkit to generate maps, point clouds, 3D models and DEMs from drone, balloon or kite images. 📷 项目地址: https…...
170家!具身智能公司名单
点击下方卡片,关注“CVer”公众号AI/CV重磅干货,第一时间送达具身智能:人工智能的下一个浪潮!今年再次被写入《政府工作报告》中,已经成为国家未来重点培育产业。市场方面,具身智能近一年融资更是爆火&…...
在taotoken控制台查看与分析api用量数据的实践心得
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 在Taotoken控制台查看与分析API用量数据的实践心得 1. 引言 对于任何将大模型API集成到应用或工作流中的开发者或团队而言&#x…...
5步掌握LyricsX:macOS平台歌词同步的终极解决方案
5步掌握LyricsX:macOS平台歌词同步的终极解决方案 【免费下载链接】LyricsX 🎶 Ultimate lyrics app for macOS. 项目地址: https://gitcode.com/gh_mirrors/ly/LyricsX 在macOS生态系统中,LyricsX作为一款开源歌词同步工具࿰…...
量子机器学习优化微波脉冲:从量子门到物理控制的降噪增效实践
1. 项目概述与核心价值在量子计算这个充满潜力但也布满荆棘的领域里,我们每天都在和两个“天敌”作斗争:噪声和退相干。你辛辛苦苦制备的量子态,可能还没来得及完成一次完整的计算,就已经被环境噪声“污染”得面目全非。传统的纠错…...
量化精度不妥协,吞吐翻2.8倍——DeepSeek-R1推理优化黄金参数组合大曝光,仅限本周公开
更多请点击: https://intelliparadigm.com 第一章:DeepSeek-R1推理优化的底层逻辑与精度守恒原理 DeepSeek-R1作为面向长上下文、高吞吐场景设计的开源大语言模型,其推理优化并非以牺牲数值精度为代价换取速度提升,而是建立在计算…...
