roblox-security について
Robloxの権限モデル、リモート呼び出し、経済システム、保存データ、BAN、サンドボックスを監査するためのセキュリティリファレンススキルです。監査チェックリストを示し、複製モデルごとのサーバーの責務を説明します。
主な機能
- 01権限モデルの指針
- 02リモート呼び出しと状態検証のチェックリスト
- 03DataStoreと取引の保護策
- 04BAN実施時の考慮事項
- 05セキュリティ上のアンチパターン
活用シーン
- 01リモートリクエスト処理の監査
- 02通貨やインベントリの安全性確認
- 03保存やBANのワークフロー評価
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ tabooharmony/ roblox-brain --skill roblox-securityインストール後、Claude Code で/roblox-securityを入力して読み込まれたか確認します。
同梱ファイルreferences/full.md
詳細
Roblox セキュリティ
読み込むタイミング
権限、リモートの悪用、エコノミー、セーブ、BAN、サンドボックス化の監査時に読み込みます。リモートの検証/レート制限については、roblox-networking を参照してください。
クイックリファレンス
基本: クライアントは常に侵害されているものとして扱います。サーバーが引き続き信頼できる情報源ですが、実装は権限モデルによって異なります。
権限モデル
- 従来のレプリケーション: クライアントのリクエストをサーバーの状態と照合して検証します。クライアントのダメージ、通貨、インベントリ、権限、位置情報を決して信頼しないでください。
- サーバー権限:
Workspace.AuthorityMode = Server:サーバーがコアシミュレーションを所有し、クライアントは予測と誤予測からの復旧を行います。包括的なHeartbeatによる補正ではなく、BindToSimulation()(UseFixedSimulationが必要)を使用してください。標準キャラクターなら低コストですが、独自のシミュレーションを実装する場合は全面的な書き換えが必要です(full.md)。 - 両方: 攻撃、購入、テレポート、権限、カスタムリモートをサーバー境界で検証します。
監査チェックリスト
重大: サーバー権限の状態 · 文書化された権限モデル · すべての引数の型を検証 · リモートにレート制限を設定 · DataStore のセッションロック · クライアント側で通貨を変更しない · ProcessReceipt の検証 · クライアントコードにシークレットを含めない
高: カスタムの移動とアクション遷移を検証 · BindToClose による保護 · 取引をアトミックに処理 · クライアントの値を決して信頼しない · Server Authority プロジェクトではシミュレーション入力に InputActions を使用 · リモートと同様に ProximityPrompt/ClickDetector/DragDetector を検証
中: サーバー側のクールダウン · サーバーが算出するリーダーボード · AFK 防止の報酬チェック · TextService によるフィルタリング · サードパーティーコードのスクリプトサンドボックス化
適用
適用方法は、異議申し立てへの影響も考慮したプロダクト上の判断です。Players:BanAsync/UnbanAsync はサーバー専用で、Players.BanningEnabled が必要です。これらは pcall で呼び出してください。期間、理由の制限、デバイスのブロックについては full.md を参照してください。
アンチパターン
クライアントコードを難読化する、セキュリティ目的で _G を使う、ログを残さずにキックする、移動を過剰に検証する、またはクライアント側のアンチチートに依存することは避けてください。
詳しい例については、references/full.md を参照してください。