[240711] OpenSSF Scorecard - 自动评估开源项目安全风险的工具

目录

    • OpenSSF Scorecard - 自动评估开源项目安全风险的工具
      • 功能特点
      • 使用场景
      • 安装和使用
      • 竞品和相关项目
      • 进一步探索

OpenSSF Scorecard - 自动评估开源项目安全风险的工具

OpenSSF Scorecard 是一个由开源安全基金会(Open Source Security Foundation,OpenSSF)开发的项目,它用于自动化评估开源项目的安全性和最佳实践遵从情况。

功能特点

  1. 安全检查

    • 二进制文件:检查项目中是否包含未编译的二进制文件,这些文件可能存在安全隐患。
    • 分支保护:检查是否启用了分支保护以防止未经审查的代码被合并。
    • CI 测试:检查是否使用持续集成(CI)工具来自动化测试。
    • CII 最佳实践:检查项目是否遵循开放源代码安全基金会的最佳实践。
    • 代码审查:检查代码是否经过审查和批准。
    • 贡献者:检查项目是否有多家贡献者,以确保项目的健康和活跃度。
    • 危险工作流:检查工作流中是否存在潜在的安全风险。
    • 依赖更新工具:检查是否使用工具来自动更新依赖项。
    • 模糊测试:检查是否对项目进行模糊测试以发现隐藏的漏洞。
    • 许可证:检查项目是否包含许可证文件。
    • 维护:检查项目的活跃度和维护情况。
    • 打包:检查项目是否有打包工作流。
    • 依赖固定:检查依赖项是否固定在特定版本,以防止依赖项变动引起的问题。
    • 静态应用安全测试(SAST):检查是否使用静态分析工具来发现代码中的漏洞。
    • 安全策略:检查项目是否包含安全策略文件。
    • 签名发布:检查发布版本是否经过签名以确保其完整性。
    • 令牌权限:检查GitHub工作流中使用的令牌权限是否过高。
    • 漏洞:检查项目是否存在已知的漏洞。
  2. 综合评分

    • 每个安全检查项都会生成一个分数,分数范围从 0 到 10,分数越高表示项目的安全性越好。
    • 这些分数会汇总成项目的总分,提供一个整体的安全性评估。
  3. 自动化

    • 支持在持续集成和持续部署(CI/CD)流程中自动化安全检查。
    • 可以集成到 GitHub Actions 等 CI 工具中,自动化执行安全检查并生成报告。
  4. 可扩展性

    • 支持自定义安全检查规则和配置,以满足特定项目的需求。
    • 提供插件机制,用户可以根据需要扩展工具的功能。

使用场景

  1. 项目自检

    • 开发者可以使用 Scorecard 对自己的开源项目进行安全性评估,识别并改进安全问题。
  2. 第三方审查

    • 企业和组织可以使用 Scorecard 对第三方开源项目进行安全性评估,确保引入的开源组件是安全的。
  3. 社区贡献

    • 开源社区可以使用 Scorecard 提高项目的安全标准,吸引更多的贡献者和用户。

安装和使用

  1. 安装

    • 使用 Nix 包管理器 (NixOS):

      nix-shell -p nixpkgs.scorecard
      
    • AUR 助手 (Arch Linux):

      yay install scorecard
      
    • Homebrew (macOS or Linux):

      brew install scorecard
      
    • x-cmd/pkg (Linux、macOS、WSL or Git-Bash):

      x env use scorecard
      
  2. 运行检查

    • 创建具有 “public_repo” 作用域的 GitHub 个人访问令牌

       export GITHUB_AUTH_TOKEN=ghp_XXXXXXXXXXXXXXXXXXXXXXXXXX
      
    • 使用命令行运行安全检查,例如:

      scorecard --repo=github.com/ossf-tests/scorecard-check-branch-protection-e2e
      
    • 这将对指定的 GitHub 仓库运行所有默认的安全检查,并生成一个报告。
      在这里插入图片描述

  3. 自定义配置

    • 用户可以创建自定义配置文件,以调整检查的行为和参数。
    • 配置文件可以指定要执行的检查项、检查项的权重以及其他特定的设置。

竞品和相关项目

  1. GitHub Advanced Security : 适用于 GitHub Enterprise Cloud 和 GitHub Enterprise Server 上的企业帐户。GitHub Advanced Security 的某些功能也可用于 GitHub.com 上的公共仓库。

  2. fossa-cli :一个零配置多语言依赖性分析工具。您可以将 fossa CLI 指向任何代码库或构建,它会自动检测您的项目正在使用的依赖项。

进一步探索

  • OpenSSF Scorecard GitHub - Scorecard 项目的源代码托管在 GitHub,你可以在这里找到最新版本的 Scorecard 和参与社区贡献。

更多内容请查阅 : blog-240711


关注微信官方公众号 : oh my x

获取开源软件和 x-cmd 最新用法

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/44905.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

初学SpringMVC之 RestFul 风格、重定向和转发

RestFul 风格改变 URL 形式 比如之前是:http://localhost:8080/add?a1&b2 现在是:http://localhost:8080/add/a/b(全是斜杠) package com.demo.controller;import org.springframework.stereotype.Controller; import org…

odoo细分权限(根据业务需求)

odoo原生权限编写方式: 根据用户组分配权限 id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink access_sale_order,sale.order,model_sale_order,sales_team.group_sale_salesman,1,1, 1,0 access_sale_order_manager,sale.order.manager,model_…

kaggle提交csv文件

使用colab完成实验后 将要提交的csv文件拖到kaggle网站自己加入的competition就行 如果kaggle网站无法注册,往往是人机验证问题: kaggle网站验证

邮票孔是什么?和V割有什么区别?

邮票孔,也称为安装孔或通孔,是 PCB 中的圆形或非圆形开口,旨在允许将组件或 PCB 本身连接到支撑结构上。这些孔通常从顶面到底部钻穿或冲穿 PCB 层,形成连续的通道。冲压孔有各种尺寸和形状, 取决于 PCB 及其所容纳组件…

餐饮渠道年销4.2亿盒,光明look 30亿的极致大单品是如何策划的?

餐饮渠道年销4.2亿盒,光明look 30亿的极致大单品是如何策划的? 红酒代理业务下滑,从餐饮渠道主攻奶品类 雨帆食品集团,自2002年起是湖北地区红酒代理商,同时兼任光明乳业湖北荆州代理商。然而,到了2011年&a…

python--实验 9 类和对象

知识点 面向对象编程思想 面向对象编程是一种编程范式,它使用“对象”来设计软件,这些对象可以包含数据和代码,即属性和方法。 面向对象的程序设计的核心是对象,世间存在的万物皆为对象(上帝式思维) 面向对象&#xf…

TomCat服务器安装和配置教程

1.TomCat下载路径 TomCat官方网站:http://tomcat.apache.org 前往该网站下载安装tomcat,tar.gz文件是Linux操作系统的安装版本,zip文件是 windows操纵系统的压缩版本 打开后是如下网站,请下载匹配的操作系统的文件并且选择合适的…

2023 年 GitHub 上最受欢迎的编程语言

JavaScript 仍然是使用最多的编程语言,在 Web 开发中占据重要地位。 被广泛用于 Web 应用程序开发,框架如 React 和 Angular 促进了单页应用程序的开发。 Node.js 的出现使其在后端编程中同样重要。 Python 由于其简单性和广泛的库,Pyth…

自注意力简介

在注意力机制中,每个查询都会关注所有的键值对并生成一个注意力输出。如果查询q,键k和值v都来自于同一组输入,那么这个注意力就被称为是自注意力(self-attention)。自注意力这部分理论,我觉得台大李宏毅老师…

新兴商业模式如何破局?市场策划专家的实战指南

在这个融合了传统市场、互联网和信息技术的大潮中,想要在市场营销策划上玩得转,咱们得有超凡的全局思维和跨界的协作精神。 下面,我就来和大家聊聊如何在这样一个复杂环境下搞定市场营销策划,让你在竞争激烈的市场中脱颖而出。 …

Nodejs 第八十二章(Nacos动态配置)

什么是动态配置? 在Nacos中,动态配置是指可以在运行时动态修改应用程序的配置信息,而不需要重新启动或重新部署应用程序。通过Nacos的动态配置功能,开发人员可以将应用程序的配置信息存储在Nacos服务器中,并在需要时进…

PTK是如何加密WLAN单播数据帧的?

1. References WLAN 4-Way Handshake如何生成PTK?-CSDN博客 2. 概述 在Wi-Fi网络中,单播、组播和广播帧的加密算法是由AP决定的。其中单播帧的加密使用PTK密钥,其PTK的密钥结构如下图所示: PTK的组成如上图所示,由K…

做一个专业的声音分析系统,需要对声音那些评判标准进行计算

为了构建一个专业的声音分析系统,需要对以下评判标准进行计算。每个标准需要相应的算法和技术指标来实现。下面是一些关键的评判标准和如何计算这些标准的具体方法: 1. 音质 清晰度 信噪比(SNR):计算音频信号中的信…

win11下部署Jenkins,build c#项目

一个c#的项目,由于项目经理总要新版本测试,以前每次都是手动出包,现在改成jenkins自动生成,节省时间。 一、下载Jenkins, 可以通过清华镜像下载Index of /jenkins/windows-stable/ | 清华大学开源软件镜像站 | Tsingh…

前端使用pinia中存入的值

导入pinia,创建pinia实例 使用pinia中的值

mysql8多值索引

MySQL8新出了一个多值索引,我还没体验过呢,今天试一试。 建表 我先建个表试一试多值索引的效果。我粗略地看了下多值索引的介绍,发现是只适用于数组类型的。所以我建一个含有数组字段的表试一试。语法还是挺麻烦的: create tabl…

2.电容(常见元器件及电路基础知识)

一.电容种类 1.固态电容 这种一般价格贵一些,ESR,ESL比较低,之前项目400W电源用的就是这个,温升能够很好的控制 2.铝电解电容 这种一般很便宜,ESR,ESL相对大一些,一般发热量比较大,烫手。 这种一般比上一个贵一点&am…

开源公司网站源码系统,降低成本,提升效率 附带完整的安装代码包以及搭建教程

系统概述 开源公司网站源码系统是一个基于开源技术的网站建设解决方案。它提供了完整的网站框架和功能模块,允许企业快速搭建起一个功能齐全、设计美观的企业网站。该系统不仅降低了网站开发的成本,还大大提高了建设效率,使企业能够更快地将…

泛微开发修炼之旅--37通过js实现监听下拉框,并触发后端接口,改变其他控件内容的实现方法与源码(含pc端和移动端实现)

文章链接:37通过js实现监听下拉框,并触发后端接口,改变其他控件内容的实现方法与源码(含pc端和移动端实现)

游戏AI的创造思路-技术基础-决策树(2)

上一篇写了决策树的基础概念和一些简单例子,本篇将着重在实际案例上进行说明 目录 8. 决策树应用的实际例子 8.1. 方法和过程 8.1.1. 定义行为 8.1.2. 确定属性 8.1.3. 构建决策树 8.1.4. 实施行为 8.1.5. 实时更新 8.2. Python代码 8. 决策树应用的实际例子…