开源软件具有迭代周期短、模块数量多、生产线上化、供应全球化、仓储集中化、边际成本低等特性,且使用路径包括第三方镜像仓库、网盘、论坛、代码托管平台等存在安全隐患的软件源,极易引入未知风险,如篡改、漏洞、投毒/后门、维护性中断、开源合规风险等。
开源软件风险管理主要包括对代码漏洞、依赖性管理、安全维护、知识产权及合规性等多方面的综合防范,为了有效管理这些风险,可以建立开源软件安全审查机制、加强依赖性管理、提高安全维护意识、加强知识产权和合规性管理,同时,还可以借助政策和技术手段,打造以“政策+技术”双驱动为核心的防范体系来有效保障开源软件的安全。
代码漏洞检测
基于深度学习算法实现,可用于快速精准的识别开源代码中的潜在漏洞,同时借助基于漏洞知识图谱的本地漏洞库,可以科学的评估出现漏洞的危险等级,锁定相应代码段,为用户提供切实可行的修复方案,并有效的帮助企业级项目开发提升信息安全能力和等级
许可证合规性
基于大规模数据库和文本分类算法实现,可用于开源项目的许可证识别与冲突检测,分析结果主要包括概要信息、许可证文件列表、许可证冲突列表以及许可证冲突详情等内容,可为用户提供准确可靠、清晰易懂、多维度多层次的许可证使用与条款级冲突检测结果,支持GPL、MIT、木兰宽松许可证等超3000种许可证
软件成分分析
基于大规模文件扫描和文件匹配,可精准识别出项目中特定的配置文件,同时可解析各种复杂形式的依赖关系文件和配置文件,生成项目的软件依赖成分列表和物料清单,包含组件信息、组件许可证信息,组件漏洞信息,利用开源成分分析自主开发的程度
漏洞情报知识库
基于知识图谱,通过不断扩展的数据源,从漏洞的不用角度来丰富多维的漏洞视角,快速掌握漏洞影响范围、影响软件版本、影响代码片段、CPE、修复版本、补丁、PoC、漏洞细节、缓解措施、安全公告、参考链接等,数据源领先,云端漏洞情报中心实时跟踪全球情报源,将不同来源漏洞自动完成漏洞知识融合与纠错
|
C/C++
|
Java
|
JavaScript
|
C#
|
Python
|
PHP
|
Ruby
|
GO
|
Ruby
|
GO
|
CVE
|
CNVD
|
CNNVD
|
GPL
|
BSD
|
LGPL
|
MIT
API接口层
API网关
负载均衡
业务服务层
大规模高性能代码扫描
开源软件合规性分析
开源软件安全情报共享与处置机制
业务服务层
代码成分分析
组件分析
漏洞分析
代码合规性检测
组件监测
监测策略
告警
业务服务层
密码安全分析
代码缺陷检测
知识产权分析
安全信息中心
安全情报信息挖掘
基础服务层
服务
工具
基础服务层
系统设置
系统监控
异步队列
日志审计
辅助功能
数据层
数据缓存
事务
读写数据库
缓存过期控制
文件读写
数据同步
数据库
基础数据库
用户及检测数据库
数据库
开源代码库
漏洞信息库
开源组件信息库
开源组件依赖信息库
开源许可证信息库
闭源库
用户信息库
检测项目信息库
运行环境
云服务器
独立文件服务器
国产化支持
操作系统
中间件