Slackに参加しているBotが、先週から「コーディングAI」に変わった。エンジニアが試しで繋いでみたらそのままになった、というケースは開発チームでよく聞きます。最初の1週間は便利だと思っていても、2週間目に困る。「なぜこのBotはこのチャンネルを見ているのか」が誰にも分からなくなる。
DeepSeekのSuper-Agentが公開されて以来、自律的にコードを書くだけでなく、SlackやGitHub IssuesのコンテキストをリアルタイムでAIに与える設定が増えてきました。Claude CodeのようなAIエージェントはMCP(Model Context Protocol)経由でSlackと接続できます。理論上は「チームの議論を読んで、それに基づいてコードを書く」が実現する。
問題は技術的な実現可能性ではなく、「何をどこまで見せるか」の判断が追いついていないことです。
SlackのBot権限はチャンネル単位で絞れない
Slack APIでBotに与えるスコープは、大きく「読む権限」と「書く権限」に分かれます。channels:historyを付与すると、そのBotが参加しているすべてのパブリックチャンネルの投稿を読めるようになる。特定のチャンネルだけを読ませる設定はBot Tokenのスコープではできません。Botをチャンネルから外すか、プライベートチャンネルを使うかしか方法がない。
実際のチームでは、採用フローの話、社内評価の話、クライアントのデータを含むやり取りが、パブリックチャンネルに普通に流れています。「どうせPublicだし」という感覚でやっていることが、AIに全部読まれることに等しい。
許可する前に3つだけ決める
複雑なルールはいりません。3つ決めておくだけで、後からの「なぜ?」がほぼなくなります。
まず「AIを招待するチャンネルをリスト化する」。#dev-reviewと#dev-bot-outputの2つだけ、という形でよい。目安は5チャンネル以内です。それ以上になるなら、そのAIが本当にその情報を必要としているか疑う。
次に「書き込み先を専用チャンネルに限定する」。読む権限と書く権限は別物です。AIに読ませる範囲を絞っても、書き込み先を制限しないと要約や提案がどこにでも投稿されます。専用チャンネル(#ai-outputなど)だけに書かせる設定が無難。
最後に「週1回の権限棚卸しを担当者ひとりに任せる」。担当者が5分確認するだけでいい。「今週もこの設定でいいか」を問い直すサイクルを作るだけで、権限が惰性で広がるのを止めやすくなります。
Claude Codeで最小構成を作るとしたら
Claude CodeのMCP設定でSlackと繋げる場合、Slack MCPサーバーのエントリに環境変数でSLACK_BOT_TOKENを渡す形になります。このBotを作るとき、Slack App管理画面でスコープを最小限に設定します。channels:readとchannels:historyは付与しますが、users:read(メンバー情報)やfiles:read(ファイル読み取り)は不要なら外す。
チームには「AIエージェント権限ルール.md」を1ファイルGitリポジトリのルートに置いておくと機能します。中身はシンプルに「アクセス可能チャンネル一覧」「書き込み先一覧」「レビュー担当者名と頻度」の3項目だけ。権限を変えるときはこのファイルをPRで更新する、というルールだけで、チームの透明性は大きく変わります。
AIエージェントは、渡した権限の範囲でしか動けません。最初に絞っておけば、後から「なぜこれを知っているのか」と不安になることはない。自律コーディングAIが本格化するほど、渡す前の5分が半年後のリスクを決めます。
コピペで使えるプロンプト集
① AIエージェントのSlack接続権限チェックリスト生成
AIエージェントをSlackに接続する前のリスク確認
あなたは開発チームのセキュリティ担当です。 【背景】 私たちのチームは【AIツール名(例:Claude Code)】をSlackと接続しようとしています。 チームの規模は【人数(例:10名)】、Slackのパブリックチャンネル数は【チャンネル数(例:20)】です。 【依頼】 接続前に確認すべきリスクと権限設計のチェックリストを作成してください。 【出力形式】 1. 最小限に絞るべきSlack APIスコープ一覧 2. AIを招待するチャンネルの選定基準(3〜5個の判断軸) 3. 週次権限棚卸しの確認項目(5項目以内) 4. チームへの周知に使える1段落の説明文
② AIエージェント利用権限ルール.md の自動生成
チームのAIエージェント権限ルール文書を作る
あなたはITガバナンスの専門家です。 【背景】 私たちは【会社・チーム名】の開発チームで、AIエージェント(【ツール名(例:Claude Code)】)をSlackおよびGitHubと接続しています。 現在、権限に関するルール文書がなく、誰がどこまでAIに権限を与えているか把握できていません。 【依頼】 Gitリポジトリのルートに置くMarkdownファイル「AIエージェント権限ルール.md」を作成してください。 【出力形式】 - アクセス可能チャンネル一覧(表形式) - 書き込み先一覧(表形式) - 権限レビュー担当者と頻度 - 変更時のルール(PRフローの記述) - 全体で400文字以内にまとめる
③ Slack MCPスコープ最小化の設計レビュー
AIエージェントのSlack接続設定を安全に見直す
あなたはAPIセキュリティの専門家です。 【背景】 私たちは【AIエージェント名(例:Claude Code)】にSlack MCPサーバーを接続しています。 現在付与しているBot Tokenのスコープは以下のとおりです: 【現在のスコープ一覧(例:channels:read, channels:history, users:read, files:read)】 利用目的は【目的(例:コードレビュー関連チャンネルの議論を参照してPRのコメントを補助する)】です。 【依頼】 1. 目的を達成するために本当に必要な最小限のスコープだけを残したリストを作成してください 2. 削除しても問題ないスコープとその理由を説明してください 3. 削除する際の手順(Slack App管理画面での操作)を3ステップで説明してください
AIエージェントが自律的に動ける時代になって、何でも繋いでみたくなる気持ち、すごくよく分かります。
でも最初に「どのチャンネルだけ見せるか」を5分で決めておくだけで、後の不安がかなり減るんですよね。設定ファイル1枚がチームの安心感を作る、というのが今回の発見です。
まず1チャンネルだけ試してみる、という小さな一歩から始めてみてください。