Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
scorecard — OpenSSF Scorecard - 开源项目的安全健康指标 | Kitploit
工具/GitHubGitHub/ossf/scorecard
漏洞分析代码分析配置审计DevSecOps秘密检测威胁情报供应链安全
GitHubossf/scorecard

scorecard

OpenSSF Scorecard - 开源项目的安全健康指标

查看仓库
5.6k6976天前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
网站

OpenSSF Scorecard

OpenSSF Scorecard OpenSSF Best Practices build CodeQL Go Reference Go Report Card codecov SLSA 3 Slack

概述

  • 什么是 Scorecard?
  • 知名 Scorecard 用户
  • 查看项目评分
  • Scorecard 公开数据

使用 Scorecard

  • Scorecard GitHub Action
  • Scorecard REST API
  • Scorecard Badges
  • Scorecard 命令行界面
    • 前置条件
    • 安装
    • 身份验证
    • 基本用法

检查项

  • 默认 Scorecard 检查项
  • 检查项详细文档(评分标准、风险与修复措施)
  • Scorecard 检查项初学者指南

其他重要建议

  • 双因素认证 (2FA)

评分

  • 综合评分

贡献

  • 报告问题
  • 行为准则
  • 为 Scorecard 做贡献
  • 添加新检查项
  • 联系 Scorecard 社区
  • 报告安全问题

常见问题

  • 常见问题

概述

什么是 Scorecard?

我们创建 Scorecard 的目的是帮助开源维护者改进其安全最佳实践,并帮助开源消费者判断其依赖项是否安全。

Scorecard 是一款自动化工具,用于评估与软件安全相关的一系列重要启发式方法(“检查项”),并为每个检查项分配 0-10 的分数。您可以使用这些分数了解具体需要改进的领域,以增强项目的安全态势。您还可以评估依赖项引入的风险,并就接受这些风险、评估替代方案或与维护者合作进行改进做出明智的决策。

Scorecard 标志的灵感来源:“你通过了!全是 D……还有一个 A!”

项目目标

  1. 自动化分析并做出关于开源项目安全态势的信任决策。

  2. 利用这些数据主动提高世界所依赖的关键项目的安全态势。

  3. 作为现有政策的衡量工具

    如果开源软件消费者对其依赖项有特定行为要求,Scorecard 可用于衡量这些行为。在 V5 版本中,我们认为如果有受支持的分析,结构化结果(Structured Results)是实现这一目标的一种方式。与其依赖 X/10 的综合评分或 Y/10 的维护评分,开源软件消费者可能希望确保其依赖的仓库没有被归档(这由 archived 探针覆盖)。OpenSSF 在其项目安全基线中采用了这种方法。

项目非目标

  1. 成为所有项目都应遵循的确定性报告或要求。

    Scorecard 并非旨在成为一刀切的解决方案。我们生成结果的每一步都是有倾向性的:包含或排除哪些检查项、每个检查项的重要性以及如何计算分数。检查项本身是启发式的;存在误报和漏报。

    无论是由于适用性、可行性还是观点问题,Scorecard 结果中包含或排除的内容都引发了大量讨论。创建一个让所有人都满意的 Scorecard 是不可能的,因为不同的受众会关注不同的行为子集。

    特别是综合评分,它无法告诉你仓库正在或未进行哪些具体行为。许多检查项的分数被聚合为单一分数,并且有多种方式得出相同分数。随着我们添加新的启发式方法或改进现有方法,这些分数会发生变化。

知名 Scorecard 用户

Scorecard 已在数千个项目上运行,用于监控和跟踪安全指标。使用 Scorecard 的知名项目包括:

  • Tensorflow
  • Angular
  • Flutter
  • sos.dev
  • deps.dev

查看项目评分

要查看由 Scorecard 定期扫描的项目的评分,请访问 webviewer。您也可以替换以下模板链接中的占位文本(平台、用户/组织名称和仓库名称)来生成仓库的自定义 Scorecard 链接: https://scorecard.dev/viewer/?uri=<github_or_gitlab>.com/<user_name_or_org>/<repository_name>

例如:

  • https://scorecard.dev/viewer/?uri=github.com/ossf/scorecard
  • https://scorecard.dev/viewer/?uri=gitlab.com/fdroid/fdroidclient

要查看未包含在 webviewer 中的项目的评分,请使用 Scorecard CLI。

公开数据

我们每周对根据直接依赖项判断的最关键的 100 万个开源项目运行 Scorecard 扫描,并将结果发布到 BigQuery 公开数据集 中。

该数据可在公开的 BigQuery 数据集 openssf:scorecardcron.scorecard-v2 中获得。最新结果可在 BigQuery 视图 openssf:scorecardcron.scorecard-v2_latest 中获得。

您可以使用 BigQuery Explorer 通过导航到“添加数据”>“按名称收藏项目”>“openssf”来查询数据。 例如,您可能对项目评分随时间的变化感兴趣:```sql SELECT date, score FROM openssf.scorecardcron.scorecard-v2 WHERE repo.name="github.com/ossf/scorecard" ORDER BY date ASC

root@kitploit:~
您可以使用 [`bq`](https://cloud.google.com/bigquery/docs/bq-command-line-tool) 工具将最新结果以JSON格式提取到Google Cloud存储中:```
# Get the latest PARTITION_ID
bq query --nouse_legacy_sql 'SELECT partition_id FROM
openssf.scorecardcron.INFORMATION_SCHEMA.PARTITIONS WHERE table_name="scorecard-v2"
AND partition_id!="__NULL__" ORDER BY partition_id DESC
LIMIT 1'

# Extract to GCS
bq extract --destination_format=NEWLINE_DELIMITED_JSON
'openssf:scorecardcron.scorecard-v2$<partition_id>' gs://bucket-name/filename-*.json

被检查的项目列表可在本仓库的 cron/internal/data/projects.csv 文件中找到。如果您希望我们追踪更多项目,请随时通过 Pull Request 提交其他项目。目前,此列表仅来源于 托管在 GitHub 上的项目。我们计划在不久的将来扩展到其他源代码控制系统上的项目。

使用 Scorecard

Scorecard GitHub Action

在您拥有的 GitHub 项目上使用 Scorecard 最简单的方式是通过 Scorecard GitHub Action。该 Action 会在每次仓库变更时运行,并发出警报,维护者可以在仓库的“安全”标签页中查看。更多信息,请参阅 Scorecard GitHub Action 的安装说明。

Scorecard REST API

要查询 OSS 项目的预计算分数,请使用 REST API。 从我们的每周扫描计算出的分数省略了 CI-Tests、Contributors 和 Dependency-Update-Tool 检查,因为在大规模运行时相关的 API 成本较高。

API 结果通过 CDN 缓存(感谢 Fastly 及其 Fast Forward 项目)。当新结果可用时,CDN 中的缓存会被清除,但如果您发现数据过时的问题,请提交 issue。

要使您的项目在 REST API 上可用,请在 Scorecard GitHub Action 设置中设置 publish_results: true。

REST API 提供的数据采用 CDLA Permissive 2.0 许可。

Scorecard Badges

在 Scorecard GitHub Actions 中启用 publish_results: true 还可以让维护者在其仓库上显示 Scorecard 徽章,以展示他们的工作成果。该徽章还会随着仓库的每次变更自动更新。更多详情请参阅 这篇 OSSF 博客文章。

要在项目仓库中包含徽章,只需在您的 README 中添加以下 Markdown:``` OpenSSF Scorecard

root@kitploit:~
### Scorecard 命令行界面

要对你并不拥有的项目运行 Scorecard 扫描,请使用命令行界面安装选项。

#### 先决条件

平台:目前,Scorecard 支持 OSX 和 Linux 平台。如果你使用的是 Windows 操作系统,可能会遇到问题。欢迎为支持 Windows 做出贡献。

语言:你必须安装 GoLang 才能运行 Scorecard (https://golang.org/doc/install)

#### 安装

##### Docker

`scorecard` 可作为 Docker 容器使用:```shell
docker pull ghcr.io/ossf/scorecard:latest

要使用特定版本的 Scorecard(例如 v3.2.1),请运行:```shell docker pull ghcr.io/ossf/scorecard:v3.2.1

root@kitploit:~
##### 独立使用

要安装独立版的 Scorecard:

访问我们的最新[发布页面](https://github.com/ossf/scorecard/releases/latest),并下载适用于您操作系统的正确 zip 文件。

将二进制文件添加到您的 `GOPATH/bin` 目录(如有必要,使用 `go env GOPATH` 确定您的目录)。

###### 验证下载版本的 SLSA 来源

在发布过程中,我们使用 OpenSSF 的 [slsa-framework/slsa-github-generator](https://github.com/slsa-framework/slsa-github-generator) 生成 [SLSA3 签名](https://slsa.dev)。要验证发布二进制文件:

1. 从 [slsa-framework/slsa-verifier#installation](https://github.com/slsa-framework/slsa-verifier#installation) 安装验证工具。
2. 从 [GitHub 发布页面](https://github.com/GoogleContainerTools/jib/releases/latest) 下载签名文件 `attestation.intoto.jsonl`。
3. 运行验证器:```shell
slsa-verifier -artifact-path <the-zip> -provenance attestation.intoto.jsonl -source github.com/ossf/scorecard -tag <the-tag>
使用包管理器

身份验证

GitHub 对未经过身份验证的请求施加了 API 速率限制。为了避免这些限制,在运行 Scorecard 之前,你必须对请求进行身份验证。有两种身份验证方式:创建一个 GitHub 个人访问令牌,或创建一个 GitHub 应用安装。

  • 创建一个经典 GitHub 个人访问令牌。创建个人访问令牌时,建议你选择 public_repo 范围。根据你的平台,使用以下命令将令牌设置为名为 GITHUB_AUTH_TOKEN、GITHUB_TOKEN、GH_AUTH_TOKEN 或 GH_TOKEN 的环境变量。```shell

For posix platforms, e.g. linux, mac:

export GITHUB_AUTH_TOKEN=

Multiple tokens can be provided separated by comma to be utilized

in a round robin fashion.

export GITHUB_AUTH_TOKEN=,

For windows:

set GITHUB_AUTH_TOKEN= set GITHUB_AUTH_TOKEN=,

root@kitploit:~
OR

-   [创建一个GitHub App安装](https://docs.github.com/en/developers/apps/building-github-apps/creating-a-github-app)
    以获得更高的速率限制配额。如果您有一个已安装的GitHub App和密钥文件,您可以按照上面展示的适用于您平台的命令(`set` 或 `export`)使用以下三个环境变量。```
GITHUB_APP_KEY_PATH=<path to the key file on disk>
GITHUB_APP_INSTALLATION_ID=<installation id>
GITHUB_APP_ID=<app id>

这些变量可以从GitHub的开发者设置页面获取。

基本用法

使用仓库URL

Scorecard 可以仅使用一个参数运行,即目标仓库的URL:```shell scorecard --repo=github.com/ossf-tests/scorecard-check-branch-protection-e2e

root@kitploit:~
```shell
Starting [CII-Best-Practices]
Starting [Fuzzing]
Starting [Pinned-Dependencies]
Starting [CI-Tests]
Starting [Maintained]
Starting [Packaging]
Starting [SAST]
Starting [Dependency-Update-Tool]
Starting [Token-Permissions]
Starting [Security-Policy]
Starting [Signed-Releases]
Starting [Binary-Artifacts]
Starting [Branch-Protection]
Starting [Code-Review]
Starting [Contributors]
Starting [Vulnerabilities]
Finished [CI-Tests]
Finished [Maintained]
Finished [Packaging]
Finished [SAST]
Finished [Signed-Releases]
Finished [Binary-Artifacts]
Finished [Branch-Protection]
Finished [Code-Review]
Finished [Contributors]
Finished [Dependency-Update-Tool]
Finished [Token-Permissions]
Finished [Security-Policy]
Finished [Vulnerabilities]
Finished [CII-Best-Practices]
Finished [Fuzzing]
Finished [Pinned-Dependencies]

RESULTS
-------
Aggregate score: 7.9 / 10

Check scores:
|---------|------------------------|--------------------------------|---------------------------------------------------------------------------|
|  SCORE  |          NAME          |             REASON             |                         DOCUMENTATION/REMEDIATION                         |
|---------|------------------------|--------------------------------|---------------------------------------------------------------------------|
| 10 / 10 | Binary-Artifacts       | no binaries found in the repo  | github.com/ossf/scorecard/blob/main/docs/checks.md#binary-artifacts       |
|---------|------------------------|--------------------------------|---------------------------------------------------------------------------|
| 9 / 10  | Branch-Protection      | branch protection is not       | github.com/ossf/scorecard/blob/main/docs/checks.md#branch-protection      |
|         |                        | maximal on development and all |                                                                           |
|         |                        | release branches               |                                                                           |
|---------|------------------------|--------------------------------|---------------------------------------------------------------------------|
| ?       | CI-Tests               | no pull request found          | github.com/ossf/scorecard/blob/main/docs/checks.md#ci-tests               |
|---------|------------------------|--------------------------------|---------------------------------------------------------------------------|
| 0 / 10  | CII-Best-Practices     | no badge found                 | github.com/ossf/scorecard/blob/main/docs/checks.md#cii-best-practices     |
|---------|------------------------|--------------------------------|---------------------------------------------------------------------------|
| 10 / 10 | Code-Review            | branch protection for default  | github.com/ossf/scorecard/blob/main/docs/checks.md#code-review            |
|         |                        | branch is enabled              |                                                                           |
|---------|------------------------|--------------------------------|---------------------------------------------------------------------------|
| 0 / 10  | Contributors           | 0 different companies found -- | github.com/ossf/scorecard/blob/main/docs/checks.md#contributors           |
|         |                        | score normalized to 0          |                                                                           |
|---------|------------------------|--------------------------------|---------------------------------------------------------------------------|
| 0 / 10  | Dependency-Update-Tool | no update tool detected        | github.com/ossf/scorecard/blob/main/docs/checks.md#dependency-update-tool |
|---------|------------------------|--------------------------------|---------------------------------------------------------------------------|
| 0 / 10  | Fuzzing                | project is not fuzzed in       | github.com/ossf/scorecard/blob/main/docs/checks.md#fuzzing                |
|         |                        | OSS-Fuzz                       |                                                                           |
|---------|------------------------|--------------------------------|---------------------------------------------------------------------------|
| 1 / 10  | Maintained             | 2 commit(s) found in the last  | github.com/ossf/scorecard/blob/main/docs/checks.md#maintained             |
|         |                        | 90 days -- score normalized to |                                                                           |
|         |                        | 1                              |                                                                           |
|---------|------------------------|--------------------------------|---------------------------------------------------------------------------|
| ?       | Packaging              | no published package detected  | github.com/ossf/scorecard/blob/main/docs/checks.md#packaging              |
|---------|------------------------|--------------------------------|---------------------------------------------------------------------------|
| 8 / 10  | Pinned-Dependencies    | unpinned dependencies detected | github.com/ossf/scorecard/blob/main/docs/checks.md#pinned-dependencies    |
|         |                        | -- score normalized to 8       |                                                                           |
|---------|------------------------|--------------------------------|---------------------------------------------------------------------------|
| 0 / 10  | SAST                   | no SAST tool detected          | github.com/ossf/scorecard/blob/main/docs/checks.md#sast                   |
|---------|------------------------|--------------------------------|---------------------------------------------------------------------------|
| 0 / 10  | Security-Policy        | security policy file not       | github.com/ossf/scorecard/blob/main/docs/checks.md#security-policy        |
|         |                        | detected                       |                                                                           |
|---------|------------------------|--------------------------------|---------------------------------------------------------------------------|
| ?       | Signed-Releases        | no releases found              | github.com/ossf/scorecard/blob/main/docs/checks.md#signed-releases        |
|---------|------------------------|--------------------------------|---------------------------------------------------------------------------|
| 10 / 10 | Token-Permissions      | tokens are read-only in GitHub | github.com/ossf/scorecard/blob/main/docs/checks.md#token-permissions      |
|         |                        | workflows                      |                                                                           |
|---------|------------------------|--------------------------------|---------------------------------------------------------------------------|
| 10 / 10 | Vulnerabilities        | no vulnerabilities detected    | github.com/ossf/scorecard/blob/main/docs/checks.md#vulnerabilities        |
|---------|------------------------|--------------------------------|---------------------------------------------------------------------------|
Docker

GITHUB_AUTH_TOKEN 必须设置为一个有效的令牌```shell docker run -e GITHUB_AUTH_TOKEN=token ghcr.io/ossf/scorecard:latest --show-details --repo=https://github.com/ossf/scorecard

root@kitploit:~
要使用特定scorecard版本(例如v3.2.1),请运行:```shell
docker run -e GITHUB_AUTH_TOKEN=token ghcr.io/ossf/scorecard:v3.2.1 --show-details --repo=https://github.com/ossf/scorecard
显示详细结果

要了解检查失败原因的更多详细信息,请使用 --show-details 选项:``` ./scorecard --repo=github.com/ossf-tests/scorecard-check-branch-protection-e2e --checks Branch-Protection --show-details

root@kitploit:~
```shell
Starting [Pinned-Dependencies]
Finished [Pinned-Dependencies]

RESULTS
-------
|---------|------------------------|--------------------------------|--------------------------------|---------------------------------------------------------------------------|
|  SCORE  |          NAME          |             REASON             |            DETAILS             |                         DOCUMENTATION/REMEDIATION                         |
|---------|------------------------|--------------------------------|--------------------------------|---------------------------------------------------------------------------|
| 9 / 10  | Branch-Protection      | branch protection is not       | Info: 'force pushes' disabled  | github.com/ossf/scorecard/blob/main/docs/checks.md#branch-protection      |
|         |                        | maximal on development and all | on branch 'main' Info: 'allow  |                                                                           |
|         |                        | release branches               | deletion' disabled on branch   |                                                                           |
|         |                        |                                | 'main' Info: linear history    |                                                                           |
|         |                        |                                | enabled on branch 'main' Info: |                                                                           |
|         |                        |                                | strict status check enabled    |                                                                           |
|         |                        |                                | on branch 'main' Warn: status  |                                                                           |
|         |                        |                                | checks for merging have no     |                                                                           |
|         |                        |                                | specific status to check on    |                                                                           |
|         |                        |                                | branch 'main' Info: number     |                                                                           |
|         |                        |                                | of required reviewers is 2     |                                                                           |
|         |                        |                                | on branch 'main' Info: Stale   |                                                                           |
|         |                        |                                | review dismissal enabled on    |                                                                           |
|         |                        |                                | branch 'main' Info: Owner      |                                                                           |
|         |                        |                                | review required on branch      |                                                                           |
|         |                        |                                | 'main' Info: 'administrator'   |                                                                           |
|         |                        |                                | PRs need reviews before being  |                                                                           |
|         |                        |                                | merged on branch 'main'        |                                                                           |
|---------|------------------------|--------------------------------|--------------------------------|---------------------------------------------------------------------------|
显示维护者注释

维护者注释 允许维护者在 Scorecard 检查结果旁添加上下文信息。当 Scorecard 对项目的安全实践评估不完整时,注释可以为用户提供额外信息。要查看每个检查的维护者注释,请使用 --show-annotations 选项。

有关可用注释或如何制作注释的更多信息,请参阅配置文档。

使用 GitLab 仓库

要在 GitLab 仓库上运行 Scorecard,您必须创建一个GitLab 访问令牌,并具有以下权限:

  • read_api
  • read_user
  • read_repository

您可以通过设置 GITLAB_AUTH_TOKEN 环境变量在 GitLab 仓库上运行 Scorecard:```bash export GITLAB_AUTH_TOKEN=glpat-xxxx

scorecard --repo gitlab.com///

root@kitploit:~
关于在GitLab CI/CD中使用Scorecard的示例,请参见[这里](https://gitlab.com/ossf-test/scorecard-pipeline-example)。

###### 自托管版本
虽然我们专注于GitLab.com的支持,但Scorecard也适用于自托管的GitLab安装。
如果你的平台托管在子域名下(例如 `gitlab.foo.com`),Scorecard应该开箱即用。
如果你的平台托管在某个路径下(例如 `foo.com/bar/`),你将需要设置`GL_HOST`环境变量。```bash
export GITLAB_AUTH_TOKEN=glpat-xxxx
export GL_HOST=foo.com/bar
scorecard --repo foo.com/bar/<org>/<project>
使用基于 GitHub Enterprise Server (GHES) 的仓库

要使用 GitHub Enterprise 主机 github.corp.com,请使用 GH_HOST 环境变量。```shell

Set the GitHub Enterprise host without https prefix or slash with relevant authentication token

export GH_HOST=github.corp.com export GITHUB_AUTH_TOKEN=token

scorecard --repo=github.corp.com/org/repo

OR without github host url

scorecard --repo=org/repo

root@kitploit:~
##### 使用包管理器

对于 `--npm`、`--pypi`、`--rubygems` 或 `--nuget` 生态系统的项目,您可以选择使用包管理器运行 Scorecard。提供包名称以在相应的 GitHub 源代码上运行检查。

例如,`--npm=angular`。

注意:包生态系统标志仅用于查找 GitHub 仓库。
这些标志不会改变检查的最终评估。

此外,这些标志不能与 `--repo` 一起使用。

##### 运行特定检查

要仅运行特定检查,请使用 `--checks` 参数,并附带检查名称列表。

例如,`--checks=CI-Tests,Code-Review`。

##### 格式化结果

当前支持的格式有 `default`(文本)和 `json`。

可以使用 `--format` 标志指定这些格式。例如,`--format=json`。

## 检查项

### Scorecard 检查项

默认情况下,以下所有检查都会针对目标项目运行:

名称 | 描述 | 风险等级 | 需要 Token | GitLab 支持 | 备注
---- | ---- | -------- | ---------- | ------------ | --- |
[Binary-Artifacts](https://github.com/ossf/scorecard/blob/HEAD/docs/checks.md#binary-artifacts) | 项目是否没有已检入的二进制文件? | 高 | PAT, GITHUB_TOKEN | 支持 |
[Branch-Protection](https://github.com/ossf/scorecard/blob/HEAD/docs/checks.md#branch-protection) | 项目是否使用[分支保护](https://docs.github.com/en/free-pro-team@latest/github/administering-a-repository/about-protected-branches)? | 高 | PAT(`repo` 或 `repo> public_repo`),GITHUB_TOKEN | 支持(见备注) | 某些设置仅支持具有维护者 PAT 的情况
[CI-Tests](https://github.com/ossf/scorecard/blob/HEAD/docs/checks.md#ci-tests) | 项目是否在 CI 中运行测试,例如 [GitHub Actions](https://docs.github.com/en/free-pro-team@latest/actions)、[Prow](https://github.com/kubernetes/test-infra/tree/master/prow)? | 低 | PAT, GITHUB_TOKEN | 支持 |
[CII-Best-Practices](https://github.com/ossf/scorecard/blob/HEAD/docs/checks.md#cii-best-practices) | 项目是否已获得 [OpenSSF(原 CII)最佳实践徽章](https://www.bestpractices.dev)的通过、银牌或金牌级别? | 低 | PAT, GITHUB_TOKEN | 验证中 |
[Code-Review](https://github.com/ossf/scorecard/blob/HEAD/docs/checks.md#code-review) | 项目是否在代码合并前进行代码审查? | 高 | PAT, GITHUB_TOKEN | 支持 |
[Contributors](https://github.com/ossf/scorecard/blob/HEAD/docs/checks.md#contributors) | 项目是否拥有来自至少两个不同组织的贡献者? | 低 | PAT, GITHUB_TOKEN | 验证中 |
[Dangerous-Workflow](https://github.com/ossf/scorecard/blob/HEAD/docs/checks.md#dangerous-workflow) | 项目是否避免在 GitHub Action 工作流中使用危险编码模式? | 严重 | PAT, GITHUB_TOKEN | 不支持 |
[Dependency-Update-Tool](https://github.com/ossf/scorecard/blob/HEAD/docs/checks.md#dependency-update-tool) | 项目是否使用工具来帮助更新其依赖项? | 高 | PAT, GITHUB_TOKEN | 支持 |
[Fuzzing](https://github.com/ossf/scorecard/blob/HEAD/docs/checks.md#fuzzing) | 项目是否使用模糊测试工具,例如 [OSS-Fuzz](https://github.com/google/oss-fuzz)、[QuickCheck](https://hackage.haskell.org/package/QuickCheck) 或 [fast-check](https://fast-check.dev/)? | 中 | PAT, GITHUB_TOKEN | 验证中 |
[License](https://github.com/ossf/scorecard/blob/HEAD/docs/checks.md#license) | 项目是否声明了许可证? | 低 | PAT, GITHUB_TOKEN | 验证中 |
[Maintained](https://github.com/ossf/scorecard/blob/HEAD/docs/checks.md#maintained) | 项目是否至少存在 90 天并得到维护? | 高 | PAT, GITHUB_TOKEN | 验证中 |
[Pinned-Dependencies](https://github.com/ossf/scorecard/blob/HEAD/docs/checks.md#pinned-dependencies) | 项目是否声明并固定了[依赖项](https://docs.github.com/en/free-pro-team@latest/github/visualizing-repository-data-with-graphs/about-the-dependency-graph#supported-package-ecosystems)? | 中 | PAT, GITHUB_TOKEN | 验证中 |
[Packaging](https://github.com/ossf/scorecard/blob/HEAD/docs/checks.md#packaging) | 项目是否从 CI/CD 构建并发布官方包,例如 [GitHub Publishing](https://docs.github.com/en/free-pro-team@latest/actions/guides/about-packaging-with-github-actions#workflows-for-publishing-packages)? | 中 | PAT, GITHUB_TOKEN | 验证中 |
[SAST](https://github.com/ossf/scorecard/blob/HEAD/docs/checks.md#sast) | 项目是否使用静态代码分析工具,例如 [CodeQL](https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/enabling-code-scanning-for-a-repository#enabling-code-scanning-using-actions)、[LGTM(已弃用)](https://lgtm.com)、[SonarCloud](https://sonarcloud.io)? | 中 | PAT, GITHUB_TOKEN | 不支持 |
[Security-Policy](https://github.com/ossf/scorecard/blob/HEAD/docs/checks.md#security-policy) | 项目是否包含[安全策略](https://docs.github.com/en/free-pro-team@latest/github/managing-security-vulnerabilities/adding-a-security-policy-to-your-repository)? | 中 | PAT, GITHUB_TOKEN | 验证中 |
[Signed-Releases](https://github.com/ossf/scorecard/blob/HEAD/docs/checks.md#signed-releases) | 项目是否对[发布版本进行加密签名](https://wiki.debian.org/Creating%20signed%20GitHub%20releases)? | 高 | PAT, GITHUB_TOKEN | 验证中 |
[Token-Permissions](https://github.com/ossf/scorecard/blob/HEAD/docs/checks.md#token-permissions) | 项目是否将 GitHub 工作流令牌声明为[只读](https://docs.github.com/en/actions/reference/authentication-in-a-workflow)? | 高 | PAT, GITHUB_TOKEN | 不支持 |
[Vulnerabilities](https://github.com/ossf/scorecard/blob/HEAD/docs/checks.md#vulnerabilities) | 项目是否有未修复的漏洞?使用 [OSV 服务](https://osv.dev)。 | 高 | PAT, GITHUB_TOKEN | 验证中 |
[Webhooks](https://github.com/ossf/scorecard/blob/HEAD/docs/checks.md#webhooks) | 仓库中定义的 webhook 是否配置了用于验证请求来源的令牌? | 严重 | 维护者 PAT(`admin: repo_hook` 或 `admin> read:repo_hook` [文档](https://docs.github.com/en/rest/webhooks/repo-config#get-a-webhook-configuration-for-a-repository)) | | 实验性

### 详细检查文档

要查看每个检查的详细信息、评分标准和修复步骤,请查看[检查文档页面](https://github.com/ossf/scorecard/blob/HEAD/docs/checks.md)。

### Scorecard 检查初学者指南

有关入门时应使用的检查指南,请参阅[Scorecard 检查初学者指南](https://github.com/ossf/scorecard/blob/HEAD/docs/beginner-checks.md)。

## 其他重要建议

### 双因素认证 (2FA)

[双因素认证 (2FA)](https://docs.github.com/en/authentication/securing-your-account-with-two-factor-authentication-2fa/about-two-factor-authentication) 为登录网站或应用增加了额外的安全层。如果您的密码被泄露,2FA 通过要求第二种形式的认证(例如通过短信或认证应用发送的验证码,或触摸物理安全密钥)来保护您的账户。

我们强烈建议您在可用的任何重要账户上启用 2FA。2FA 不是 Scorecard 检查项,因为 GitHub 和 GitLab 不会公开用户账户的此类数据。可以说,这些数据应该始终保持私密,因为未启用 2FA 的账户极易受到攻击。

尽管这不是官方检查项,但我们敦促所有项目维护者启用 2FA 以保护其项目免受侵害。

#### 启用 2FA

##### 对于用户

请按照[配置双因素认证](https://docs.github.com/en/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication)中所述的步骤操作。

如果可能,请使用以下方式之一:

- 物理安全密钥(首选),例如 Titan 或 Yubikey
- 存储在受访问保护和加密的保管库中的恢复代码

作为最后选择,请使用短信。请注意:使用短信的 2FA 容易受到 [SIM 卡交换攻击](https://en.wikipedia.org/wiki/SIM_swap_scam)。

##### 对于组织

1. [准备在组织中要求 2FA](https://docs.github.com/en/organizations/keeping-your-organization-secure/managing-two-factor-authentication-for-your-organization/preparing-to-require-two-factor-authentication-in-your-organization)
2. [在组织中要求 2FA](https://docs.github.com/en/organizations/keeping-your-organization-secure/managing-two-factor-authentication-for-your-organization/requiring-two-factor-authentication-in-your-organization)

## 评分

### 总分
每个单独的检查都返回 0 到 10 的分数,10 代表最佳可能分数。Scorecard 还生成一个总分,它是按风险加权的各个检查的加权平均值。

*   “严重”风险检查权重为 10
*   “高”风险检查权重为 7.5
*   “中”风险检查权重为 5
*   “低”风险检查权重为 2.5

请参阅[当前 Scorecard 检查列表](#scorecard-checks)以了解每个检查的风险等级。

## 贡献

### 报告问题

如果您遇到看似错误的问题,请使用 [GitHub 问题跟踪系统。](https://github.com/ossf/scorecard/issues) 在提交问题之前,请搜索现有问题以确认您的问题是否已被涵盖。

### 为 Scorecard 做贡献

在贡献之前,请遵守我们的[行为准则](https://github.com/ossf/scorecard/blob/HEAD/CODE_OF_CONDUCT.md)。

请参阅[贡献](https://github.com/ossf/scorecard/blob/HEAD/CONTRIBUTING.md)文档,了解有关如何为项目做出贡献的指导。

### 添加 Scorecard 检查

如果您想添加一个检查,请参阅[此处](https://github.com/ossf/scorecard/blob/HEAD/checks/write.md)的指导。

### 与 Scorecard 社区联系

如果您想参与 Scorecard 社区或有想讨论的想法,我们在 [OSSF 最佳实践工作组](https://github.com/ossf/wg-best-practices-os-developers)会议中讨论该项目。

工件 | 链接
--- | ----
Scorecard 开发者论坛 | [ossf-scorecard-dev@](https://groups.google.com/g/ossf-scorecard-dev)
Scorecard 公告论坛 | [ossf-scorecard-announce@](https://groups.google.com/g/ossf-scorecard-announce)
社区会议 VC | [链接到 z o o m 会议](https://zoom-lfx.platform.linuxfoundation.org/meeting/95007214146?password=250040c3-80c0-48c4-80c1-07a373116d54)
社区会议日历 | **_亚太友好_** 每两周一次,周四下午 1:00-2:00 太平洋时间 ([OSSF 公共日历](https://calendar.google.com/calendar/u/0/embed?height=600&wkst=1&bgcolor=%238E24AA&showTitle=1&mode=WEEK&showCalendars=0&showTabs=1&showPrint=0&title=OpenSSF+Community+Calendar&src=czYzdm9lZmhwNWk5cGZsdGI1cTY3bmdwZXNAZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ&color=%238E24AA)) <br>视频通话:[LFX Zoom](https://zoom-lfx.platform.linuxfoundation.org/meeting/95007214146?password=250040c3-80c0-48c4-80c1-07a373116d54) <br> **_EMEA 友好_** 每四周一次,周一早上 7:00-8:00 太平洋时间 ([OSSF 公共日历](https://calendar.google.com/calendar/u/0/embed?height=600&wkst=1&bgcolor=%238E24AA&showTitle=1&mode=WEEK&showCalendars=0&showTabs=1&showPrint=0&title=OpenSSF+Community+Calendar&src=czYzdm9lZmhwNWk5cGZsdGI1cTY3bmdwZXNAZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ&color=%238E24AA)) <br> 视频通话:[LFX Zoom](https://zoom-lfx.platform.linuxfoundation.org/meeting/93377638314?password=d53af562-d908-4100-8ae1-52686756cc5d)
会议笔记 | [笔记](https://docs.google.com/document/d/1b6d3CVJLsl7YnTE7ZaZQHdkdYIvuOQ8rzAmvVdypOWM/edit?usp=sharing)
Slack 频道 | [#scorecard](https://slack.openssf.org/#scorecard)

__维护者__ 列在 [CODEOWNERS 文件](https://github.com/ossf/scorecard/blob/HEAD/.github/CODEOWNERS) 中。

### 报告安全问题

要报告安全问题,请按照[此处](https://github.com/ossf/scorecard/blob/HEAD/SECURITY.md)的说明操作。

### 加入 Scorecard 项目会议

#### Zoom

**_亚太友好_** 每两周一次,周四下午 1:00-2:00 太平洋时间 ([OSSF 公共日历](https://calendar.google.com/calendar/u/0/embed?height=600&wkst=1&bgcolor=%238E24AA&showTitle=1&mode=WEEK&showCalendars=0&showTabs=1&showPrint=0&title=OpenSSF+Community+Calendar&src=czYzdm9lZmhwNWk5cGZsdGI1cTY3bmdwZXNAZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ&color=%238E24AA)) 

视频通话:[LFX z o o m](https://zoom-lfx.platform.linuxfoundation.org/meeting/95007214146?password=250040c3-80c0-48c4-80c1-07a373116d54)   

**_EMEA 友好_** 每四周一次,周一早上 7:00-8:00 太平洋时间 ([OSSF 公共日历](https://calendar.google.com/calendar/u/0/embed?height=600&wkst=1&bgcolor=%238E24AA&showTitle=1&mode=WEEK&showCalendars=0&showTabs=1&showPrint=0&title=OpenSSF+Community+Calendar&src=czYzdm9lZmhwNWk5cGZsdGI1cTY3bmdwZXNAZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ&color=%238E24AA))

视频通话:[LFX z o o m](https://zoom-lfx.platform.linuxfoundation.org/meeting/93377638314?password=d53af562-d908-4100-8ae1-52686756cc5d)   

#### 议程

您可以在此处查看[议程和会议笔记](https://docs.google.com/document/d/1b6d3CVJLsl7YnTE7ZaZQHdkdYIvuOQ8rzAmvVdypOWM/edit?usp=sharing)。

## 随时间变化的星数

[![随时间变化的星数](https://starchart.cc/ossf/scorecard.svg)](https://starchart.cc/ossf/scorecard)

## 常见问题解答

### 常见问题解答

有关 Scorecard 常见问题的解答,请参阅[常见问题解答](https://github.com/ossf/scorecard/blob/HEAD/docs/faq.md)。
下载工具
包管理器支持的发行版命令
NixNixOSnix-shell -p nixpkgs.scorecard
AUR 助手Arch Linux使用你的 AUR 助手安装 scorecard
HomebrewmacOS 或 Linuxbrew install scorecard