首页 > 其他分享 >甲方安全建设之研发安全-SCA

甲方安全建设之研发安全-SCA

时间:2024-04-08 16:34:38浏览次数:25  
标签:cli python SCA 甲方 安全 xx https 网安 Docker

前言

大多数企业或多或少的会去采购第三方软件,或者研发同学在开发代码时,可能会去使用一些好用的软件包或者依赖包,但是如果这些包中存在恶意代码,又或者在安装包时不小心打错了字母安装了错误的软件包,则可能出现供应链攻击。因此去识别采购或者自研项目中的软件包,来保证其版本足够新、不存在恶意代码是解决供应链的一项重要措施,而SCA(软件成分分析)可以帮助完成这一动作。

OpenSCA-cli

下载地址:https://github.com/XmirrorSecurity/OpenSCA-cli 使用方法:首先使用了Docker的方式,快速扫描本地:docker run -ti --rm -v ${PWD}:/src opensca/opensca-cli笔者选择了一个自身的python项目,没发现风险:

image.png

不知道是不是Docker中没漏洞数据库还是Docker中的自带的漏洞数据库太少导致。再次尝试使用Docker连接其SAAS云端的方式进行扫描,发现可能是Docker内应用程序问题,导致TLS验证失败:

Get "https://opensca.xmirror.cn/oss-saas/api-v1/open-sca-client/aes-key?clientId=SxxxZVL&ossToken=xx-xx-xx-xx-xx": tls: failed to verify certificate: x509: certificate signed by unknown autho

反正核心都是使用opensca-cli ,因此直接使用Github下载的二进制文件进行了本地扫描:

 -token xe43dxxf55-xx-xx-xx-xxx -proj "" -path ${待检测目标路径}

云端还是能扫出不少东西的:

image.png

DependencyTrack

下载地址:https://github.com/DependencyTrack/dependency-track参考官方文档:https://docs.dependencytrack.org/getting-started/deploy-docker/这里使用Docker启动,且先不使用数据库:

curl -LO https://dependencytrack.org/docker-compose.yml
​
docker-compose up -d

根据docker-compose.yml内容,frontend前端端口是8080,访问8080,使用admin/admin登录:

image.png

【----帮助网安学习,以下所有学习资料免费领!加vx:dctintin,备注 “博客园” 获取!】

 ① 网安学习成长路径思维导图
 ② 60+网安经典常用工具包
 ③ 100+SRC漏洞分析报告
 ④ 150+网安攻防实战技术电子书
 ⑤ 最权威CISSP 认证考试指南+题库
 ⑥ 超1800页CTF实战技巧手册
 ⑦ 最新网安大厂面试题合集(含答案)
 ⑧ APP客户端安全检测指南(安卓+IOS)

这里依然以python项目为例,使用python-sbom生成工具生成sbom:https://github.com/CycloneDX/cyclonedx-python

python -m pip install cyclonedx-bom
​
python3 -m cyclonedx_py -h
​
python3 -m cyclonedx_py  requirements -o out.json

然后到Projects->Create project->Components->Upload BOM上传生成的BOM即可。

image.png

发现一个问题,就以python为例,DependencyTrack解析的是requirements等方式来获取的软件清单,相比于OpenSCA-cli少了很多,比如hostScan项目中的requirements.txt文件里面的包就是17个,DependencyTrack识别到的就是17个:

image.png

而OpenSCA-cli会发现一些依赖的包:

image.png

更多网安技能的在线实操练习,请点击这里>>

  

标签:cli,python,SCA,甲方,安全,xx,https,网安,Docker
From: https://www.cnblogs.com/hetianlab/p/18121623

相关文章

  • 高性价比国产安全MCU-LKT6850
    LKT6850是一款以32位ARMCortexTM-M0处理器内核为基础的高性价比安全MCU。LKT6850具有最高64KBFlash、4KBRAM、48MHZ工作频率,具有丰富的外设资源供开发人员使用。芯片可实现DES/3DES/AES/SM4等对称算法,可实现多种安全身份认证、数据加解密等功能。该产品广泛应用于各种产品和行业......
  • 《0 基础开启信息安全之旅,带你洞察未来趋势!》
    在这个数字化的时代,信息安全变得至关重要。即使你是零基础,也无需担心,因为每个人都可以踏上信息安全的学习之路。本文将为你提供一份全面的指南,帮助你从零开始,逐步深入信息安全的世界。一、明确学习目标确定你想要达到的目标,是成为专业的信息安全专家,还是仅仅了解基本的信......
  • 企业工程项目管理系统源码(三控:进度组织、质量安全、预算资金成本、二平台:招采、设计管
    工程项目管理软件(工程项目管理系统)对建设工程项目管理组织建设、项目策划决策、规划设计、施工建设到竣工交付、总结评估、运维运营,全过程、全方位的对项目进行综合管理   工程项目各模块及其功能点清单一、系统管理    1、数据字典:实现对数据字典标签的增删改查操作......
  • 构建高性能,可伸缩,高可用,安全,自动化,可溯源,整体式应用构架体系【0到1架构系列】
    系统架构图高性能,可伸缩,高可用,安全,自动化,可溯源构架-----------------------目录------------------------------------1.1系统架构图-----------------------前置------------------------------------2.1ESXI6.5零基础从安装到批量生成/管理虚拟机简易教程--------......
  • 软件项目管理资料大全(开发+实施+运维+安全+交付)
        前言:在软件项目管理中,每个阶段都有其特定的目标和活动,确保项目的顺利进行和最终的成功交付。以下是软件项目管理各个阶段的详细资料:软件项目全套文档资料下载:点我获取1.需求阶段目标:收集、分析和定义用户需求和业务目标。主要活动:需求调研:与用户沟通,了解他们的......
  • 在Linux中,如何配置SSH以确保远程连接的安全?
    在Linux中,可以通过以下步骤配置SSH以确保远程连接的安全:更新SSH软件包:首先,确保已安装最新版本的OpenSSH软件包。在终端中运行以下命令来更新软件包:sudoapt-getupdatesudoapt-getupgradeopenssh-server修改SSH端口:默认情况下,SSH服务器使用端口22。为了......
  • JAVA安全漫谈1-8笔记
    一.反射篇1classloader就是java的类加载器,告诉虚拟机如何加载这个类。默认情况下根据类名来加载类,类名必须是完整路径publicclassclass_init{{System.out.println("123");}static{System.out.println("456");}publicclas......
  • Java安全入门基础知识篇-01
    1.Intellij一些快捷键intell常用快捷键:ctrl+n快速查找定位类的位置ctrl+q快速查看某个类的文档信息shift+F6快速类、变量重命名ctrl+i在当前类实现接口的方法ctrl+o复写基类的方法ctrl+shift+空格推荐适用于当前函数的变量alt+insert快速设置类的方法ct......
  • 如何实现安全可控的跨网文件交换?这篇文章告诉你
    网络隔离的目的是为了提高网络的安全性,防止潜在的安全威胁和数据泄露。一般党政机构、金融、医疗、能源电力、生物医药,以及研发型的企业,大部分会做隔离。隔离之后,不同网络之间不互通,所以还会再去寻找一些跨网文件交换的产品,来支持业务流转。进行网络隔离的主要原因主要是有以下......
  • 【优化】INDEX FULL SCAN (MIN/MAX)访问路径
    Oracle对单独使用max或min函数时给出了一种非常高效的访问路径,就是“INDEXFULLSCAN(MIN/MAX)”,该方法可以避免索引的全部读取,进一步提高数据结果的获取效率。通过这个实验简单记录一下。1.创建测试表createtableT(xINTEGER,yINTEGER,zINTEGER); 我们先......