現在セキュリティアップデートがサポートされているバージョン:
| バージョン | サポート状況 |
|---|---|
| 1.0.x | ✅ サポート中 |
| < 1.0 | ❌ サポート終了 |
セキュリティ脆弱性を発見した場合は、以下の手順に従って報告してください:
-
GitHub Security Advisoriesを使用して報告(推奨)
- リポジトリの「Security」タブから「Report a vulnerability」を選択
- 詳細な情報を提供してください
-
メール報告
- セキュリティ関連の問題は公開のIssueではなく、プライベートに報告してください
- 脆弱性の詳細な説明
- 再現手順
- 影響範囲
- 可能であれば修正案
- 確認:24時間以内に受領確認
- 調査:7日以内に初期調査結果を報告
- 修正:重要度に応じて修正スケジュールを決定
- 公開:修正後、適切なタイミングで脆弱性情報を公開
このプロジェクトでは以下のセキュリティチェックを自動実行しています:
- Safety: 既知の脆弱性データベースとの照合
- Dependabot: 自動的な依存関係更新
- Dependency Review: プルリクエストでの依存関係変更チェック
- Bandit: Pythonコードのセキュリティ脆弱性検出
- CodeQL: 静的コード分析によるセキュリティ問題検出
- Semgrep: セキュリティパターンマッチング
- TruffleHog: コミット履歴内のシークレット検出
- GitHub Secret Scanning: プッシュ時のシークレット検出
- pip-licenses: 依存関係のライセンス確認
- 禁止ライセンス(GPL系)の自動検出
# セキュリティツールのインストール
uv sync --group security
# セキュリティチェックの実行
uv run safety check
uv run bandit -r src/
uv run semgrep --config=auto src/セキュリティチェックはコミット前に自動実行されます:
- Banditによるセキュリティ脆弱性チェック
- Safetyによる依存関係脆弱性チェック
- 全プルリクエストでセキュリティスキャン実行
- 毎日定期的なセキュリティスキャン
- 重大な脆弱性検出時のビルド停止
- 認証トークンは環境変数または設定ファイルで管理
- ハードコードされた認証情報の禁止
- SafetyのAPIキー(オプション):
- 基本機能では不要
- プレミアム機能使用時はGitHub Secretsで管理
- 環境変数名:
SAFETY_API_KEY
- 設定ファイルの適切な.gitignore設定
- ユーザー入力の適切な検証とサニタイゼーション
- パス操作時のディレクトリトラバーサル対策
- コマンドインジェクション対策
- 定期的な依存関係更新
- 最小権限の原則に従った依存関係選択
- 信頼できるソースからのパッケージ使用
- セキュリティイベントの適切なログ記録
- 機密情報のログ出力回避
- 異常な動作の監視
- 一部の機能では管理者権限が必要
- 権限昇格時の適切な警告表示
- GitHub APIの利用制限
- ネットワーク接続の安全性確保
- 各OSのセキュリティ機能への依存
- プラットフォーム固有の脆弱性対策
| 重大度 | 説明 | 対応時間 |
|---|---|---|
| Critical | システム全体に影響、データ漏洩の可能性 | 24時間以内 |
| High | 重要な機能に影響、セキュリティリスク | 72時間以内 |
| Medium | 一部機能に影響、軽微なセキュリティリスク | 1週間以内 |
| Low | 軽微な影響、セキュリティリスクなし | 次回リリース |
セキュリティインシデントが発生した場合:
- GitHub Security Advisoriesで報告
- 影響範囲の特定と対策の実施
- ユーザーへの適切な通知
- 2024-12-09: 初版作成
- セキュリティポリシーの定期見直し予定