OpenSSF Scorecard

指標の読み方

OpenSSF Scorecard は、OSSの「開発のやり方」を自動で調べて 0〜10 で点を付ける仕組みです。 脆弱性そのものを探すツールではなく、点が低いことは「危険」ではなく 「その項目が確認できていない」を意味します。 19 項目それぞれについて、何を見ているのか・ 低いと何を意味するのか・誤解しやすい点を日本語で説明します。

点数を足し引きして安全性を判定しないでください。 Scorecard の各チェックは、リポジトリの設定が読めない・使っている技術が対象外、といった理由でも 低い点になります。低い点の多くは「悪い」ではなく「わからない」です。

0 点でも珍しくない項目

有名なライブラリでも 0 になることが多い項目があります。 これらが 0 であることを理由に採用を見送る必要は、ふつうはありません。

CII-Best-Practices — 申請していないだけ Fuzzing — 実施はごく一部 Signed-Releases — 判定不能が返ることが多い

点数の読み方

各項目は 0〜10 点で返ります。 この点は「良し悪し」ではなく、確認できた度合いです。

返ってくる値意味気をつけること
10 その項目で見ている条件が、すべて確認できた 満点でも、脆弱性が出ないという意味ではありません
1〜9 一部だけ確認できた 何が欠けているかは項目ごとに違います。個別ページで確認してください
0 条件が確認できなかった 設定していないだけのことも、構造上そもそも当てはまらないこともあります
-1 判定不能。Scorecard が答えを出せなかった 0 とは意味が違います。当サイトは 0 として扱いません

点が低い理由は、1つではない

同じ 0 点でも、理由は次のように分かれます。 どれに当たるかは、リポジトリの作りを見ないと決まりません。

  • やっていない — 実際に設定や運用が無い
  • やっているが、機械から見えない — 別の仕組みで同じことをしている場合など
  • 当てはまらない — たとえば読み取り専用の分割リポジトリでは、 そこに Pull Request が来ないため、レビューの項目は構造上 0 になります

すべての項目が同じ重さではない

自分の用途で効く項目から見てください。 どの順で見ればよいかはガイドにまとめています。

プロジェクトの姿勢

6 項目

ソースコードの守り方

6 項目

ビルドの守り方

7 項目
OSSカルテの見方

これらの指標は「開発のやり方が確認できるか」を見るものです。 実際に使うかどうかを決めるときは、指標の点数よりも先に 使うバージョンに影響する既知の脆弱性があるかライセンスが用途に合うか を確認してください。