mmsrc

公告

【开源项目】MOSEC-X-PLUGIN 系列插件开源

来源:陌陌安全 发布时间:2020-08-03


TL;DR


陌陌安全本次开源一系列构建工具插件,用于检测工程项目中存在漏洞的第三方依赖组件,欢迎各位试用。


从SCA说起


企业加速业务研发,常常会使用开源技术提升研发效率。于此同时,开源组件也会引入诸多不安全因素。软件成分分析(SCA)的主要功能之一即是列出目标产品所使用的开源组件,并发现其中潜藏的漏洞隐患。本次陌陌开源的系列插件重点关注此类问题。



MOSEC-X-PLUGIN


检测第三方组件的安全隐患是个两端繁重中间轻松的工作。一端要适配不同语言不同种类的构建工具(或依赖管理工具),另一端对漏洞规则数据的要求较为严格,而中间的比对工作相对轻松。

陌陌安全在公司内部实践过程中,借鉴了Snyk公司的产品理念,对其部分开源项目二次开发,并加入创新功能。插件不仅能够支持传递依赖检测,漏洞分级检测等常规操作,陌陌内部还将其推广到研发端,做到研发自主检测,主动修复。同时,陌陌内部CICD平台也接入本系列插件,以保证线上项目符合安全生产规范。



我们的优势


明确唯一的提示


当前业界漏洞规则大多使用公开的CVE/CNVD数据,其数据多而繁杂。以jackson-databind举例,截止目前统计单组件就拥有26个CVE编号之多。将这些内容一股脑推送给研发同学,定会让他们头痛不已。往往,研发同学并不重点关注“怎么了”,更希望知道“怎么做”。

陌陌插件会根据漏洞数据产生明确且唯一的升级提示,简化理解难度、明确工作内容、降低工作复杂程度。


多语言工具支持


使用跨语言工具既是挑战,也可能是灾难。陌陌为不同的构建工具分别开发插件,无论是接入CICD平台,还是研发自主检测,都能够在同语言环境的工具下操作,从而降低工作难度。


自定义漏洞规则数据


开源软件除了免费、透明的特点以外,还可以灵活自定义。

实践中发现,内部自研组件也会出现漏洞和升级需求,这可是CVE数据里找不到的。

自定义漏洞规则,可以满足构建过程主动拦截不合规的内部组件,完成内部组件全量升级的需求。



工具地址


Composer插件https://github.com/momosecurity/mosec-composer-plugin

Maven插件:https://github.com/momosecurity/mosec-maven-plugin

Gradle插件:https://github.com/momosecurity/mosec-gradle-plugin

node组件:https://github.com/momosecurity/mosec-node-plugin

pip组件:https://github.com/momosecurity/mosec-pip-plugin

后端API(含样例数据):https://github.com/momosecurity/mosec-x-plugin-backend




https://momo-mmsrc.oss-cn-hangzhou.aliyuncs.com/img-2719a415-ea15-3285-8127-b92d5b2a7e98.png