fossa介绍和使用

1.介绍

开源是您软件的重要组成部分。在一般的现代软件产品中,超过 80% 的源代码来自开源。每个组件都可能对您的客户产生级联的法律、安全和质量影响,使其成为正确管理的最重要的事情之一。
FOSSA 可帮助您管理开源组件。我们插入您的开发工作流程,以帮助您的团队自动跟踪、管理和修复您使用的开源问题:
1、遵守软件许可证并生成所需的归属文件
2、在整个 CI/CD 工作流程中实施使用和许可政策
3、监控和修复安全漏洞
4、主动标记代码质量问题和过时的组件

2.安装

https://github.com/fossas/fossa-cli/releases

3.使用

fossa 配置文件.fossa.yml是位于项目根目录的可选文件,可用于配置项目设置。
在要上传项目的根目录,创建.fossa.yaml

version: 3
server: https://app.fossa.com       #设置 CLI 将向其发送请求的端点。
apiKey:xxxxx            #设置访问 FOSSA API 和上传数据(例如)或检索有关项目的信息(例如)所需的FOSSA API 密钥。
project:
  id: "register-server"           #项目 ID 定义了 FOSSA API 将用于引用此项目的唯一 ID。
  name: register-server           #名称字段设置 FOSSA 仪表板中的项目可见名称。默认情况下,这将设置为项目的 ID。
  team: KEVIN                  #您的 FOSSA 组织中与此项目相关联的团队名称。
paths:
  exclude:               
    - ./.fossa.yml           #路径过滤部分允许您指定哪些路径应该被扫描,哪些不应该被扫描。这些路
    - ./build               #径应该被列为它们从项目根目录的位置。
    - ./Docs
    - ./.git
    - ./doc
    - ./docs
    - ./etc
    - ./gitlab
    - ./pkg/mod

.fossa.yaml参数配置参考:
https://github.com/fossas/fossa-cli/blob/master/docs/references/files/fossa-yml.md

Fossa-deps 文件是一个以fossa-deps.{yaml, yml, json}项目根目录命名的文件。它可用于提供手动和供应商依赖项,在这里我用到的是指定源码扫描。

vendored-dependencies:
- name: Django
  path: vendor/Django
  version: 3.4.16

演示go项目操作流程

set GO111MODULE=on
set GOPROXY=https://goproxy.io
GO111MODULE=on go mod init     #生成go mod 文件
GO111MODULE=on go mod tidy     #更新依赖
GO111MODULE=on go mod download  #下载依赖
GO111MODULE=on fossa analyze --experimental-enable-binary-discovery   #go执行上传命令

执行fossa上传命令

fossa analyze --experimental-enable-binary-discovery

在这里插入图片描述

注意事项:
1、必须build后扫描,python、shell除外
2、针对Go语言,须采用Go mod方式
3、大量ISSUE时,通常是图片、二进制、证书等文件类型,往往误报,避免耗时澄清,采用.fossa.yaml 过滤
4、少量ISSUE时,No License Found & Flagged Policy,研发在Comment中澄清如下信息,各系统负责人确认resolve,将开发提供的信息填充即可
License:
Homepage:
LicenseURL:
5、UNKOWN DEEPDENDICES的情况,目前除组件自身的build外,其余情况要单独分析和确认。其中发现Fossa的对于Python误报情况,举例说明:

6.出现No license found,请查看是否属于误报,如有误报,请标记Resolved

7.如果出现GPL,LGPL等协议,请标记在Resolved中

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值