PR Metrics

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

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

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


これらはベースラインレベル3の基準です。 これらの基準はベースラインバージョン v2025.10.10 のものであり、バージョン v2026.02.19 の更新された基準テキストが含まれています。バージョン v2026.02.19 で新たに追加された基準は「future」とラベル付けされており、2026-06-01 から適用が開始されます。その日までに「future」基準への回答を提供してください。

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

        

 基本的情報

  • 一般

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

    A GitHub Action & Azure Pipelines task for augmenting pull request titles to let reviewers quickly determine PR size and test coverage.

    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)システム、ソフトウェア、およびパッケージのための構造化された命名体系です。脆弱性を報告する際に、多くのシステムやデータベースで使用されています。

 管理策 20/21

  • 管理策


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

    All three GitHub Actions workflow files (build.yml at https://github.com/microsoft/PR-Metrics/blob/main/.github/workflows/build.yml, release-initiate.yml at https://github.com/microsoft/PR-Metrics/blob/main/.github/workflows/release-initiate.yml, release-publish.yml at https://github.com/microsoft/PR-Metrics/blob/main/.github/workflows/release-publish.yml) set permissions: {} at the top level, defaulting all jobs to no permissions. Each job explicitly requests only the specific permissions it requires. For example, the release job in release-publish.yml requests only attestations: write and id-token: write, while the build job in build.yml requests permissions: {} (no permissions). The Azure DevOps pipelines extend the Office.Official.PipelineTemplate and Office.Unofficial.PipelineTemplate templates, which enforce organisational security policies including least-privilege defaults.



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


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

    Each release is assigned a unique Semantic Versioning (https://semver.org/) identifier (e.g., v1.7.11). The version is maintained consistently across package.json (https://github.com/microsoft/PR-Metrics/blob/main/package.json), task.json (https://github.com/microsoft/PR-Metrics/blob/main/src/task/task.json), and vss-extension.json (https://github.com/microsoft/PR-Metrics/blob/main/src/vss-extension.json). Release assets (the VSIX extension, Sigstore signature bundle, and CycloneDX SBOM) are published as part of the GitHub Release (https://github.com/microsoft/PR-Metrics/releases) tagged with the version identifier. The release-publish.yml workflow (https://github.com/microsoft/PR-Metrics/blob/main/.github/workflows/release-publish.yml) reads the version from release-publish-trigger.txt (https://github.com/microsoft/PR-Metrics/blob/main/.github/workflows/support/release-publish-trigger.txt) and creates the release with that version tag.



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

    The project documents its secrets and credentials management policy in docs/secrets-management.md (https://github.com/microsoft/PR-Metrics/blob/main/docs/secrets-management.md). The policy covers all secrets used by the project (including GITHUB_TOKEN, PR_METRICS_TOKEN, and ESRP service connections), how they are stored (exclusively in GitHub Secrets and Azure DevOps variable groups), how access is controlled (repository-level permissions, fork restrictions, least-privilege workflow permissions), and how secrets are rotated (GITHUB_TOKEN is auto-rotated per workflow run; PATs are reviewed periodically). The policy also describes preventative measures including Gitleaks secret scanning, environment variable usage instead of command-line arguments, and automatic log masking.



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

    The docs/verification.md file (https://github.com/microsoft/PR-Metrics/blob/main/docs/verification.md) provides comprehensive instructions for verifying release integrity and authenticity using two independent methods: Build provenance attestation, verified via GitHub CLI (gh attestation verify), confirming the artefact was built by the official release workflow and hasn't been tampered with. Cosign signature, verified via Sigstore cosign (cosign verify-blob), confirming cryptographic integrity using keyless signing backed by GitHub's OIDC tokens. The documentation includes prerequisites, step-by-step verification commands, expected output, and troubleshooting guidance. This documentation is maintained in the repository's docs/ folder, separate from the build and release pipeline configuration.



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

    The docs/verification.md file (https://github.com/microsoft/PR-Metrics/blob/main/docs/verification.md) includes instructions to verify the expected identity of the process authoring the release. The cosign verification command specifies the expected identity via: --certificate-identity-regexp matching ^https://github.com/microsoft/PR-Metrics/.github/workflows/release-publish.yml@refs/heads/main$ and --certificate-oidc-issuer matching https://token.actions.githubusercontent.com. This confirms that the release was authored by the release-publish.yml workflow running on the main branch of the microsoft/PR-Metrics repository, using GitHub's OIDC identity provider. The build provenance attestation additionally links the artefact to a specific workflow run and commit. This documentation is maintained separately from the build and release pipeline.



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

    The SUPPORT.md file (https://github.com/microsoft/PR-Metrics/blob/main/.github/SUPPORT.md) documents the support lifecycle for the project. It states that PR Metrics follows a rolling release model where only the latest release is actively supported with bug fixes and security updates. Previous releases do not receive patches. The document also describes the end-of-life policy: should the project become inactive, the last published release will remain available but will not receive further updates. Consumers will be notified of any planned end of life through GitHub Discussions.



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

    The SUPPORT.md file (https://github.com/microsoft/PR-Metrics/blob/main/.github/SUPPORT.md) provides a clear statement on when releases will no longer receive security updates: "Once a new version is published, the previous version no longer receives security updates." The document further states that critical security issues may result in an expedited patch release, and that consumers should always run the latest version. The end-of-life section clarifies that if the project becomes inactive, the last release will remain available but will not receive security patches.



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

    The GOVERNANCE.md file (https://github.com/microsoft/PR-Metrics/blob/main/GOVERNANCE.md) includes a "Collaborator Review Policy" section that requires contributors to be reviewed and approved before being granted escalated permissions to sensitive resources. The policy requires nomination by an existing maintainer based on sustained quality contributions, identity verification through association with a known trusted organisation, and approval by at least one existing maintainer. Permissions are granted at the minimum level required for the contributor's role. Access to signing infrastructure is restricted to automated CI/CD pipelines and cannot be granted to individual contributors.



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

    The release-publish.yml workflow (https://github.com/microsoft/PR-Metrics/blob/main/.github/workflows/release-publish.yml) generates a CycloneDX (https://cyclonedx.org/) Software Bill of Materials (SBOM) using "npm sbom --sbom-format cyclonedx --sbom-type library". The SBOM (ms-omex.PRMetrics.sbom.cdx.json) is included as a release asset alongside the VSIX extension and Sigstore signature bundle on the GitHub Releases page (https://github.com/microsoft/PR-Metrics/releases). This enables consumers to ingest dependency data in a standardised format alongside other projects in their environment.



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

    The project does not have any subprojects. It is a single codebase that produces artefacts for both GitHub Actions and Azure DevOps Pipelines via shared source code with platform-specific abstraction layers, as described in docs/cross-platform-architecture.md (https://github.com/microsoft/PR-Metrics/blob/main/docs/cross-platform-architecture.md).



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

    The project's testing procedures are documented across multiple files: docs/development.md (https://github.com/microsoft/PR-Metrics/blob/main/docs/development.md) contains a "Testing" section explaining how to run tests locally ("npm test"), the test framework (Mocha at https://mochajs.org/ with ts-mockito at https://github.com/NagRock/ts-mockito), the Arrange-Act-Assert pattern used, code coverage reporting via c8 (https://github.com/bcoe/c8), and manual test case instructions. CONTRIBUTING.md (https://github.com/microsoft/PR-Metrics/blob/main/.github/CONTRIBUTING.md) describes how to run tests locally and in CI/CD, what the tests cover, and how to interpret results (pass/fail status and coverage percentages). It also documents that all automated checks in build.yml (https://github.com/microsoft/PR-Metrics/blob/main/.github/workflows/build.yml) (unit tests, CodeQL, Super-Linter) must pass before a pull request can be merged.



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

    The CONTRIBUTING.md file (https://github.com/microsoft/PR-Metrics/blob/main/.github/CONTRIBUTING.md) includes a "Test Policy for Major Changes" section requiring that all major changes include corresponding test updates. The policy defines specific requirements for new features (unit tests covering new functionality and edge cases), bug fixes (regression tests), and refactoring (existing tests must continue to pass). A "major change" is defined as any modification that alters extension behaviour, adds configuration parameters, changes metric calculations, or modifies API interactions. The pull request template (https://github.com/microsoft/PR-Metrics/blob/main/.github/pull_request_template.md) includes a testing checklist to enforce compliance.



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

    The repository is protected by multiple rulesets (default-ruleset, microsoft-production-ruleset) that prevent direct commits to the main branch and require pull request reviews. At least one non-author approval is required before a pull request can be merged. The CODEOWNERS file (https://github.com/microsoft/PR-Metrics/blob/main/.github/CODEOWNERS) assigns @microsoft/omex as the required reviewer for all files. See repository rulesets at https://github.com/microsoft/PR-Metrics/rules.



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

    The project maintains a comprehensive security assessment in docs/security-assessment.md (https://github.com/microsoft/PR-Metrics/blob/main/docs/security-assessment.md), which includes a Mermaid diagram of trust boundaries, an asset sensitivity table, and detailed threat analysis covering five threat categories: access token exposure, injection via untrusted PR content, supply chain attacks on dependencies, CI/CD permission escalation, and Git command injection. Each threat includes likelihood and impact ratings with specific mitigations. The assessment also identifies residual risks and specifies a review cadence.



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

    The docs/security-scanning-policy.md file (https://github.com/microsoft/PR-Metrics/blob/main/docs/security-scanning-policy.md) documents the project's VEX policy. When a vulnerability is identified in a dependency that does not affect PR Metrics (e.g., the vulnerable code path is not reachable), the finding is assessed and documented as non-exploitable via GitHub Security Advisories (https://github.com/microsoft/PR-Metrics/security/advisories) and Dependabot alert dismissals with documented reasons. As of the last assessment, no known vulnerabilities in project dependencies have been identified as non-exploitable requiring VEX documentation; all known vulnerabilities are either resolved through dependency updates or actively being addressed per the documented remediation thresholds.



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

    The docs/security-scanning-policy.md file (https://github.com/microsoft/PR-Metrics/blob/main/docs/security-scanning-policy.md) defines remediation thresholds for SCA findings. Critical and high severity findings must be resolved by the next patch release. Medium and low severity findings must be addressed by the next scheduled release. The policy includes a severity-to-remediation-target mapping table and describes the process for identifying, prioritising, and remediating findings via Dependabot alerts, CodeQL, and Component Governance.



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

    The docs/security-scanning-policy.md file (https://github.com/microsoft/PR-Metrics/blob/main/docs/security-scanning-policy.md) documents a pre-release policy requiring that: (1) no unresolved Dependabot alerts of critical or high severity exist; (2) all npm dependencies are updated to their latest compatible versions via the release workflow; (3) Component Governance detection in the Azure DevOps pipeline completes without blocking findings; and (4) non-exploitable findings are documented. The release-initiate.yml workflow (https://github.com/microsoft/PR-Metrics/blob/main/.github/workflows/release-initiate.yml) enforces dependency updates as part of the release process, and the Azure DevOps pipeline applies the M365 Guardian policy.



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

    All changes to the codebase are automatically evaluated for malicious dependencies and known vulnerabilities: CodeQL (https://codeql.github.com/) runs on every pull request via the Validate job in build.yml (https://github.com/microsoft/PR-Metrics/blob/main/.github/workflows/build.yml), using security-and-quality, security-experimental, and security-extended query sets. Dependabot alerts (https://docs.github.com/code-security/dependabot/dependabot-alerts/about-dependabot-alerts) are configured at the repository level. Component Governance (https://docs.opensource.microsoft.com/tools/cg/) runs dependency detection in the Azure DevOps PR pipeline. The repository rulesets require that all status checks pass before merging. Non-exploitable findings are documented via Dependabot alert dismissals with justification or in the security scanning policy.



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

    The docs/security-scanning-policy.md file (https://github.com/microsoft/PR-Metrics/blob/main/docs/security-scanning-policy.md) defines remediation thresholds for SAST findings. Critical and high severity findings block pull request merging via required status checks and must be resolved immediately. Medium severity findings must be resolved before the next release. Low severity findings are addressed on a best-effort basis. The policy covers CodeQL, ESLint, CredScan, and PoliCheck findings, and describes how suppressed findings are documented with justification.



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

    All changes to the codebase are automatically evaluated for security weaknesses: CodeQL (https://codeql.github.com/) is a required status check on every pull request, running extended security query sets against the JavaScript/TypeScript codebase. Super-Linter (https://github.com/super-linter/super-linter) runs ESLint and Gitleaks (https://github.com/gitleaks/gitleaks) on every pull request. CredScan (https://secdevtools.azurewebsites.net/helpcredscan.html) and Guardian PostAnalysis run in the Azure DevOps PR pipeline, enforcing the M365 security policy. The repository rulesets require that all status checks pass before merging. Suppressed findings are documented with justification in configuration files such as CredScanSuppressions.json (https://github.com/microsoft/PR-Metrics/blob/main/.github/azure-devops/CredScanSuppressions.json) and gitleaks.toml (https://github.com/microsoft/PR-Metrics/blob/main/.github/linters/gitleaks.toml).



このデータは、Community Data License Agreement – Permissive, Version 2.0 (CDLA-Permissive-2.0)のもとで利用可能です。これは、データ受領者が、データ受領者がこの契約のテキストを共有データとともに利用可能にする限り、変更の有無にかかわらずデータを共有できることを意味します。Muiris WoulfeおよびOpenSSFベストプラクティスバッジのコントリビューターにクレジットを表示してください。

プロジェクト バッジ登録の所有者: Muiris Woulfe.
エントリの作成日時 2026-02-19 17:32:37 UTC、 最終更新日 2026-02-27 19:06:06 UTC 最後に2026-02-23 14:15:17 UTCにバッジ合格できませんでした。 最後に2026-02-23 14:43:51 UTCにバッジ合格を達成しました。