Skip to content

Security: shigel/open-japan-politech-platform

Security

SECURITY.md

セキュリティポリシー

Open Japan PoliTech Platform (OJPP) は、政治資金・政策・議会データを扱うオープンソースの政治テクノロジー基盤です。政治インフラとしての公共性を鑑み、セキュリティを最重要事項として位置づけています。

本プロジェクトは AGPL-3.0-or-later ライセンスのもとで完全にオープンであり、コードの透明性そのものがセキュリティの一部です。しかし、扱うデータの公共性と影響範囲の大きさから、脆弱性の発見と修正には迅速かつ慎重な対応を行います。

サポート対象バージョン

バージョン サポート状況
最新の main ブランチ サポート対象
最新リリース版 サポート対象
それ以前のリリース サポート対象外

原則として、最新の main ブランチと最新リリース版のみをセキュリティサポートの対象とします。旧バージョンを利用している場合は、最新版へのアップデートを推奨します。

脆弱性の報告方法

セキュリティに関する脆弱性を発見した場合は、公開の Issue や Pull Request ではなく、GitHub Security Advisories を使用して非公開で報告してください。

報告手順

  1. GitHub Security Advisories にアクセス
  2. 「New draft security advisory」から新しいアドバイザリを作成
  3. 以下の情報をできる限り含めてください:
    • 脆弱性の概要
    • 影響を受けるコンポーネント(MoneyGlass / PolicyDiff / ParliScope / 共通パッケージ等)
    • 再現手順
    • 影響範囲の評価(データ漏洩、改ざん、サービス停止等)
    • 可能であれば修正案

報告すべきもの

  • 認証・認可の回避や不備
  • SQLインジェクション、XSS、CSRF 等のWebアプリケーション脆弱性
  • APIの不正利用につながる設計上の問題
  • データの改ざんや不正アクセスにつながる問題
  • 依存パッケージの既知の脆弱性で、本プロジェクトに影響があるもの
  • 個人情報やセンシティブなデータの意図しない露出
  • エージェント認証の回避や権限昇格

報告不要なもの

  • 既に公開されている Issue と重複する問題
  • 本番環境にデプロイされていないテスト用コードの問題
  • セキュリティに影響しない軽微なバグ(通常の Issues へ報告してください)
  • ベストプラクティスからの乖離で、実際の攻撃ベクトルがないもの
  • ソーシャルエンジニアリングに関する報告
  • DoS攻撃の理論的な可能性(実証なし)

対応フロー

脆弱性の報告を受けてから、以下のフローで対応します。

1. 受領確認(48時間以内)

  • 報告を受領した旨を報告者に通知します
  • 担当者をアサインします

2. 調査・評価(7日以内)

  • 脆弱性の再現と影響範囲の確認を行います
  • 深刻度を以下の基準で評価します:
    • Critical: データの改ざん・漏洩が可能、または認証の完全な回避
    • High: 特定条件下でのデータアクセスや権限昇格
    • Medium: 限定的な影響のある脆弱性
    • Low: 理論的なリスクはあるが実際の影響は軽微
  • 評価結果と対応方針を報告者に共有します

3. 修正(深刻度に応じて)

深刻度 目標修正期間
Critical 72時間以内
High 7日以内
Medium 30日以内
Low 次回リリース時
  • 修正パッチを作成し、内部でレビューを行います
  • 必要に応じて報告者にもレビューを依頼します

4. 公開

  • 修正をリリースした後、セキュリティアドバイザリを公開します
  • 影響を受けるユーザーに対して適切な通知を行います
  • 必要に応じて CVE を取得します

謝辞ポリシー

脆弱性を責任ある方法で報告していただいた方には、以下の形で謝辞を表します:

  • セキュリティアドバイザリ内での報告者のクレジット表記(希望制)
  • プロジェクトの SECURITY.md またはリリースノートでの謝辞(希望制)
  • 報告者が匿名を希望する場合は、その意向を尊重します

現時点では金銭的な報奨(Bug Bounty)プログラムは実施していませんが、プロジェクトの成長に応じて検討します。

セキュリティに関する設計方針

本プロジェクトが特にセキュリティを重視する理由:

  • 政治データの公共性: 政治資金・政策・議会データは民主主義の根幹に関わる情報であり、その正確性と完全性は極めて重要です
  • 非党派性の保証: データの改ざんは特定政党への有利・不利に直結するため、データの完全性を技術的に担保する必要があります
  • エージェントアクセス: AIエージェントによる大量・高速なAPIアクセスを前提としており、不正なエージェントによる悪用を防ぐ設計が求められます
  • オープンソースの透明性: AGPL-3.0-or-laterのもとでコードは完全に公開されています。これはセキュリティの強みであると同時に、脆弱性が発見されやすいことも意味します

お問い合わせ

セキュリティに関する一般的な質問は GitHub Issues で受け付けています。脆弱性の報告は必ず GitHub Security Advisories を使用してください。

There aren't any published security advisories