セキュリティに関する考慮事項

Kiro は、システムや AWS リソースを変更できる強力な機能を提供します。
これらの機能を安全に使用するためには、セキュリティへの影響を理解し、ベストプラクティスに従うことが不可欠です。


1. セキュリティリスクの理解

Kiro 使用時には、以下の潜在的リスクに注意してください。

1.1 主なリスク

  • 意図しないシステム変更
    リクエストの解釈が想定と異なり、予期しない変更が行われる可能性があります。

  • AWS リソースの変更
    リソースの作成・変更・削除により、本番環境への影響や追加コストが発生する可能性があります。

  • データ損失
    削除・上書きコマンドにより重要なデータが失われる可能性があります。

  • セキュリティ脆弱性の発生
    コマンドを十分にレビューしない場合、権限設定の誤りなどによりセキュリティが損なわれる可能性があります。

/tools trust-all または /acceptall により確認プロンプトを回避すると、上記リスクは大幅に増加します。


1.2 具体的なリスク例

  • 「古いファイルをクリーンアップしてほしい」
    → 重要な設定ファイルを削除してしまう可能性

  • 「EC2 インスタンスを最適化してほしい」
    → 実行中のインスタンスを終了してしまう可能性

  • 「セキュリティ問題を修正してほしい」
    → 機密データを露出させる形で権限変更を行う可能性


2. 警告

本番環境や機密データ・リソースを扱う場合は、
/tools trust-all/acceptall モードを使用しないでください。

Kiro によって実行されるすべての操作について、最終的な責任はユーザー自身にあります。


3. 一般的なセキュリティベストプラクティス

特に機密ファイル、秘密鍵、トークンなどを含む環境では、以下の対策を検討してください。

3.1 ファイルアクセスの制限

デフォルトでは、Kiro はファイルを自動的に読み取ることができます(Read は信頼済み)。
機密性の高い環境では、この挙動を制限できます。

コマンド

bash
/tools untrust read

これにより、ファイル読み取り前に毎回明示的な許可が必要になります。

永続化設定

bash
echo 'alias kiro-cli="kiro-cli --untrust-fs-read"' >> ~/.bashrc

これにより、すべての新規セッションで Read が未信頼状態となります。


3.2 追加のセキュリティ対策

高度に機密性の高い環境では、以下も検討してください。

  • 機密情報を含まない専用の開発環境で使用する
  • 機密ファイルをプロジェクト外、または制限付き権限の場所に保存する
  • 機密値をハードコードせず、環境変数を使用する
  • /tools untrust aws により AWS API 呼び出し前の明示的許可を求める
  • steering を用いてセキュリティガイドラインを定義する

4. /tools trust-all を安全に使用する

やむを得ず使用する場合は、以下の安全対策を必ず実施してください。

  • 本番環境では絶対に使用しない
  • 開発・テスト環境でのみ使用する
  • 特定タスクの間だけ有効化し、終了後は /tools reset で無効化する
  • 有効化前に重要データをバックアップする
  • 最小権限の AWS 認証情報を使用する
  • 有効期間中はすべての操作を監視する

4.1 デフォルト権限への復帰

bash
/tools reset

これにより、すべてのツールがデフォルト権限に戻り、Read のみが信頼状態になります。


5. 関連ドキュメント

  • Permissions — アクセス制御の管理
  • Context Management — 共有データの制御
  • Authentication — 安全なログイン方法
  • Privacy and Security — 全体的なセキュリティプラクティス