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 公钥。

  1. 在进行 publish 发布前,请先确保在 OpenHarmony 三方库中心仓上已经创建了帐号,且利用工具 ssh-keygen 生成公、私钥文件,可执行以下命令:

ssh-keygen -m PEM -t RSA -b 4096 -f ~/.ssh_ohpm/mykey

说明: ~/.ssh_ohpm/mykey 为私钥文件 mykey 的文件路径,按照实际情况指定。指定的私钥存储目录必须存在。追加了.pub 后缀的相应公钥文件会在与私钥相同的目录中生成。

注意:OHPM 包管理器只支持加密密钥认证,请在生成公私钥时输入密码。

  1. 请将公钥上传至 OpenHarmony 三方库中心仓【个人中心】-【认证管理】下:点击页面左上角的"新增"按钮,并将公钥文件(mykey.pub)的内容粘贴到公钥输入框中。
  1. 请将对应私钥文件路径配置到.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 工具扫描

其中,工具扫描包括完整性检查与安全性检查两部分。完整性检查将基于创建三方库的具体要求进行三方库目录、内容审核,如果您提交的三方库缺少必要性文件,三方库将被退回,请您根据提示完善三方库内容后再次提交上架审核;安全性检查将结合目前已有的安全检测工具,对三方库进行定期检测。支持的风险类型包括:

  1. 安全漏洞检测

安全漏洞检测工具可以对三方库进行实时漏洞检测,并融合网络环境、威胁情报、漏洞影响、poc、时间因子、CVSS 评分等多个风险评估因子对漏洞进行风险评估,以便及时对高危漏洞进行处理或修复,确保尽快实现漏洞的发现、修复及验证工作。

  1. 恶意软件检测

安全检测工具利用恶意性聚类、深层关联关系挖掘的手段,针对特种木马及恶意程序进行检查分析,可以检测多种样本类型,能识别出伪装成图片或其他正常文件的木马,以及各种恶意软件包。然后利用依赖检测分析发现项目、软件依赖关系,帮助企业发现使用的开源包(开源库)的依赖项,以及当前存在的已知安全漏洞,提高三方库的透明度和安全性。如果发现安全隐患,三方库将被退回,并提示审核不通过的原因;

  1. 其他安全扫描

除以上两种安全检测,三方包在上架前必须经过以下几个维度扫描:

(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

  1. 应用开发导读(ArkTS)
  2. 应用开发导读(Java)

HarmonyOS 概念:https://qr21.cn/FV7h05

  1. 系统定义
  2. 技术架构
  3. 技术特性
  4. 系统安全

如何快速入门:https://qr21.cn/FV7h05

  1. 基本概念
  2. 构建第一个ArkTS应用
  3. 构建第一个JS应用
  4. ......

开发基础知识:https://qr21.cn/FV7h05

  1. 应用基础知识
  2. 配置文件
  3. 应用数据管理
  4. 应用安全管理
  5. 应用隐私保护
  6. 三方应用调用管控机制
  7. 资源分类与访问
  8. 学习ArkTS语言
  9. ......

基于ArkTS 开发:https://qr21.cn/FV7h05

  1. Ability开发
  2. UI开发
  3. 公共事件与通知
  4. 窗口管理
  5. 媒体
  6. 安全
  7. 网络与链接
  8. 电话服务
  9. 数据管理
  10. 后台任务(Background Task)管理
  11. 设备管理
  12. 设备使用信息统计
  13. DFX
  14. 国际化开发
  15. 折叠屏系列
  16. ......
相关推荐
Suckerbin34 分钟前
Hms?: 1渗透测试
学习·安全·网络安全
Diamond技术流1 小时前
从0开始学习Linux——网络配置
linux·运维·网络·学习·安全·centos
Spring_java_gg1 小时前
如何抵御 Linux 服务器黑客威胁和攻击
linux·服务器·网络·安全·web安全
newxtc2 小时前
【国内中间件厂商排名及四大中间件对比分析】
安全·web安全·网络安全·中间件·行为验证·国产中间件
yilylong3 小时前
鸿蒙(Harmony)实现滑块验证码
华为·harmonyos·鸿蒙
baby_hua3 小时前
HarmonyOS第一课——DevEco Studio的使用
华为·harmonyos
weixin_442643423 小时前
推荐FileLink数据跨网摆渡系统 — 安全、高效的数据传输解决方案
服务器·网络·安全·filelink数据摆渡系统
HarmonyOS_SDK3 小时前
融合虚拟与现实,AR Engine为用户提供沉浸式交互体验
harmonyos
星尘安全4 小时前
安全工程师入侵加密货币交易所获罪
安全·区块链·漏洞·加密货币
- 羊羊不超越 -5 小时前
App渠道来源追踪方案全面分析(iOS/Android/鸿蒙)
android·ios·harmonyos