FOSSID快速使用步骤

本文提供了一步一步的FOSSID使用指南,包括新建项目、分配角色、创建扫描、上传代码、设置参数、扫描代码、查看文件展示、确认扫描结果、生成报告及分析报告的关键步骤。强调了在扫描过程中要注意的设置和确认过程,以及报告中的关键指标,如开源代码占比、许可证合规性、安全漏洞和软件著作权管理。
部署运行你感兴趣的模型镜像

登陆以后,打开向导

根据向导新建项目,输入project code和project name,点击create

注意:project name必须输入,Project Code可以自动生成。

分配角色,点击Done

创建scan,输入scan code和scan name,点击create

上传代码,点击browse上传或拖动文件。注意,文件夹请压缩

代码上传完成以后,点击done,进入扫描参数设置界面

设置扫描参数,点击scan,开始扫描代码

说明:

  1. 设置匹配结果的最大显示数目

  2. 设置代码片段扫描的灵敏度,设置的数值表示可以匹配到的最少的代码行数(最小为6)

  3. 自动检测文件内部的License 声明

  4. 自动检测文件内部包含的版权声明

     

如果扫描时间比较长,则在扫描结束后,直接在扫描列表中点击扫描名称,则也可跳转到文件展示页面,查看文件扫描结果。

扫描结束后,会自动跳转到文件展示页面。文件展示页面,说明

说明:

1:根据过滤项显示文件列表

2:所有文件

3:待确认文件

4:已经确认过的文件

5:没有匹配结果的文件

6:显示的匹配到的组件

扫描结果确认

注意:扫描结果确认主要是从扫描匹配的结果中选择所需要的项目。其中,All files列出所有的扫描文件,Pending identification 是待确认文件,marked as identified是已经确认的文件,without matches是没有匹配结果的文件。扫描结果确认就是确认Pending identification下的文件。

 

  1. 组件确认,即一次确认多个文件,选择确认图标,在确认页面选择apply。确认过的文件在“marked as identified”页签中可见。

  1. 一次确认一个文件。从匹配列表中选择合适的组件,点击“use as identification”图标,再点击“mark as identified”图标,完成确认过程。

生成报告

选择“Generate Report”。在“Generate Report”页面,选择合适的类型,生成报告。

查看并分析报告

报告生成后,可以直接在线打开,也可以存储为PDF文档。大多数用户看报告,会注意以下几点:

 

  1. 开源代码占比。这里指涉及开源代码的文件数占总文件数的比例;

  2. 开源许可证占比。这里指涉及使用不同开源许可证的文件数占总开源文件数的比例;

  3. 开源许可证的合规性。这里主要检查是否存在类似GPL的传染性许可证,因为此类型许可证要求用户必须使用同类型许可证再开源,也不允许商用。一旦用户违规商业,可能会面临法律风险。建议用户谨慎处理。

  4. 被动引入的安全漏洞。报告中会列出全部由于用户使用这些开源代码可能会引入的安全漏洞(美国安全漏洞库链接),并给出安全等级和严重程度。建议用户根据实际情况进行处理。

  5. 软件著作权。报告中还会显示某些开源软件中带有的软件著作权(Copyright)信息,这些信息也建议用户谨慎处理,避免可能的法律风险。

  6. 开源组件的管理。报告中会详细列出被扫描软件包中使用的开源软件组件信息(包括许可证和安全漏洞信息),便于软件研发企业或者使用部门进行开源组件的管理。

您可能感兴趣的与本文相关的镜像

GPT-oss:20b

GPT-oss:20b

图文对话
Gpt-oss

GPT OSS 是OpenAI 推出的重量级开放模型,面向强推理、智能体任务以及多样化开发场景

Applying ./patches/304-fix_default_bootcmd.patch using plaintext: patching file tools/env/fw_env_private.h Hunk #1 succeeded at 41 (offset -1 lines). Hunk #2 succeeded at 53 (offset -1 lines). touch /ge550v1/qca_95xx_12_2/build_dir/target-aarch64/u-boot-2022.01/.prepared_37da1ec8733136d808e634953c70acb0_6664517399ebbbc92a37c5bb081b5c53 if [[ "" == *'s'* ]]; then [[ -f "/ge550v1/qca_95xx_12_2/scripts/fossid.sh" ]] && /ge550v1/qca_95xx_12_2/scripts/fossid.sh --build_scan "ipq95xx" "generic" "/ge550v1/qca_95xx_12_2/build_dir/target-aarch64/u-boot-2022.01" "/ge550v1/qca_95xx_12_2/build_dir/target-aarch64" "" || echo "/ge550v1/qca_95xx_12_2/scripts/fossid.sh is missing"; fi rm -f /ge550v1/qca_95xx_12_2/build_dir/target-aarch64/u-boot-2022.01/.configured_* rm -f /ge550v1/qca_95xx_12_2/staging_dir/target-aarch64/stamp/.uboot-envtools_installed touch /ge550v1/qca_95xx_12_2/build_dir/target-aarch64/u-boot-2022.01/include/config.h mkdir -p /ge550v1/qca_95xx_12_2/build_dir/target-aarch64/u-boot-2022.01/include/config touch /ge550v1/qca_95xx_12_2/build_dir/target-aarch64/u-boot-2022.01/include/config/auto.conf mkdir -p /ge550v1/qca_95xx_12_2/build_dir/target-aarch64/u-boot-2022.01/include/generated touch /ge550v1/qca_95xx_12_2/build_dir/target-aarch64/u-boot-2022.01/include/generated/autoconf.h touch /ge550v1/qca_95xx_12_2/build_dir/target-aarch64/u-boot-2022.01/.configured_68b329da9893e34099c7d8ad5cb9c940 rm -f /ge550v1/qca_95xx_12_2/build_dir/target-aarch64/u-boot-2022.01/.built touch /ge550v1/qca_95xx_12_2/build_dir/target-aarch64/u-boot-2022.01/.built_check CFLAGS="-Os -pipe -march=armv8-a -mcpu=cortex-a73+crypto -fno-caller-saves -fno-plt -Wa,--noexecstack -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -iremap/ge550v1/qca_95xx_12_2/build_dir/target-aarch64/u-boot-2022.01:u-boot-2022.01 -Wformat -Werror=format-security -fPIC -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wl,-z,now -Wl,-z,relro -I/ge550v1/qca_95xx_12_2/staging_dir/target-aarch64/usr/include -I/ge550v1/qca_95xx_12_2/staging_dir/target-aarch64/include -I/ge550v1/qca_95xx_12_2/staging_dir/toolchain-aarch64/usr/include -I/ge550v1/qca_95xx_12_2/staging_dir/toolchain-aarch64/include/fortify -I/ge550v1/qca_95xx_12_2/staging_dir/toolchain-aarch64/include " CXXFLAGS="-Os -pipe -march=armv8-a -mcpu=cortex-a73+crypto -fno-caller-saves -fno-plt -Wa,--noexecstack -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -iremap/ge550v1/qca_95xx_12_2/build_dir/target-aarch64/u-boot-2022.01:u-boot-2022.01 -Wformat -Werror=format-security -fPIC -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wl,-z,now -Wl,-z,relro -I/ge550v1/qca_95xx_12_2/staging_dir/target-aarch64/usr/include -I/ge550v1/qca_95xx_12_2/staging_dir/target-aarch64/include -I/ge550v1/qca_95xx_12_2/staging_dir/toolchain-aarch64/usr/include -I/ge550v1/qca_95xx_12_2/staging_dir/toolchain-aarch64/include/fortify -I/ge550v1/qca_95xx_12_2/staging_dir/toolchain-aarch64/include " LDFLAGS="-L/ge550v1/qca_95xx_12_2/staging_dir/target-aarch64/usr/lib -L/ge550v1/qca_95xx_12_2/staging_dir/target-aarch64/lib -L/ge550v1/qca_95xx_12_2/staging_dir/toolchain-aarch64/usr/lib -L/ge550v1/qca_95xx_12_2/staging_dir/toolchain-aarch64/lib -fPIC -specs=/ge550v1/qca_95xx_12_2/include/hardened-ld-pie.specs -znow -zrelro " make -C /ge550v1/qca_95xx_12_2/build_dir/target-aarch64/u-boot-2022.01/. AR="aarch64-openwrt-linux-musl-gcc-ar" AS="aarch64-openwrt-linux-musl-gcc -c -Os -pipe -march=armv8-a -mcpu=cortex-a73+crypto -fno-caller-saves -fno-plt -Wa,--noexecstack -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -iremap/ge550v1/qca_95xx_12_2/build_dir/target-aarch64/u-boot-2022.01:u-boot-2022.01 -Wformat -Werror=format-security -fPIC -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wl,-z,now -Wl,-z,relro" LD=aarch64-openwrt-linux-musl-ld NM="aarch64-openwrt-linux-musl-gcc-nm" CC="aarch64-openwrt-linux-musl-gcc" GCC="aarch64-openwrt-linux-musl-gcc" CXX="aarch64-openwrt-linux-musl-g++" RANLIB="aarch64-openwrt-linux-musl-gcc-ranlib" STRIP=aarch64-openwrt-linux-musl-strip OBJCOPY=aarch64-openwrt-linux-musl-objcopy OBJDUMP=aarch64-openwrt-linux-musl-objdump SIZE=aarch64-openwrt-linux-musl-size CROSS="aarch64-openwrt-linux-musl-" ARCH="aarch64" TARGET_CFLAGS="-Os -pipe -march=armv8-a -mcpu=cortex-a73+crypto -fno-caller-saves -fno-plt -Wa,--noexecstack -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -iremap/ge550v1/qca_95xx_12_2/build_dir/target-aarch64/u-boot-2022.01:u-boot-2022.01 -Wformat -Werror=format-security -fPIC -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wl,-z,now -Wl,-z,relro" TARGET_LDFLAGS="-L/ge550v1/qca_95xx_12_2/staging_dir/target-aarch64/usr/lib -L/ge550v1/qca_95xx_12_2/staging_dir/target-aarch64/lib -L/ge550v1/qca_95xx_12_2/staging_dir/toolchain-aarch64/usr/lib -L/ge550v1/qca_95xx_12_2/staging_dir/toolchain-aarch64/lib -fPIC -specs=/ge550v1/qca_95xx_12_2/include/hardened-ld-pie.specs -znow -zrelro" no-dot-config-targets=envtools envtools ; make[5]: Entering directory `/ge550v1/qca_95xx_12_2/build_dir/target-aarch64/u-boot-2022.01' Makefile:40: *** missing separator. Stop. make[5]: Leaving directory `/ge550v1/qca_95xx_12_2/build_dir/target-aarch64/u-boot-2022.01' make[4]: *** [/ge550v1/qca_95xx_12_2/build_dir/target-aarch64/u-boot-2022.01/.built] Error 2 make[4]: Leaving directory `/ge550v1/qca_95xx_12_2/package/boot/uboot-envtools' time: package/boot/uboot-envtools/compile#2.08#0.43#2.31 make[3]: *** [package/boot/uboot-envtools/compile] Error 2 make[3]: Leaving directory `/ge550v1/qca_95xx_12_2' make[2]: *** [/ge550v1/qca_95xx_12_2/staging_dir/target-aarch64/stamp/.package_compile] Error 2 make[2]: Leaving directory `/ge550v1/qca_95xx_12_2' make[1]: *** [world] Error 2 make[1]: Leaving directory `/ge550v1/qca_95xx_12_2' make: *** [sdk] Error 2 huaxi@fd4bb9d5f3ca:/ge550v1/Iplatform/build$
09-04
fossid是一种用于判断软件代码是否采用开源或自研原则的工具。开源原则是一种软件开发模式,其核心理念是公开、透明和共享。开源软件的源代码对大众免费开放,任何人都可以查看、修改和再分发。fossid通过检测软件中使用的第三方开源组件或库来判断是否采用开源原则。 首先,fossid通过扫描软件代码和依赖库,识别出代码中所使用的开源组件。这些开源组件的源代码通常是公开的,使用它们的软件也必须遵守相应的开源许可协议,如GPL或MIT。fossid能够识别这些许可协议并对其进行分类,以判断软件是否使用了开源原则。 其次,fossid还可以分析软件代码中的特定模式、结构和命名约定等信息,以判断其是否符合开源原则。开源软件通常遵循一些共同的开发规范和最佳实践,如使用开源工具链、遵循良好的模块化设计等。fossid会对这些特征进行检测和分析,从而判断软件是否采用了开源原则。 自研原则是指软件的代码完全由团队独立开发的原则。与开源不同,自研软件的源代码未公开,不对外共享。fossid通过与其自身的数据库和模型进行比对来判断软件是否采用了自研原则。如果软件中的代码没有与数据库中的开源组件或代码片段相匹配,fossid会认为该软件采用了自研原则。 综上所述,fossid可以通过扫描软件的代码以及对特定模式和结构的分析,来判断软件是否使用了开源或自研原则。它是一种非常有用的工具,能够帮助开发者和组织遵守开源许可协议、管理软件中的开源组件,并确保软件的可靠性和合规性。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值