# セキュリティ脆弱性の報告 このファイルは、Claude How To プロジェクトに対するセキュリティ脆弱性の報告方法を説明する。 ## クイックリンク - **非公開報告**: https://github.com/luongnv89/claude-howto/security/advisories - **セキュリティポリシー**: [SECURITY.md](../SECURITY.md) - **報告テンプレート**: 下記参照 ## 脆弱性を報告する ### 方法 1: GitHub の Private Vulnerability Report(推奨) セキュリティ脆弱性を報告する優先手段。 **手順:** 1. https://github.com/luongnv89/claude-howto/security/advisories を開く 2. 「Report a vulnerability」をクリック 3. 詳細を記入(下のテンプレートを使う) 4. 送信 **利点:** - 修正版がリリースされるまで脆弱性を非公開に保つ - メンテナーへの自動通知 - 組み込みの共同作業機能 - GitHub セキュリティツールとの統合 ### 方法 2: GitHub Security Alert(依存関係向け) 依存関係に脆弱性を発見した場合: 1. https://github.com/luongnv89/claude-howto/security/advisories を開く 2. アラートを確認する 3. 修正案のプルリクエストを作成する 4. `security` ラベルを付ける ### 方法 3: 非公開メール(GitHub が利用できない場合) GitHub の報告システムを使えない場合: **近日対応**: ここにセキュリティ問い合わせ用メールアドレスを追加予定 当面は、上記の GitHub の非公開脆弱性報告を使ってほしい。 ## 脆弱性報告テンプレート 脆弱性を報告するときは次のテンプレートを使う: ``` **Title**: [Brief description of vulnerability] **Severity**: [Critical/High/Medium/Low] Estimated CVSS Score: [0-10] **Type**: [Code/Documentation/Dependency/Configuration] **Affected Component**: - File: [path/to/file.py] - Section: [Section name if documentation] - Version: [latest/specific version] **Description**: [Clear explanation of what the vulnerability is] **Potential Impact**: [What could an attacker do with this vulnerability?] [Who could be affected?] **Steps to Reproduce**: 1. [First step] 2. [Second step] 3. [Third step] [Expected result vs actual result] **Proof of Concept** (if available): [Code or steps to demonstrate the vulnerability] **Suggested Fix**: [Your recommended solution, if you have one] **Additional Context**: [Any other relevant information] **Your Information**: - Name: [Your name or anonymous] - Email: [Your email] - Credit: [How you'd like to be credited, if at all] ``` ## 報告後の流れ ### タイムライン 1. **即時(1 時間以内)** - プロジェクトメンテナーに自動通知が送られる 2. **24 時間以内** - 報告内容を初期評価する - 受領を確認する - 暫定的な深刻度評価を行う 3. **48 時間以内** - セキュリティチームから詳細回答 - 必要に応じて確認質問 - 脆弱性が確認された場合の修正タイムライン 4. **1〜7 日以内**(深刻度に依存) - 修正の開発とテスト - セキュリティアドバイザリの準備 - 修正リリースと公開アドバイザリの公表 ### コミュニケーション 以下を通じて状況を共有する: - GitHub 非公開脆弱性ディスカッション - メール(提供されている場合) - スレッド内の更新 報告者は以下を行える: - 確認質問の投げかけ - 追加情報の提供 - 修正案の提案 - タイムライン調整の依頼 ### 開示タイムライン **緊急(CVSS 9.0〜10.0)** - 修正: 即時リリース(24 時間以内) - 開示: 同日に公開アドバイザリ - 通知: 報告者に 24 時間前通知 **重大(CVSS 7.0〜8.9)** - 修正: 48〜72 時間以内にリリース - 開示: リリース時に公開アドバイザリ - 通知: 報告者に 5 日前通知 **中程度(CVSS 4.0〜6.9)** - 修正: 次回の通常更新に含める - 開示: リリース時に公開アドバイザリ - 通知: タイミングを調整 **軽微(CVSS 0.1〜3.9)** - 修正: 次回の通常更新に含める - 開示: リリース時にアドバイザリ - 通知: リリース当日 ## セキュリティ脆弱性の基準 ### スコープ内 以下に関する報告を受け付ける: - **コードの脆弱性** - インジェクション攻撃(コマンド、SQL など) - サンプル中のクロスサイトスクリプティング(XSS) - 認証・認可の不備 - パストラバーサル脆弱性 - 暗号関連の問題 - **ドキュメントのセキュリティ** - 露出した秘密情報や認証情報 - 安全でないコードパターン - セキュリティアンチパターン - 誤解を招くセキュリティ主張 - **依存関係の脆弱性** - 既知の CVE が含まれる依存関係 - サプライチェーン攻撃 - 悪意ある依存関係 - **設定の問題** - 安全でないデフォルト - 欠落したセキュリティヘッダ - サンプル内の認証情報露出 ### スコープ外 以下に関する報告は受け付けない: - Claude Code 自体の脆弱性(Anthropic に連絡してほしい) - 外部サービスの脆弱性 - 証拠のない理論的脆弱性 - すでに上流プロジェクトに報告済みの問題 - ソーシャルエンジニアリングやフィッシング - ユーザー教育・トレーニングの問題 ## 責任ある開示のガイドライン ### するべきこと ✅ - 公開開示の前に **非公開で報告** する - ファイルパスや行番号など **具体的に** 記述する - 脆弱性の **証拠を提示** する - 修正の **時間を確保** する(協調開示) - 詳細が見つかったら **更新** する - すべてのやり取りで **プロフェッショナル** に振る舞う - 公表まで **機密を尊重** する ### してはいけないこと ❌ - 修正前に **公開開示しない** - テストの範囲を超えて **脆弱性を悪用しない** - 他ユーザーのデータを **改変しない** - 金銭や見返りを **要求しない** - 他者と脆弱性を **共有しない** - いかなる形でも **悪用しない** - セキュリティ以外の問題で **スパムしない** ## 協調的開示 責任ある開示を実践している: 1. **非公開報告**: 報告者は非公開で報告する 2. **当方の評価**: 当方が深刻度を評価する 3. **修正開発**: 修正を開発・テストする 4. **事前通知**: 公開前に報告者に事前通知する 5. **公開リリース**: 修正とアドバイザリを同時に公開する 6. **クレジット**: 希望に応じて貢献を明記する **タイムラインは深刻度により変動する**(上記セクション参照) ## 修正リリース後 ### 公開アドバイザリ 公開セキュリティアドバイザリには以下が含まれる: - 脆弱性の説明 - 影響を受けるバージョン - 深刻度(CVSS スコア) - 修復手順 - 修正へのリンク - 報告者へのクレジット(許可がある場合) ### 報告者の認知 クレジットを希望する場合: - アドバイザリにあなたの名前・ハンドル - プロフィール/Web サイトへのリンク - リリースノートでの言及 - Hall of Fame への追加(作成された場合) ### 報酬なし 注意: - 本プロジェクトはボランティア運営のオープンソース - 金銭的報酬は提供できない - 認知とクレジットは提供する - 貢献はコミュニティの助けになる ## セキュリティリサーチ セキュリティリサーチを行う場合: 1. **許可を取る**: まずメンテナーに連絡する 2. **スコープを定める**: 何をテストするか合意する 3. **報告する**: このプロセスを使う 4. **タイムラインを尊重する**: 修正の時間を確保する 5. **責任を持って公表する**: 当方と協調する ## 質問 このプロセスに関する質問は: 1. 詳細ポリシーは [SECURITY.md](../SECURITY.md) を確認する 2. 下の [FAQ](#faq) セクションを見る 3. `[SECURITY]` ラベル付きで Discussion を開く 4. 機密性の高い質問は非公開脆弱性報告を使う ## FAQ **Q: 報告は秘密に保たれるか?** A: はい、修正リリースまで秘密に保たれる。詳細は修正に関わる者にのみ共有する。 **Q: 公開開示まで待たなければならない期間は?** A: 深刻度に応じた責任ある開示タイムライン(24 時間〜7 日)に従う。必要に応じて延長に同意できる。 **Q: クレジットは得られるか?** A: はい、希望すればセキュリティアドバイザリとリリースノートに記載する(匿名希望でなければ)。 **Q: 軽微な脆弱性でも対応してもらえるか?** A: 正当なセキュリティ問題はすべて真剣に扱う。軽微な修正でも認知する。 **Q: ドキュメントのみの脆弱性も報告してよいか?** A: もちろん。ドキュメントセキュリティも重要。安全でないパターンを含む例はスコープ内。 **Q: セキュリティ問題か判断できない場合は?** A: それでも報告してほしい。セキュリティ問題でなければそう伝える。誤検知でも問題ない。 **Q: 報告後に脆弱性を公開で議論してよいか?** A: 不可。アドバイザリ公開まで非公開を保ってほしい。事前開示はユーザーを危険にさらす可能性がある。 **Q: 報告が受領されたか確認するには?** A: GitHub から自動通知が送られ、24 時間以内に追って連絡する。 **Q: 返答がない場合は?** A: GitHub セキュリティアドバイザリのページを確認する。それでも応答がない場合、非公開報告にコメントしてフォローアップしてほしい。 ## リソース - [SECURITY.md](../SECURITY.md) — 完全なセキュリティポリシー - [CONTRIBUTING.md](../CONTRIBUTING.md) — 貢献ガイドライン - [CODE_OF_CONDUCT.md](../CODE_OF_CONDUCT.md) — コミュニティ基準 - [OWASP Vulnerability Disclosure](https://cheatsheetseries.owasp.org/cheatsheets/Vulnerability_Disclosure_Cheat_Sheet.html) — 責任ある開示のベストプラクティス - [Coordinated Vulnerability Disclosure](https://cheatsheetseries.owasp.org/cheatsheets/Vulnerable_Dependency_Management_Cheat_Sheet.html) --- 本プロジェクトのセキュリティ向上に協力してくれてありがとう!🔒