Skip to content

[Security] Prevent unauthorized sockets from joining broadcast rooms #23

@SeanGau

Description

@SeanGau

背景

join_session 目前在 session_id 存在時會直接 enter_room,即便尚未驗證(live_server/app/__init__.py:1211-1214)。
轉錄廣播使用 room=session_idlive_server/app/__init__.py:1136)。

風險

  • 未授權 socket 可能旁聽 session 即時資料
  • session_id 若可猜測,資料外洩風險上升

目標

只有通過驗證的 socket 才能加入敏感資料 room。

實作建議

  • join_session 中先驗證,再 enter_room
  • 或分離 room:公開事件 room(可匿名)與私有轉錄 room(需 verified)
  • server 端所有敏感 emit 前加授權保護

驗收條件

  • 未驗證 socket 無法收到 transcription_update
  • 驗證成功 socket 正常收流
  • 回歸測試覆蓋 join/leave/reconnect

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions