セキュリティ監査とペネトレーションテスト¶
本文書は AutoShip-CLI のセキュリティ監査フロー、ツール設定、過去の結果を記録し、セキュリティチーム、監査担当者、上級ユーザーの参考に供します。
継続的セキュリティスキャン¶
毎回のコミットと Nightly Build で以下のセキュリティスキャンを実行します:
| ツール | 役割 | トリガー |
|---|---|---|
| bandit | Python SAST | CI、nightly |
| pip-audit | 依存関係脆弱性スキャン | CI、nightly |
| gitleaks | 秘密鍵漏洩検出 | CI、nightly |
| ruff | lint + 一部セキュリティルール | CI、pre-commit |
| Dependabot | 依存関係の自動更新 | 毎週 |
リリース前セキュリティ監査フロー¶
各大バージョンのリリース前に、セキュリティチームは以下の監査を実行します:
1. コード監査¶
- 外部入力を伴うすべてのコードパス(CLI 引数、設定ファイル、プラグイン、モデル応答)をレビュー。
- パス操作が
Path.resolve()を使用し、許可範囲内に制限されていることを確認。 - サブプロセス呼び出しで
shell=Trueを使用していないことを確認(ユーザーが明示的に認可した場合を除く)。 - 機密データが
autoship.core.redactionまたは同等のロジックでマスキングされていることを確認。
2. 設定と資格情報の監査¶
- デフォルト設定でテレメトリと外部モデルバックエンドが無効であることを確認。
- API キー、トークンなどのフィールドが
${ENV_VAR}注入をサポートしていることを確認。 - 設定ファイルのデフォルト権限が
0o600であることを検証。
3. プラグインセキュリティ監査¶
autoship plugin verify <package>でサードパーティプラグインの宣言権限と実際の動作をチェック。verifiedレベルを申請するプラグインのソースコードをレビュー。sandboxがプラグインのファイルシステムアクセスを制限していることを確認。
4. 依存関係とサプライチェーン監査¶
uv run pip-audit --descを実行し、すべてのHIGHレベルの脆弱性を修正。pyproject.tomlの依存関係に未固定バージョンや既知の問題がないか確認。- release.yml が Trusted Publishing または最小権限の PyPI トークンを使用していることを確認。
5. ペネトレーションテストチェックリスト¶
| テスト項目 | 手法 | 期待される結果 |
|---|---|---|
| パストラバーサル | ../../../etc/passwd 形式のパラメータを構成 |
拒否されるか、解決後も許可ディレクトリ内に留まる |
| コマンドインジェクション | コミットメッセージ / diff にバッククォートとセミコロンを埋め込む | シェルで解析・実行されない |
| SSRF | 内部ネットワークアドレスを指すモデルバックエンドを設定 | ユーザー設定に従うが、デフォルトでは信頼しない |
| 機密情報漏洩 | 例外をトリガーしてログを確認 | API キー、パスワード、トークンの平文なし |
| プラグイン権限超過 | 低権限を宣言しつつ高権限操作を試みるプラグインをインストール | 権限チェックでブロック |
| サービス拒否 | 1000+ ファイルのプロジェクト + 超長 diff | タイムアウト内に完了し、クラッシュしない |
過去の監査結果¶
2026-06-19 v1.0.0 内部セキュリティレビュー¶
- 実行者:AutoShip セキュリティチーム
- 範囲:CLI、コアライブラリ、組み込みプラグイン、registry、CI/CD
- 結果:
- bandit:High/Medium 0 件
- pip-audit:未修正脆弱性 0 件
- パストラバーサルとコマンドインジェクションテスト:合格
- 機密情報漏洩テスト:合格
- プラグイン権限テスト:合格
- 残存リスク:
- ローカルモデルバックエンドはデフォルトで HTTP を使用し、ユーザー環境のセキュリティに依存。
- サードパーティの community プラグインは完全なソースコード監査を経ておらず、ユーザー自身の判断が必要。
計画中の外部監査¶
- 対象バージョン:v1.1.0
- 実行者:サードパーティセキュリティ企業 / コミュニティレッドチーム
- 範囲:完全な CLI 攻撃面、プラグインシステム、サプライチェーン
- 成果物:ペネトレーションテストレポート、修正提案、公開サマリー
セキュリティ問題の報告方法¶
SECURITY.md のフローに従い、メールで非公開に報告してください。