Slackでパスワードを共有しない:リスクと安全な代替手段
著者 Maxim Novak
Slackでパスワードを共有するのはセキュリティリスクだ。Slackはメッセージを無期限に保持し、ワークスペース管理者が検索できる状態にし、サードパーティアプリとの連携に対して公開してしまう。代わりに暗号化された自己破壊リンクを使おう — Vaultedのようなツールは、何かが送信される前にブラウザ内で認証情報を暗号化する。
Verizon 2025 DBIR によると、データ侵害の22%で、最初の攻撃経路として侵害された認証情報が関与している。またBeyond Identityの調査によれば、41%以上の従業員が職場のパスワードを共有した経験があり、多くの場合はチャットやメールといった安全でないチャネルを通じてだという。
そのパスワードに実際に何が起きるか
Slackに認証情報を貼り付けたとき、それは相手に届くだけではない。Slackが保存し、インデックスを作成し、保持するデータになる — しばしば、あなたがそれを忘れてからずっと後まで。
Slackはサーバー上にメッセージを保持する。 有料プランではワークスペース管理者が保持ポリシーを設定できるが、多くはデフォルトのままだ:すべてを永遠に保持する。Enterprise Grid では、組織が全DMおよびチャンネルの完全な履歴をエクスポートして検索できる — 個人間のメッセージも含めて。
Slackのメッセージは検索可能だ。 適切な権限を持つ人なら、ワークスペース全体でキーワードを検索できる。ほとんどのワークスペースで「password」や「API key」を検索すると、セキュリティ監査担当者が眉をひそめるような結果が出てくる。
サードパーティアプリはメッセージを読める。 適切なOAuthスコープを持つSlackアプリはメッセージ履歴にアクセスできる。去年チームがインストールしたあの生産性ボット?チャンネルやDMへの読み取りアクセス権を持っているかもしれない。Slackのセキュリティだけでなく、ワークスペースに接続されたすべての連携のセキュリティを信頼することになる。
メッセージは退職後も残る。 誰かが会社を去っても、その人のSlackメッセージは残る。データベースパスワードが書かれたDM?そのアカウントが無効化された後も、管理者が読める状態でそこにある。
GitGuardian の State of Secrets Sprawl Report 2025 によると、企業の Slack チャンネルの2.4%に漏洩したシークレットが含まれていた。またIBM Cost of a Data Breach Report 2025 では、データ侵害の平均コストが世界全体で444万ドルに達したことが明らかになった。
コンプライアンスの問題
会社がSOC 2、ISO 27001、またはHIPAAのコンプライアンスに取り組んでいるなら、Slackで認証情報を共有することは、いつか指摘を受ける問題になる。
監査担当者は、チームが内部で機密性の高い認証情報をどのように送信しているかを具体的に確認する。「Slackに貼り付けます」は彼らが求める答えではなく、認証の遅延や却下につながりかねない。
SOC 2 トラストサービス基準は、機密データの送信方法に関するコントロールを要求している。閲覧制限と暗号化を備えた自己破壊リンクはそのコントロールを満たす。Slackのメッセージは満たさない。
代わりにすべきこと
解決策はシンプルだ:認証情報がデバイスを離れる前に暗号化し、閲覧後に自己破壊するリンクを共有する。
ブラウザから
- vaulted.fyi にアクセスする
- パスワードまたは認証情報を貼り付ける
- 1回の閲覧後に期限切れになるよう設定する
- Slackなどにリンクを送る
認証情報はクライアントサイド暗号化を使って、ブラウザ内でAES-256-GCMにより暗号化される。復号鍵はURLフラグメントの中にのみ存在し、サーバーには届かない。同僚がリンクを開いた後、シークレットは永久に削除される。
これで誰かがSlackで「password」を検索しても、生きた認証情報ではなく、無効になったリンクが見つかるだけだ。
ターミナルから
コマンドラインが主な作業場所なら、Vaulted CLI でも同じことができる:
npx vaulted-cli "staging-db-password" --views 1 --expires 1h
パイプで繋いで、スクリプト化して、エイリアスに設定して。同じエンドツーエンド暗号化、同じ自己破壊リンクだ。
CI/CDワークフローで
GitHub Actions ワークフロー間で認証情報を共有する場合は、Vaulted GitHub Action が対応している:
- uses: vaulted-fyi/share-secret@v1
with:
secret: ${{ secrets.DEPLOY_KEY }}
views: 1
expires: 1h
チームのための基本ルール
- 認証情報をどのチャットアプリにも直接貼り付けない — Slack、Teams、Discord、いずれも不可
- 自己破壊リンクを使う — 1回の閲覧、短い有効期限、常に
- 機密性の高い認証情報にはパスフレーズを追加する — 別のチャネル(電話、対面)で共有する
- 共有後は認証情報をローテートする — すべての受け渡しを潜在的な漏洩として扱う
- チームポリシーを設定する — 暗号化された共有を例外ではなくデフォルトにする
Slackにあるそのパスワードは、その瞬間は無害に見える。しかし検索可能で、永続的で、設定ミスの一つで公開されかねない。
代わりに安全に共有しよう — 同じ3秒でできる。
関連
- パスワードを安全に共有する — ステップバイステップガイド
- ゼロ知識アーキテクチャとは? — Vaultedがデータを保護する仕組み
- パスワードジェネレーター — 共有前に強力なパスワードを生成する