SuperAPI AI 工具集

roblox-networking

安全与审计

查看项目

更新于 10-16 10:41

技能介绍

用途

该技能用于在 Roblox 项目中添加、修改或审计 RemoteEvents 与 RemoteFunctions。触发加载的典型情况包括:添加远程通信、处理不可信输入、添加冷却时间或分配权威(authority)。其核心目标是防止漏洞利用并保证服务端安全。

主要能力

  1. 参数校验:每个客户端参数都是攻击者可控的,必须在服务端校验类型、大小、归属、状态、距离和冷却。
  2. 服务端定义查询:价格、伤害、奖励、权限应从服务端拥有的定义中查找。
  3. 权威模型选择:服务端权威(Server Authority)使用客户端预测加服务端回滚,且不是 SetNetworkOwner。在服务端权威下,模拟输入使用 InputAction/BindToSimulation() 与 UseFixedSimulation,而不是通过 remote。
  4. 远程事件选择:大多数游戏请求使用 Events;RemoteFunction 调用应保持短小且有界。可靠状态使用 RemoteEvent;需要注意它与属性/属性复制不同步、无顺序保证,应使用单一显式通道或版本状态。UnreliableRemoteEvent 仅用于可替换数据,可丢弃,上限 1000 字节。
  5. 速率限制认知:引擎上限为每个远程类型约 500 次 FireServer 请求/秒/客户端,且在同类型远程间共享池化——这是上限而非目标。
  6. 性能测量:在负载下测量负载大小和触发频率;按 速率 × 字节 × 接收者 做预算;加入时快照,之后做差异。
  7. 安全细节:命中时间戳是不可信上下文,永远不是证据;应限制新鲜度并验证服务端历史。类型化 schema 不能替代安全检查。应固定生成器并在 CI 中验证生成输出。
  8. 边界值检查:首先检查 NaN/infinity(x ~= x,math.abs(x) == math.huge),NaN 可绕过 </> 比较;utf8.len 可捕获导致 DataStore 保存失败的非法 UTF-8。
  9. 序列化限制:函数会变成 nil,元表被剥离,混合键被篡改,nil 会截断表,表是被复制的——应逐字段验证,通过服务端拥有的快照/ID 共享状态。
  10. 服务端权威要求:需要 AuthorityMode = Server 及其捆绑包;误预测/回滚是正常现象。
  11. 速率限制与校验关系:速率限制保护服务器;校验仍然拒绝无效请求。Bindables 仅限同侧:表被复制,元表被剥离,Invoke 会一直让出直到 OnInvoke 返回。
  12. 可疑行为记录:用阈值记录可疑行为;绝不要因为单个畸形数据包而惩罚。
  13. 编辑模式:包装网络层,使 RunContext:IsEdit() 获得一个环回 mock。

使用方式

该技能通过触发条件加载,具体实现细节参考其 references/full.md 中的校验、节流和 mock 模式。资料未提供安装命令或代码示例。

适用场景

适用于 Roblox 游戏开发中涉及远程通信、反作弊、服务端权威和性能预算的场景。

限制

资料未提供收费、价格、平台或具体安装步骤。部分细节(如 full.md §3a 及完整实现模式)需查阅其引用文件。