自学内容网 自学内容网

[240711] 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 最新用法


原文地址:https://blog.csdn.net/edwinjhlee/article/details/140353746

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!