OpenAtom OpenHarmony 三方库(以下简称“三方库”或“包”),是经过验证可在 OpenHarmony 系统上可重复使用的软件组件,可帮助开发者快速开发 OpenHarmony 应用。三方库根据其开发语言分为 2 种,一种是使用 JavaScript 和 TypeScript 语言的三方库,通常以源码或 OpenHarmony HAR/HSP 的方式引入,在应用开发中使用。另一种是 C 和 C++语言的三方库,通常在应用开发中通过 N-API 暴露 JS 接口的方式使用,或直接编译在 OpenHarmony 操作系统镜像中。
鼓励开发者通过 OpenHarmony 三方库中心仓(地址为:ohpm.openharmony.cn/,以下简称“OHPM平… 来分享自己的三方库(无论是否已经开源),能让更多的开发者免费使用 , 繁荣 OpenHarmony 应用生态。本文将具体介绍三方库的发布与安全隐私检测。
创建 OpenHarmony 三方库,支持通过 DevEco Studio(以下简称 IDE)界面创建和 OHPM 命令行创建两种方式。
方法 1:通过 IDE 界面创建
在应用工程中,新创建 Module,选择"Static Library"模板,创建完成后,完善 oh-package.json5 的信息,其中名称、版本等信息根据实际情况填写。
方法 2:通过 OHPM 命令行创建
OHPM 命令行创建,可通过三方中心仓指导文档操作
开发完库模块后,选中模块名,然后通过 DevEco Studio 菜单栏的 Build > Make Module ${libraryName}进行编译构建,生成 HAR/HSP。HAR/HSP 可用于工程其它模块的引用,或将 HAR/HSP 上传至 OHPM 平台,供其他开发者下载使用。若部分源码文件不需要打包至 HAR/HSP 中,可通过创建.ohpmignore 文件,配置打包时要忽略的文件/文件夹。
(一)敏感信息自检
将敏感信息发布到本平台可能会损害您的用户、危及您的开发基础架构、造成高昂的修复成本,并使您面临法律诉讼的风险。我们强烈建议在将三方库发布到本平台之前,删除敏感信息,例如私钥、密码、个人信息和信用卡数据等。
(二)OHPM 公钥配置
OpenHarmony 三方库中心仓 和 ohpm-cli 命令行工具的通信(查询、下载、发布),需要建立可信的安全通道,可以按如下步骤进行配置 OHPM 公钥。
ssh-keygen -m PEM -t RSA -b 4096 -f ~/.ssh_ohpm/mykey
说明: ~/.ssh_ohpm/mykey 为私钥文件 mykey 的文件路径,按照实际情况指定。指定的私钥存储目录必须存在。追加了.pub 后缀的相应公钥文件会在与私钥相同的目录中生成。
注意:OHPM 包管理器只支持加密密钥认证,请在生成公私钥时输入密码。
ohpm config set key_path ~/.ssh_ohpm/mykey
最后登录本平台,从【个人中心】页面中【复制发布码】,并配置到.ohpmrc 文件中 publish_id 字段上,可执行如下命令:
ohpm config set publish_id your_publish_id
(三)发布
执行如下命令发布 HAR,
ohpm publish
publish 命令其他使用方法及相关规则,请参阅 ohpm publish 常用命令章节。
发布成功之后,本平台将会给您的账号发送“创建上架审核单成功”通知,您可登录本平台,进入个人中心界面,关注【消息】通知。
(四)等待审核
审核通过之后将会给您的账号发送“审核通过”通知,您可登录本平台个人中心管理界面,关注【个人中心】-【消息】通知。
上架审核通过通知消息示例:
(五)管理已发布的三方库
登录本平台,在【个人中心】-【Package】管理界面,查看已发布的三方库审核、上下架状态。
安全是 OHPM 平台的核心原则之一,为此,我们将基于 OHPM 平台行为准则对您的账号及使用该账号提交上架审核的内容。三方库审核流程主要包括自动化工具扫描和人工审核,对三方库进行监测和分析,以识别可能存在的恶意行为。
图 1 三方库审核流程
其中,工具扫描包括完整性检查与安全性检查两部分。完整性检查将基于创建三方库的具体要求进行三方库目录、内容审核,如果您提交的三方库缺少必要性文件,三方库将被退回,请您根据提示完善三方库内容后再次提交上架审核;安全性检查将结合目前已有的安全检测工具,对三方库进行定期检测。支持的风险类型包括:
安全漏洞检测工具可以对三方库进行实时漏洞检测,并融合网络环境、威胁情报、漏洞影响、poc、时间因子、CVSS 评分等多个风险评估因子对漏洞进行风险评估,以便及时对高危漏洞进行处理或修复,确保尽快实现漏洞的发现、修复及验证工作。
安全检测工具利用恶意性聚类、深层关联关系挖掘的手段,针对特种木马及恶意程序进行检查分析,可以检测多种样本类型,能识别出伪装成图片或其他正常文件的木马,以及各种恶意软件包。然后利用依赖检测分析发现项目、软件依赖关系,帮助企业发现使用的开源包(开源库)的依赖项,以及当前存在的已知安全漏洞,提高三方库的透明度和安全性。如果发现安全隐患,三方库将被退回,并提示审核不通过的原因;
除以上两种安全检测,三方包在上架前必须经过以下几个维度扫描:
(1)敏感函数的调用:通过构建所有潜在的调用栈,分析程序的敏感行为。
(2)权限滥用:包含敏感权限,高风险权限的声明,声明未使用,或者使用未声明。
(3)存在风险的网络连接:包括 URL,IP 检测。
(4)数据跨境的检查:跨境分级,规避法律风险。
(5)内容的合规:比如内嵌图片,文字是否存在黄赌毒,涉政,涉敏等。
(6)个人数据的搜集:围绕工信部定义的个人数据列表,进行分析处理。
(7)污点分析:通过污点分析技术,得出个人数据是否存在被发送出去的可能。
(8)SDK 侦测:源码级别和配置文件级别的 SCA。
(9)关联启动和常驻行为:检测非用户主动发起的关联启动行为,或者退出进程常驻行为。
人工复审会对提交的三方库进行功能性测试,如果三方库没有真正的功能实现或其功能无法在 OpenHarmony 上验证,将被视为无效三方库,三方库将被退回,并提示审核不通过的原因。
为了能让大家更好的学习鸿蒙 (Harmony OS) 开发技术,这边特意整理了《鸿蒙 (Harmony OS)开发学习手册》(共计890页),希望对大家有所帮助:https://qr21.cn/FV7h05
入门必看:https://qr21.cn/FV7h05
HarmonyOS 概念:https://qr21.cn/FV7h05
如何快速入门:https://qr21.cn/FV7h05
开发基础知识:https://qr21.cn/FV7h05
基于ArkTS 开发:https://qr21.cn/FV7h05