Skip to content

Security: kakomimasu/kakomi-code

Security

SECURITY.md

セキュリティポリシー

問題の報告

脆弱性の詳細を公開Issueへ投稿しないでください。GitHubの Private vulnerability reporting から、再現方法、影響、確認した環境、可能であれば修正案を報告してください。

非公開報告画面を利用できない場合は、詳細を含めずにIssueを作成し、非公開で連絡できる方法を確認してください。認証トークン、個人情報、実在する利用者のAIコードを添付しないでください。

主なセキュリティ境界

囲みコードでは、次をセキュリティ上の重要な境界として扱います。

  • デスクトップ画面と 127.0.0.1 のローカルAPI
  • versions/ と、それ以外のファイルシステム
  • 親アプリと、対戦AI・Codex・Claude Code・OpenCodeの子プロセス
  • .env の認証情報と画面・ログ・スクリーンショット
  • 囲みマスAPIおよびクライアント参照ソースへのネットワーク接続

維持する対策

  • ローカルAPIはループバックだけで待ち受け、Host、Origin、起動ごとのAPIトークンを検証します。
  • APIの状態変更はJSONのPOSTだけで受け付けます。
  • APIのJSON本文は読み込み中も12 MiBを上限とします。
  • versions/ ルートを含む実パスとファイル種別を検証し、symlinkではない直下の管理対象だけへ バージョン操作を制限します。
  • 対戦AIは別プロセスで、読み取り、ネットワーク、環境変数の権限を限定して実行します。
  • 対戦AIは隔離した一時フォルダーのコピーを実行し、静的module graphのローカルパスと通信先を検証します。
  • 対戦前の依存取得はコードを実行しない deno info と deno cache で行い、npmを無効化して接続先を jsr.io と raw.githubusercontent.com に限定します。
  • 内蔵ブラウザを開くときは https://kakomimasu.com/game の対戦URLだけを開始URLとして許可し、iframeをsandbox化します。
  • 対戦AIを deno run -A で実行しません。
  • コーディングAIは一時作業フォルダで動かし、正常終了した通常ファイルの main.ts だけを選択中の版へ反映します。Webアクセスを無効化し、親環境をそのまま継承せず、対戦用トークンを 子プロセスへ渡しません。
  • OpenCodeの変更は、アプリ側の型チェック前にも静的module graphを検証します。npmを無効化し、 import先を jsr.io と raw.githubusercontent.com に限定します。
  • コーディングAIの停止は参照取得と型チェックにも適用し、CLIが起動した子孫プロセスもまとめて終了します。
  • 外部プロセス出力、生成された main.ts、チャット履歴は、全文をメモリへ読み込む前にもサイズを制限します。
  • 静的画面ファイルはURLと実パスの両方を検証し、dist/ 外のファイルやsymlink先を配信しません。
  • .env、versions/、ビルド成果物はGitの追跡対象外です。

開発用E2Eの権限

開発用の e2e:install と test:e2e は、PlaywrightがLinuxの /proc を参照するため --allow-all で実行します。信頼できるテストコード・依存関係を前提にした開発用の例外です。 E2Eは一時フォルダーを使い、対戦AIやコーディングAIを起動しません。本番の子プロセスの権限制限には適用しません。

秘密情報の扱い

  • BEARER_TOKEN などの値は .env に保存し、コミットしないでください。
  • ログ、Issue、チャット、スクリーンショットへトークンを貼らないでください。
  • 誤って公開したトークンはファイルから消すだけでなく、発行元で直ちに失効・再発行してください。

セキュリティに関わる変更

次を変更する場合は、通常の動作確認に加えて回帰テストを追加してください。

  • ローカルAPIのホスト、Origin、認証
  • ファイルパスの検証、名前変更、削除
  • 子プロセスへ渡す権限、環境変数、通信先
  • Codex / Claude Code / OpenCodeのサンドボックスや許可ツール
  • ログ、履歴、リクエスト本文のサイズ上限

設計上の詳細は docs/architecture.md を参照してください。

There aren't any published security advisories