Open Japan PoliTech Platform (OJPP) は、政治資金・政策・議会データを扱うオープンソースの政治テクノロジー基盤です。政治インフラとしての公共性を鑑み、セキュリティを最重要事項として位置づけています。
本プロジェクトは AGPL-3.0-or-later ライセンスのもとで完全にオープンであり、コードの透明性そのものがセキュリティの一部です。しかし、扱うデータの公共性と影響範囲の大きさから、脆弱性の発見と修正には迅速かつ慎重な対応を行います。
| バージョン | サポート状況 |
|---|---|
最新の main ブランチ |
サポート対象 |
| 最新リリース版 | サポート対象 |
| それ以前のリリース | サポート対象外 |
原則として、最新の main ブランチと最新リリース版のみをセキュリティサポートの対象とします。旧バージョンを利用している場合は、最新版へのアップデートを推奨します。
セキュリティに関する脆弱性を発見した場合は、公開の Issue や Pull Request ではなく、GitHub Security Advisories を使用して非公開で報告してください。
- GitHub Security Advisories にアクセス
- 「New draft security advisory」から新しいアドバイザリを作成
- 以下の情報をできる限り含めてください:
- 脆弱性の概要
- 影響を受けるコンポーネント(MoneyGlass / PolicyDiff / ParliScope / 共通パッケージ等)
- 再現手順
- 影響範囲の評価(データ漏洩、改ざん、サービス停止等)
- 可能であれば修正案
- 認証・認可の回避や不備
- SQLインジェクション、XSS、CSRF 等のWebアプリケーション脆弱性
- APIの不正利用につながる設計上の問題
- データの改ざんや不正アクセスにつながる問題
- 依存パッケージの既知の脆弱性で、本プロジェクトに影響があるもの
- 個人情報やセンシティブなデータの意図しない露出
- エージェント認証の回避や権限昇格
- 既に公開されている Issue と重複する問題
- 本番環境にデプロイされていないテスト用コードの問題
- セキュリティに影響しない軽微なバグ(通常の Issues へ報告してください)
- ベストプラクティスからの乖離で、実際の攻撃ベクトルがないもの
- ソーシャルエンジニアリングに関する報告
- DoS攻撃の理論的な可能性(実証なし)
脆弱性の報告を受けてから、以下のフローで対応します。
- 報告を受領した旨を報告者に通知します
- 担当者をアサインします
- 脆弱性の再現と影響範囲の確認を行います
- 深刻度を以下の基準で評価します:
- Critical: データの改ざん・漏洩が可能、または認証の完全な回避
- High: 特定条件下でのデータアクセスや権限昇格
- Medium: 限定的な影響のある脆弱性
- Low: 理論的なリスクはあるが実際の影響は軽微
- 評価結果と対応方針を報告者に共有します
| 深刻度 | 目標修正期間 |
|---|---|
| Critical | 72時間以内 |
| High | 7日以内 |
| Medium | 30日以内 |
| Low | 次回リリース時 |
- 修正パッチを作成し、内部でレビューを行います
- 必要に応じて報告者にもレビューを依頼します
- 修正をリリースした後、セキュリティアドバイザリを公開します
- 影響を受けるユーザーに対して適切な通知を行います
- 必要に応じて CVE を取得します
脆弱性を責任ある方法で報告していただいた方には、以下の形で謝辞を表します:
- セキュリティアドバイザリ内での報告者のクレジット表記(希望制)
- プロジェクトの SECURITY.md またはリリースノートでの謝辞(希望制)
- 報告者が匿名を希望する場合は、その意向を尊重します
現時点では金銭的な報奨(Bug Bounty)プログラムは実施していませんが、プロジェクトの成長に応じて検討します。
本プロジェクトが特にセキュリティを重視する理由:
- 政治データの公共性: 政治資金・政策・議会データは民主主義の根幹に関わる情報であり、その正確性と完全性は極めて重要です
- 非党派性の保証: データの改ざんは特定政党への有利・不利に直結するため、データの完全性を技術的に担保する必要があります
- エージェントアクセス: AIエージェントによる大量・高速なAPIアクセスを前提としており、不正なエージェントによる悪用を防ぐ設計が求められます
- オープンソースの透明性: AGPL-3.0-or-laterのもとでコードは完全に公開されています。これはセキュリティの強みであると同時に、脆弱性が発見されやすいことも意味します
セキュリティに関する一般的な質問は GitHub Issues で受け付けています。脆弱性の報告は必ず GitHub Security Advisories を使用してください。