关于 fivem-security
fivem-security 是面向 FiveM 脚本安全审查与加固的技能,适用于处理网络事件、管理命令、权限、封禁和持久化数据的开发者。它强调由服务器验证状态与授权,并提供检查步骤和规则参考。
主要功能
- 01验证服务器端状态与权限
- 02检查网络事件和 NUI 回调
- 03为关键事件添加限流与清理
- 04过滤游戏原生网络事件
- 05记录拒绝请求并审慎升级
适用场景
- 01加固发放金钱、物品或载具的处理器
- 02保护管理命令和管理员专属事件
- 03审查封禁、白名单及持久化数据逻辑
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ germanfndez/ fiveai-skills --skill fivem-security安装后在 Claude Code 中输入/fivem-security确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
rules/ace-permissions.mdevents.mdidentifiers.mdnet-game-events.mdrate-limiting.mdsandbox.mdserver-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 |
执行步骤
- 列出每个网络事件和 NUI 回调,以及它们会更改的状态。
- 移除服务器可以自行计算的客户端值。
- 在开头添加类型/范围、距离和状态检查;不符合时提前返回。
- 对任何可刷取的操作添加冷却时间或令牌桶限制;玩家离开时清理状态。
- 使用
IsPlayerAceAllowed为管理员操作路径设置关卡。 - 为伤害、投射物和武器添加游戏事件过滤器。
- 记录拒绝事件,包括名称和 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。
评论
支持 Markdown