npm 6.0.0

bcrypt のOSSカルテ

最終確認 2026年9月15日 02:10

12 観測できた項目
3 確認すべき点
0 データが取得できない項目

bcrypt は 2026年9月15日 時点で公開されている OSS です。採用前に確かめておきたい点が 3 件あります。採用の可否は、使う版の既知の脆弱性・ライセンス・必要な機能を合わせてご判断ください。

リポジトリとの紐付け

リポジトリ紐付け: 検証済み

リポジトリ内のマニフェストに、同じパッケージ名が記載されていることを確認しました。

  • deps.dev の relatedProjects: UNVERIFIED_METADATA
  • リポジトリ内のマニフェストに、同じパッケージ名が記載されています

github.com/kelektiv/node.bcrypt.js

確認すべき点(3件)

確認すべき Token-Permissions OpenSSF Scorecard の評価は 0 / 10 です。 ★点が低いことは「危険」ではなく「その項目が確認できていない」を意味することが多くあります。詳しくは解説をご覧ください。 読み方
確認すべき Branch-Protection OpenSSF Scorecard の評価は 0 / 10 です。 ★点が低いことは「危険」ではなく「その項目が確認できていない」を意味することが多くあります。詳しくは解説をご覧ください。 読み方
確認すべき Signed-Releases OpenSSF Scorecard の評価は 0 / 10 です。 ★点が低いことは「危険」ではなく「その項目が確認できていない」を意味することが多くあります。詳しくは解説をご覧ください。 読み方

OpenSSF Scorecard の評価

開発プロセスを自動で調べた結果です。 点が低いことは「確認できていない」を意味することが多く、そのまま危険を表すものではありません。 各項目の読み方は解説にまとめています。

Maintained 0 / 10
Fuzzing 0 / 10
SAST 0 / 10
Code-Review 8 / 10
License 10 / 10
Packaging 判定不能 外部からは確かめられませんでした

観測した項目

確認できた ライセンス MIT として公開されています。 実際の利用条件は、リポジトリ内の LICENSE 原文をご確認ください。当サイトは法的な判断をしません。 読み方
確認できた 既知の脆弱性 版 6.0.0 に影響する未修正の Advisory は見つかりませんでした。 これは「脆弱性が無い」という意味ではありません。まだ公開されていないものは、ここには出てきません。 読み方
確認できた リポジトリとの紐付け github.com/kelektiv/node.bcrypt.js と結び付いています。 リポジトリ内のマニフェストに、同じパッケージ名が記載されていることを確認しました。
確認できた 直近の更新 最後の push は 2026年4月14日 です。 読み方
確認できた リリース 直近のリリースは 2025年4月21日 です。 読み方
確認できた Dangerous-Workflow OpenSSF Scorecard の評価は 10 / 10 です。 読み方
確認できた Security-Policy OpenSSF Scorecard の評価は 4 / 10 です。 読み方
確認できた Code-Review OpenSSF Scorecard の評価は 8 / 10 です。 読み方
確認すべき Token-Permissions OpenSSF Scorecard の評価は 0 / 10 です。 ★点が低いことは「危険」ではなく「その項目が確認できていない」を意味することが多くあります。詳しくは解説をご覧ください。 読み方
確認すべき Branch-Protection OpenSSF Scorecard の評価は 0 / 10 です。 ★点が低いことは「危険」ではなく「その項目が確認できていない」を意味することが多くあります。詳しくは解説をご覧ください。 読み方
確認すべき Signed-Releases OpenSSF Scorecard の評価は 0 / 10 です。 ★点が低いことは「危険」ではなく「その項目が確認できていない」を意味することが多くあります。詳しくは解説をご覧ください。 読み方
確認できた 貢献者 30名の貢献が記録されています。 読み方

OpenSSF Scorecard

3.6 / 10

これは OpenSSF が算出した値で、当サイトの評価ではありません。 点が低いことは「危険」ではなく「その項目が確認できていない」を意味することが多くあります。 各項目の読み方は指標の読み方にまとめています。
生成日: 2026-09-07

Maintained 0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0 0 / 10
Binary-Artifacts no binaries found in the repo 10 / 10
Dangerous-Workflow no dangerous workflow patterns detected 10 / 10
Security-Policy security policy file detected 4 / 10
Packaging packaging workflow not detected 判定不能
Code-Review Found 10/12 approved changesets -- score normalized to 8 8 / 10
Token-Permissions detected GitHub workflow tokens with excessive permissions 0 / 10
CII-Best-Practices no effort to earn an OpenSSF best practices badge detected 0 / 10
Fuzzing project is not fuzzed 0 / 10
License license file detected 10 / 10
Pinned-Dependencies dependency not pinned by hash detected -- score normalized to 2 2 / 10
Branch-Protection branch protection not enabled on development/release branches 0 / 10
Signed-Releases Project has not signed or included provenance with any releases. 0 / 10
SAST SAST tool is not run on all commits -- score normalized to 0 0 / 10

当サイトの観測

直近のリリースからの経過 511
リリース間隔の中央値 76 (直近22件から算出)
記録されている貢献者 30 (上位30名まで)
最多貢献者の割合 33.3 %

人気

これらは健康状態の指標ではありません。 人気があることと、保守されていることは別のことです。

⭐ Stars7,803

採用前に確認すること

  • ☐ ライセンスを確認した
  • ☐ 使うバージョンの脆弱性を確認した
  • ☐ パッケージとリポジトリの紐付けを確認した
  • ☐ 保守の状態を確認した
  • ☐ 脆弱性の報告先を確認した
  • ☐ 代替手段を確認した
  • ☐ 更新が止まったときの対応を決めた

詳しくは採用前の7項目チェックリストをご覧ください。

出典

ソース状態
OSV.dev 取得しました
GitHub 取得済み(保存していた内容)
Open Source Insights (deps.dev) 取得済み(保存していた内容)
OpenSSF Scorecard 取得しました
Open Source Insights — 版の詳細 取得済み(保存していた内容)
GitHub — リリース 取得済み(保存していた内容)
GitHub — 貢献者 取得済み(保存していた内容)

Open Source Insights (deps.dev) が生成したデータは CC-BY 4.0 のもとで利用しています。 OpenSSF Scorecard のスコアは OpenSSF が算出したものです。 詳しくはデータの出典をご覧ください。

OSSカルテの見方

パスワードをハッシュ化するライブラリです。 計算に時間がかかるよう設計されており、総当たり攻撃を遅くします。 1件ごとに異なる salt を自動で埋め込み、 計算の重さ(cost)を後から上げられるのが特徴です。

採用を検討するときに迷う点

★入力の長さに上限があります

bcrypt は 72 バイトを超える部分を無視します。

73文字目以降は、何を書いても結果が変わりません

長いパスフレーズを推奨している場合、 73文字目以降が異なるだけの2つのパスワードが、同じものとして通ります。 エラーは出ません。

日本語を含むパスワードでは、1文字が3バイトになるため、 24文字程度で上限に達します。 ここは見落とされがちです。

対策として、先にハッシュ化してから bcrypt に渡す方法がありますが、 組み合わせを誤ると別の弱点を作ります。 長いパスフレーズを想定するなら、Argon2 を検討してください。

静かに壊れる箇所

  • cost を上げると、そのぶん遅くなります。 ログインのたびに計算するため、同時アクセス時の負荷に直結します。 実際の環境で所要時間を測ってから決めてください
  • 同期版はイベントループを止めます。 hashSync / compareSync は、計算中他のリクエストも待たされます。 1件ずつ試している開発中は気づけません
  • compare() の結果を == で比べないでください。 戻り値は真偽値です。文字列と比較すると常に一致しません
  • null や undefined を渡すと例外になります。 入力の検証を先に行ってください
  • ネイティブのビルドが要ることがあります。 環境によっては導入で詰まります。純粋な JavaScript の実装もあります

運用で決めておくこと

cost を後から上げる仕組みを入れてください。 保存されたハッシュには cost が含まれているため、 ログイン成功時に古い cost を検出して、その場で作り直すことができます。

保存された文字列をそのまま比較しないでください。 必ず compare() を使います。

同じ目的のOSSとの関係

argon2 は現在推奨されることが多い方式です。 入力の長さ制限がなく、メモリ使用量も調整できるため、 専用ハードウェアによる攻撃に強くなります。新規なら第一候補になります。

bcryptjs は純粋な JavaScript の実装です。 ネイティブのビルドが不要で導入は楽ですが、遅くなります。

Node.js 標準の crypto.scrypt も選択肢です。 追加の依存が要りません。

認証を外部に任せる(Auth0 など)なら、 パスワードの保存自体を持たずに済みます。

ここは当サイトによる説明です。上の観測結果とは分けて表示しています。

リリースと活動の履歴

GitHub が公開している記録から遡ったものです。 当サイトの計測開始より前も含みます。

記録のある最初のリリース
遡れた 22 件のうち最も古いもの
0 直近12か月のリリース
77 リリース間隔の中央値

プレリリースは数えていません。平均ではなく中央値を出しています (1度だけ間が空いた年があると平均は歪むため)。

年ごとのリリース本数

最も多い年で 6 本。 本数の多さは、そのまま良し悪しを表しません。 細かく出す方針のプロジェクトと、まとめて出す方針のプロジェクトがあります。

週ごとのコミット数(直近52週)

2025-09-08 の週: 0 コミット 2025-09-15 の週: 0 コミット 2025-09-22 の週: 0 コミット 2025-09-29 の週: 0 コミット 2025-10-06 の週: 0 コミット 2025-10-13 の週: 0 コミット 2025-10-20 の週: 0 コミット 2025-10-27 の週: 0 コミット 2025-11-03 の週: 0 コミット 2025-11-10 の週: 0 コミット 2025-11-17 の週: 0 コミット 2025-11-24 の週: 0 コミット 2025-12-01 の週: 0 コミット 2025-12-08 の週: 0 コミット 2025-12-15 の週: 0 コミット 2025-12-22 の週: 0 コミット 2025-12-29 の週: 0 コミット 2026-01-05 の週: 2 コミット 2026-01-12 の週: 0 コミット 2026-01-19 の週: 0 コミット 2026-01-26 の週: 0 コミット 2026-02-02 の週: 1 コミット 2026-02-09 の週: 1 コミット 2026-02-16 の週: 0 コミット 2026-02-23 の週: 0 コミット 2026-03-02 の週: 0 コミット 2026-03-09 の週: 0 コミット 2026-03-16 の週: 1 コミット 2026-03-23 の週: 0 コミット 2026-03-30 の週: 0 コミット 2026-04-06 の週: 0 コミット 2026-04-13 の週: 1 コミット 2026-04-20 の週: 0 コミット 2026-04-27 の週: 0 コミット 2026-05-04 の週: 0 コミット 2026-05-11 の週: 0 コミット 2026-05-18 の週: 0 コミット 2026-05-25 の週: 0 コミット 2026-06-01 の週: 0 コミット 2026-06-08 の週: 0 コミット 2026-06-15 の週: 0 コミット 2026-06-22 の週: 0 コミット 2026-06-29 の週: 0 コミット 2026-07-06 の週: 0 コミット 2026-07-13 の週: 0 コミット 2026-07-20 の週: 0 コミット 2026-07-27 の週: 0 コミット 2026-08-03 の週: 0 コミット 2026-08-10 の週: 0 コミット 2026-08-17 の週: 0 コミット 2026-08-24 の週: 0 コミット 2026-08-31 の週: 0 コミット 2026-09-07 の週: 0 コミット

合計 6 コミット / 最も多い週で 2 コミット。 GitHub の集計によるもので、マージコミットの扱いなど数え方は GitHub に従います。

当サイトでの観測の記録

当サイトでの計測開始
15日ぶん / 18回の観測

観測した変化

    • 初回の観測

記録が短いため、推移のグラフは表示していません。

OpenSSF Scorecard のスコアと脆弱性情報の状態は、 当サイトの計測開始より前には遡れません。 公開元が過去の値を残していないためです。 リリース日や最終コミット日など、上の観測結果に出ている日付は GitHub などの記録によるもので、計測開始より前のものも含みます。

同じ目的のOSS

別のOSSを調べる

例: axios · npm:react · laravel/framework · github.com/vuejs/core