mcpField
F
fivem-security

fivem-security

github.com/germanfndez安全19498 次安装2 周前更新
代码仓库

关于 fivem-security

fivem-security 是面向 FiveM 脚本安全审查与加固的技能,适用于处理网络事件、管理命令、权限、封禁和持久化数据的开发者。它强调由服务器验证状态与授权,并提供检查步骤和规则参考。

主要功能

  1. 01验证服务器端状态与权限
  2. 02检查网络事件和 NUI 回调
  3. 03为关键事件添加限流与清理
  4. 04过滤游戏原生网络事件
  5. 05记录拒绝请求并审慎升级

适用场景

  1. 01加固发放金钱、物品或载具的处理器
  2. 02保护管理命令和管理员专属事件
  3. 03审查封禁、白名单及持久化数据逻辑

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/germanfndez/fiveai-skills --skill fivem-security

安装后在 Claude Code 中输入/fivem-security确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

rules/
ace-permissions.md
events.md
identifiers.md
net-game-events.md
rate-limiting.md
sandbox.md
server-convars.md

详细介绍

FiveM 安全

激活条件

处理任何网络事件处理程序、授予金钱、物品、载具或权限的代码、管理员命令、封禁逻辑,或有关作弊、漏洞利用和加固的问题时加载。

硬性规则

  • 绝不信任客户端。客户端发起请求;服务器根据自身配置和状态作出决定。
  • 绝不接受客户端提供的价格、数量、奖励或物品名称。应在服务器端推导这些值。
  • 对于所有跨网络的网络事件,无论玩家还是作弊者,GetInvokingResource() 都为 nil。它不是身份验证手段。
  • RegisterNUICallback 不具备身份验证功能:作弊者可以向任何端点发送 POST 请求。绝不能把它作为调用 TriggerServerEvent 前的唯一关卡。
  • 在服务器端检查距离:#(GetEntityCoords(GetPlayerPed(source)) - target),约 10 个单位。
  • 即使客户端已检查,也要在服务器端重新验证状态(职业、物品、冷却时间)。
  • 对关键事件进行速率限制;在 playerDropped 中清除每个 source 的状态。
  • 使用 AddEventHandler + CancelEvent() 过滤原生游戏事件(weaponDamageEvent、startProjectileEvent、removeAllWeaponsEvent、ptFxEvent)。
  • 仅使用 ACE 授权管理员操作:IsPlayerAceAllowed(source, object)。绝不使用标识符列表。
  • 将持久化数据的键设为 license:。非 Steam 启动时不会有 steam:。
  • 沙盒会阻止在资源自身文件夹之外写入文件、调用 os.execute 和使用 io.tmpfile()。
  • 记录拒绝事件。根据次数升级处理,绝不要因单次命中就自动封禁。

决策关卡

情况参考
客户端发送的价格、数量或任何参数rules/events.md
重复触发或可刷取的事件rules/rate-limiting.md
伤害、投射物、移除武器、粒子效果rules/net-game-events.md
管理员命令或仅限管理员的事件rules/ace-permissions.md
封禁、白名单、持久化记录rules/identifiers.md
资源写入文件或生成进程rules/sandbox.md
加固服务器本身rules/server-convars.md

执行步骤

  1. 列出每个网络事件和 NUI 回调,以及它们会更改的状态。
  2. 移除服务器可以自行计算的客户端值。
  3. 在开头添加类型/范围、距离和状态检查;不符合时提前返回。
  4. 对任何可刷取的操作添加冷却时间或令牌桶限制;玩家离开时清理状态。
  5. 使用 IsPlayerAceAllowed 为管理员操作路径设置关卡。
  6. 为伤害、投射物和武器添加游戏事件过滤器。
  7. 记录拒绝事件,包括名称和 source id。

输出约定

返回经过加固的处理程序,并优先进行验证、距离、ACE 和状态检查;指出已移除的客户端参数;包含必需的 server.cfg 行。

参考资料

  • rules/events.md — 处理程序、距离、NUI 回调。
  • rules/net-game-events.md — 游戏事件载荷、取消事件。
  • rules/ace-permissions.md — 主体、对象、ACE 守卫。
  • rules/rate-limiting.md — 冷却时间、令牌桶、清理。
  • rules/identifiers.md — license:、令牌、延迟验证。
  • rules/sandbox.md — 文件系统、进程、convar 限制。
  • rules/server-convars.md — 加固 convar。

上游文档:https://docs.fivem.net/docs/scripting-manual/

评论

支持 Markdown