Blanc

本サイトが提示する下記のベストプラクティスを実行するプロジェクトは、Open Source Security Foundation (OpenSSF) バッジを達成したことを自主的に自己認証し、そのことを外部に示すことができます。

ソフトウェアに欠陥や脆弱性がないことを保証する手立てはありません。形式論的な証明ができたとしても、仕様や前提が間違っていると誤動作の可能性があります。また、プロジェクトが健全で、かつ機能的な開発コミュニティであり続けることを保証する手立てもありません。しかし、ベストプラクティスの採用は、プロジェクトの成果の向上に寄与する可能性があります。たとえば、いくつものベストプラクティスがリリース前の複数人によるレビューを定めていますが、それによりレビュー以外では発見困難な技術的脆弱性を見つけるのを助け、同時に異なる企業の開発者間の信頼を築き、さらに交流を続けることに対する意欲を生んでいます。バッジを獲得するには、すべてのMUSTおよびMUST NOT基準を満たさなければなりません。すべてのSHOULD基準も満たさなければなりませんが、正当な理由がある場合は満たさなくても構いません。そしてすべてのSUGGESTED基準も満たさなければなりませんが、満たさないとしても、少なくとも考慮することが望まれます。フィードバックは、 GitHubサイトのissueまたはpull requestとして提示されれば歓迎します。また、議論のためのメールリストも用意されています。

私たちは多言語で情報を提供していますが、翻訳版に矛盾や意味の不一致がある場合は、英語版を正式な記述とします。
これがあなたのプロジェクトである場合は、プロジェクトページにベースラインバッジステータスを表示してください!ベースラインバッジステータスは次のようになります: プロジェクト14451のベースラインバッジレベルはbaseline-2です ベースラインバッジを埋め込む方法は次のとおりです:
ベースラインバッジステータスを表示するには、マークダウンファイルに以下を埋め込みます:
[![OpenSSF Baseline](https://www.bestpractices.dev/projects/14451/baseline)](https://www.bestpractices.dev/projects/14451)
または、HTMLに以下を埋め込みます:
<a href="https://www.bestpractices.dev/projects/14451"><img src="https://www.bestpractices.dev/projects/14451/baseline"></a>


これらはベースラインレベル3の基準です。 これらは基準バージョン v2026.08.28 の評価項目です。

Baseline Series: ベースラインレベル1 ベースラインレベル2 ベースラインレベル3

        

 基本的情報

  • 一般

    他のプロジェクトが同じ名前を使用していないか注意してください。

    Blanc is an open-source Electron desktop browser for macOS, Windows, and Linux, with compact Island chrome and built-in ad/tracker blocking.

    SPDXライセンスの表現形式を使用してください。 例:「Apache-2.0」、「BSD-2-Clause」、「BSD-3-Clause」、「GPL-2.0+」、「LGPL-3.0+」、「MIT」、「(BSD-2-Clause OR Ruby)」。一重引用符または二重引用符を含めないでください。
    複数の言語がある場合は、コンマを区切り(スペースを入れてもよい)としてリストし、使用頻度の高いものから順に並べます。使用言語が多くある場合は、少なくとも最初の3つの最も多く使われるものをリストアップしてください。言語がない場合(例:ドキュメントだけ、またはテスト専用のプロジェクトの場合)、1文字 " - "を使用します。言語ごとにある大文字・小文字の慣用を踏襲してください(例:「JavaScript」)。
    Common Platform Enumeration(CPE)は、情報技術(IT)システム、ソフトウェア、およびパッケージのための構造化された命名体系です。脆弱性を報告する際に、多くのシステムやデータベースで使用されています。

    Blanc has earned OpenSSF Baseline Level 2 through voluntary self-certification; no independent security certification or completed external audit is claimed. Bananify Creative-owned software is MIT-licensed. Reserved identity artwork and third-party licensing terms are documented at https://github.com/bnfy/blanc/blob/main/ASSET-LICENSE.md and https://github.com/bnfy/blanc/blob/main/THIRD-PARTY-NOTICES.md. Current security assessment: https://github.com/bnfy/blanc/blob/main/docs/security-assessment.md. Release evidence: https://github.com/bnfy/blanc/blob/main/docs/release-incidents/2026-09-13-v1.17.0.md

 管理策 20/21 ●

  • 管理策


    CI/CDパイプラインでジョブに権限が割り当てられる場合、ソースコードまたは設定は、対応するアクティビティに必要な最小限の権限のみを割り当てる必要があります。 [OSPS-AC-04.02]
    プロジェクトのCI/CDパイプラインを構成して、デフォルトでユーザーとサービスに最小限の利用可能な権限を割り当て、特定のタスクに必要な場合にのみ権限を昇格させます。一部のバージョン管理システムでは、組織またはリポジトリレベルで設定できる場合があります。それができない場合は、パイプラインのトップレベルで権限を設定してください。

    Workflow-wide permissions are read-only; write scopes are granted only to jobs that publish releases, attest artifacts, deploy, or manage issues. Evidence: https://github.com/bnfy/blanc/tree/main/.github/workflows



    信頼できる協力者の入力を受け付けるCI/CDパイプラインは、パイプラインで使用する前にその入力をサニタイズおよび検証しなければなりません。 [OSPS-BR-01.04]
    CI/CDパイプラインは、明示的なワークフロー実行時にすべての協力者の入力をサニタイズ(期待値の引用、エスケープ、または終了)する必要があります。協力者は一般的に信頼されていますが、ワークフローへの手動入力はレビューできず、アカウント乗っ取りや内部脅威によって悪用される可能性があります。

    The release workflow validates collaborator-supplied mode, platform, and tag values in a credential-free job before publishing jobs use them: https://github.com/bnfy/blanc/blob/main/.github/workflows/release-windows-linux.yml



    正式なリリースが作成される場合、そのリリース内のすべてのアセットは、リリース識別子またはアセットの他の一意の識別子と明確に関連付けられている必要があります。 [OSPS-BR-02.02]
    プロジェクトによって生成される各ソフトウェアアセットに一意のバージョン識別子を割り当て、一貫した命名規則または番号体系に従ってください。例としては、SemVer、CalVer、またはgitコミットIDなどがあります。

    Every compiled asset filename and updater manifest is version-bound, and SHA256SUMS associates every asset digest with the immutable release. Current evidence: https://github.com/bnfy/blanc/releases/tag/v1.17.0



    プロジェクトは、プロジェクトで使用されるシークレットと認証情報を管理するためのポリシーを定義する必要があります。このポリシーには、シークレットと認証情報を保存、アクセス、およびローテーションするためのガイドラインが含まれている必要があります。 [OSPS-BR-07.02]
    シークレットと認証情報がプロジェクト内でどのように管理され使用されているかを文書化してください。これには、シークレットがどのように保存されるか(例:シークレット管理ツールを使用)、アクセスがどのように制御されるか、シークレットがどのようにローテーションまたは更新されるかについての詳細が含まれている必要があります。機密情報がソースコードにハードコードされたり、バージョン管理システムに保存されたりしないようにしてください。

    Storage, access, least-privilege, rotation, revocation, and incident requirements for project credentials are documented at https://github.com/bnfy/blanc/blob/main/docs/security-maintenance-policy.md#secrets-and-credentials



    プロジェクトがリリースを作成した場合、プロジェクトのドキュメントには、リリースアセットの整合性と真正性を検証するための手順が含まれている必要があります。 [OSPS-DO-03.01]
    プロジェクトの手順には、使用されている技術、実行するコマンド、および期待される出力に関する情報が含まれている必要があります。可能であれば、このドキュメントをビルドおよびリリースパイプラインと同じ場所に保存しないようにして、単一の侵害によってソフトウェアとその整合性を検証するためのドキュメントの両方が侵害されることを避けてください。

    Blanc documents SHA-256 and Sigstore verification commands, expected results, native signature checks, provenance, and each check's limits: https://github.com/bnfy/blanc/blob/main/docs/release-verification.md



    プロジェクトがリリースを作成した場合、プロジェクトのドキュメントには、ソフトウェアリリースを作成した人またはプロセスの期待されるIDを検証するための手順が含まれている必要があります。 [OSPS-DO-03.02]
    期待されるIDは、署名に使用される鍵ID、sigstore証明書からの発行者とID、または他の類似の形式である可能性があります。可能であれば、このドキュメントをビルドおよびリリースパイプラインと同じ場所に保存しないようにして、単一の侵害によってソフトウェアとその整合性を検証するためのドキュメントの両方が侵害されることを避けてください。

    Release verification pins the expected Sigstore workflow identity and issuer and the expected Apple and Windows publisher identities: https://github.com/bnfy/blanc/blob/main/docs/release-verification.md



    プロジェクトがリリースを作成した場合、プロジェクトのドキュメントには、各リリースのサポートの範囲と期間に関する説明文が含まれている必要があります。 [OSPS-DO-04.01]
    プロジェクトのリリースされたソフトウェアアセットのサポートの範囲と期間を伝えるために、プロジェクトにはSUPPORT.mdファイル、SECURITY.mdの「サポート」セクション、または各リリースの予想されるサポート期間、提供されるサポートの種類(例:バグ修正、セキュリティ更新)、およびサポートを受けるための関連ポリシーや手順を説明する他のドキュメントが必要です。

    Blanc supports the newest public stable release until the next stable release. Supported platforms, features, services, exclusions, and channels are documented at https://github.com/bnfy/blanc/blob/main/SUPPORT.md



    プロジェクトがリリースを作成した場合、プロジェクトのドキュメントには、リリースやバージョンがセキュリティ更新を受けなくなる時期について説明文が含まれている必要があります。 [OSPS-DO-05.01]
    セキュリティ修正のサポート範囲と期間を伝えるために、プロジェクトにはSUPPORT.mdまたはプロジェクトのセキュリティ更新に関するポリシーを説明する他のドキュメントが必要です。

    Only the newest public Blanc release receives security fixes; older releases are not maintained as separate support branches: https://github.com/bnfy/blanc/blob/main/SECURITY.md#supported-versions



    プロジェクトの文書には、機密リソースへの昇格された権限を付与する前に、コード共同作業者がレビューされるというポリシーを含めなければなりません(MUST)。 [OSPS-GV-04.01]
    マージ承認やシークレットへのアクセスなど、機密リソースへのエスカレートされた権限を付与される前に、コード共同作業者がレビューおよび承認される必要があるという実行可能なポリシーをプロジェクトのドキュメントに公開してください。審査には、既知の信頼できる組織との貢献者の関連性を確認するなど、正当化可能なIDの系統を確立することが推奨されます。

    Identity, contribution-history, security-conduct, need, least-privilege, decision-record, and service-principal checks are required before sensitive access is granted: https://github.com/bnfy/blanc/blob/main/docs/governance.md



    プロジェクトがリリースを作成した場合、リリースされたすべてのコンパイル済みソフトウェアアセットは、ソフトウェア部品表とともに配信される必要があります。 [OSPS-QA-02.02]
    ビルド時に精度が検証されたツールを使用してSBOMを自動生成することが推奨されます。これにより、ユーザーは環境内の他のプロジェクトと並行して、標準化されたアプローチでこのデータを取り込むことができます。

    Every release includes a CycloneDX SBOM for the shipped dependency graph, and the authenticated checksum manifest covers the SBOM and compiled platform assets. Current evidence: https://github.com/bnfy/blanc/releases/tag/v1.17.0



    プロジェクトが複数のソースコードリポジトリで構成されるリリースを作成した場合、すべてのサブプロジェクトは、プライマリコードベースと同等またはそれより厳しいセキュリティ要件を実施する必要があります。 [OSPS-QA-04.02]
    プロジェクトによって生成され、リリースにコンパイルされる追加のサブプロジェクトコードリポジトリは、それぞれのコードベースのステータスと意図に応じて、セキュリティ要件を実施する必要があります。対応するOSPS Baseline要件に従うことに加えて、これにはセキュリティレビューを要求すること、脆弱性がないこと、および既知のセキュリティ問題がないことを確認することが含まれる場合があります。

    Blanc has one source repository. The desktop app, site, Workers, and companion sources all reside in bnfy/blanc; no additional source-code repository is compiled into a release.



    プロジェクトの文書は、テストがいつ、どのように実行されるかを明確に文書化しなければなりません(MUST)。 [OSPS-QA-06.02]
    コントリビューションドキュメントに、ローカルでテストを実行する方法とCI/CDパイプラインでテストを実行する方法を説明するセクションを追加します。ドキュメントでは、テストが何をテストしているかと結果の解釈方法を説明する必要があります。

    Public automated unit and desktop suites; invocation is documented in package scripts and CI: https://github.com/bnfy/blanc/blob/main/.github/workflows/parity-guards.yml [test]



    プロジェクトの文書には、プロジェクトが作成したソフトウェアへのすべての主要な変更が、自動テスト スイート内の該当機能のテストを追加または更新すべきであるというポリシーを含めなければなりません(MUST)。 [OSPS-QA-06.03]
    コントリビューションドキュメントに、テストの追加または更新に関するポリシーを説明するセクションを追加します。ポリシーでは、主要な変更とは何か、どのようなテストを追加または更新すべきかを説明する必要があります。

    The contributor policy defines major changes and requires an automated test of changed behavior and its important failure case: https://github.com/bnfy/blanc/blob/main/CONTRIBUTING.md#changes-and-validation



    プライマリブランチにコミットが行われる場合、プロジェクトのバージョン管理システムは、マージする前に、作者以外の少なくとも1人の人間による変更の承認を要求しなければなりません(MUST)。 [OSPS-QA-07.01]
    プロジェクトのバージョン管理システムを構成し、リリースまたはプライマリブランチにマージする前に、作者以外の少なくとも1人の人間による変更の承認を要求します。これは、プルリクエストがマージされる前に、少なくとも1人の他のコラボレーターによってレビューおよび承認されることを要求することで実現できます。

    Blanc currently has one human maintainer and branch protection requires zero approving reviews. Meeting this control requires a second qualified human collaborator and required non-author approval.



    プロジェクトがリリースを行った場合、プロジェクトは、システム内の重要なコードパス、関数、および相互作用に対する攻撃を理解して防御するために、脅威モデリングと攻撃面分析を実行しなければなりません(MUST)。 [OSPS-SA-03.02]
    脅威モデリングは、プロジェクトがコードベース、関連するプロセスとインフラストラクチャ、インターフェース、主要コンポーネントを調べ、「ハッカーのように考え」、システムがどのように破壊または侵害される可能性があるかをブレインストーミングする活動です。識別された各脅威をリストアップし、プロジェクトは、発生する可能性のあるギャップ/脆弱性を積極的に回避または閉じる方法を検討できます。新機能や破壊的変更に対して、これが更新されていることを確認してください。

    The maintained security assessment covers actors, trust boundaries, attack surfaces, external interfaces, high-impact threats, controls, residual risks, evidence, and review triggers: https://github.com/bnfy/blanc/blob/main/docs/security-assessment.md



    プロジェクトに影響しないソフトウェア コンポーネント内の脆弱性は、VEX文書で説明され、悪用不可能性の詳細を伴って脆弱性レポートを補完しなければなりません(MUST)。 [OSPS-VM-04.02]
    既知の脆弱性の悪用可能性ステータスを伝達するVEXフィードを確立し、評価の詳細または脆弱なコードが実行されないようにする適切な緩和策を含めます。

    Known component findings assessed as non-affecting are recorded with machine-readable status, justification, and impact statements in https://github.com/bnfy/blanc/blob/main/security/openvex.json; the dependency audit reads that VEX document directly.



    プロジェクトの文書には、脆弱性やライセンスに関連するSCAの検出結果の修正に関するしきい値を定義するポリシーを含めなければなりません(MUST)。 [OSPS-VM-05.01]
    プロジェクト内に、脆弱性とライセンスに関連するSCA調査結果の修復のしきい値を定義するポリシーを文書化します。これらの調査結果を識別、優先順位付け、修復するプロセスを含めます。

    The policy blocks malicious packages, high/critical vulnerability findings, and shipped dependency-license violations, with VEX requirements for non-affecting findings: https://github.com/bnfy/blanc/blob/main/docs/security-maintenance-policy.md#dependency-and-license-analysis



    プロジェクトの文書には、リリース前にSCA違反に対処するポリシーを含めなければなりません(MUST)。 [OSPS-VM-05.02]
    プロジェクト内に、リリース前に該当するソフトウェア構成分析の結果に対処するポリシーを文書化し、リリース前にそのポリシーへの準拠を検証するステータスチェックを追加します。

    The policy prohibits releases with unresolved dependency-policy violations or stale license evidence: https://github.com/bnfy/blanc/blob/main/docs/security-maintenance-policy.md#dependency-and-license-analysis



    プロジェクトのコードベースへのすべての変更は、悪意のある依存関係および依存関係内の既知の脆弱性に関する文書化されたポリシーに照らして自動的に評価され、悪用不可能であると宣言され抑制されている場合を除き、違反があった場合はブロックされなければなりません(MUST)。 [OSPS-VM-05.03]
    プロジェクトのバージョン管理システムにステータスチェックを作成し、コードベースへのすべての変更に対してソフトウェア構成分析ツールを実行します。変更がマージされる前に、ステータスチェックが合格することを要求します。

    Every pull request and push to main runs the required substrate job, which evaluates all four npm lockfiles and fails on unsuppressed high/critical, malicious, or unidentified advisories: https://github.com/bnfy/blanc/blob/main/.github/workflows/parity-guards.yml



    プロジェクトの文書には、SASTの検出結果の修正に関するしきい値を定義するポリシーを含めなければなりません(MUST)。 [OSPS-VM-06.01]
    プロジェクト内に、静的アプリケーションセキュリティテスト(SAST)調査結果の修復のしきい値を定義するポリシーを文書化します。これらの調査結果を識別、優先順位付け、修復するプロセスを含めます。

    The SAST policy defines critical and high CodeQL findings as violations and requires a specific recorded rationale for false-positive, test-only, or non-exploitable dismissals: https://github.com/bnfy/blanc/blob/main/docs/security-maintenance-policy.md#static-analysis



    プロジェクトのコードベースへのすべての変更は、セキュリティ上の弱点に関する文書化されたポリシーに照らして自動的に評価され、悪用不可能であると宣言され抑制されている場合を除き、違反があった場合はブロックされなければなりません(MUST)。 [OSPS-VM-06.02]
    プロジェクトのバージョン管理システムにステータスチェックを作成し、コードベースへのすべての変更に対して静的アプリケーションセキュリティテスト(SAST)ツールを実行します。変更がマージされる前に、ステータスチェックが合格することを要求します。

    CodeQL runs on every pull request. Active repository ruleset 23236533 blocks merges on analysis errors or high-or-higher security alerts. PRs #352 and #354 resolved the production findings; the single dismissed finding is GitHub-classified test code with a recorded used-in-tests rationale. The main-branch CodeQL scan at commit 9b903c30 passes with zero open high-severity alerts. Evidence: https://github.com/bnfy/blanc/pull/354



ツールやAIシステムを使って、https://www.bestpractices.dev/ja/projects/14451/choose/edit?osps_ac_01_01_status=Met&osps_ac_01_01_justification=GitHub+enforcedのような簡単なURLで変更を提案できます。その方法については、自動化提案システムをご覧ください。 このデータは、Community Data License Agreement – Permissive, Version 2.0 (CDLA-Permissive-2.0)のもとで利用可能です。これは、データ受領者が、データ受領者がこの契約のテキストを共有データとともに利用可能にする限り、変更の有無にかかわらずデータを共有できることを意味します。BANANIFYおよびOpenSSFベストプラクティスバッジのコントリビューターにクレジットを表示してください。

プロジェクト バッジ登録の所有者: BANANIFY.
エントリの作成日時 2026-09-04 21:08:30 UTC、 最終更新日 2026-10-19 15:51:10 UTC