Перейти к основному содержимому

Меню команд

Перейти на страницу или искать в каталоге

ИИ-инструменты и скрипты

Проверка безопасности Roblox Luau

Проверяйте код Roblox Luau перед публикацией: remote, доверяющие цене или количеству от клиента, бэкдоры через loadstring и require(assetId), вебхуки и ключи в скриптах, доступных игрокам, вызовы DataStore без pcall, нефильтрованный текст.

$5.00

Что вы получите: 1 файл · 56.28 KB · ZIP

Варианты покупки

Описание товара

Remote магазина, выполняющий coins.Value -= price с ценой, присланной клиентом, позволяет любому эксплойтеру купить меч за -1000 монет и уйти богаче, чем был, а вебхук Discord в ModuleScript внутри ReplicatedStorage может прочитать каждый игрок, который его декомпилирует. Этот навык находит такие и другие ошибки Roblox, перечисленные ниже, до публикации и подсказывает, как исправить каждую из них.

Ваш агент запускает сканер для ваших файлов .luau и .lua и файлов проекта Rojo (default.project.json и другие файлы *.project.json / .jsonc). Он читает файл проекта, чтобы узнать, куда в игре попадает каждая папка, и поэтому понимает, какие LocalScript и ModuleScript получают игроки, а какой код остаётся на сервере; без файла проекта он использует обычные для Rojo папки src/server, src/client и src/shared и имена .server.luau / .client.luau. Он понимает строки Luau, интерполированные строки, выражения if-then-else и аннотации типов, отслеживает аргументы клиента через локальные переменные в OnServerEvent, OnServerInvoke, клиентских методах Knit и обработчиках Comm, считает цену, которую находит сервер (ShopItems[itemName].Price), серверным значением и пропускает установленные пакеты. Он никогда не запускает ваш код и не обращается к Roblox. Результат: BLOCK, REVIEW или NOT FLAGGED с указанием файла, строки, причины и более безопасного подхода, а руководство по правилам даёт ссылку на официальную страницу Roblox, на которой основано каждое правило. Секреты никогда не выводятся.

Что проверяется

В нём 5 правил BLOCK и 10 правил REVIEW.

BLOCK (исправить до выпуска)

  • R01: обработчик remote записывает присланное клиентом значение в leaderstats, поле валюты или характеристики, здоровье (TakeDamage), сохранённые данные (profile.Data, включая Data[key] = value с ключом от клиента), атрибут характеристики, вспомогательную функцию характеристик вроде AddCoins или coinStore:Increment или в запись DataStore (UpdateAsync оценивается внутри своей функции преобразования) без фиксированного лимита, ограничения диапазона, поиска на сервере или валидатора
  • R02: loadstring или LoadStringEnabled, включённый в скрипте или в файле проекта Rojo
  • R03: require() с ID ассета (число, hex, tonumber(...) или имя, которому присвоено число), классический бэкдор бесплатных моделей
  • R04: URL вебхуков, ключи или токены в параметрах URL, заголовки Authorization и похожие на ключи значения под именами key, token, secret или password в LocalScript или ModuleScript, который реплицируется игрокам (игровые слова вроде TokenShop_v2 не затрагиваются)
  • R05: cookie аккаунта .ROBLOSECURITY в любом месте кода

REVIEW (проверить перед релизом)

  • R11: аргументы remote, используемые без проверки во время выполнения (аннотации типов проверками не являются), и числа, которые попадают в характеристики после проверки диапазона, но без проверки на NaN
  • R12: обработчики remote, выполняющие затратную работу (вызовы Async, Instance.new, Clone), в файле без задержки (cooldown) или ограничения частоты
  • R13: RemoteFunction:InvokeClient
  • R14: getfenv или setfenv
  • R15: вызовы DataStore вне pcall, Promise или вспомогательной функции повторов
  • R16: обфусцированный или скрытый код: длинные строки экранированных байтов, длинные списки string.char, длинные закодированные строки, код, сдвинутый за пределы экрана пробелами
  • R17: те же секреты, что и в R04, в серверном коде или в скриптах, место которых в игре определить нельзя, а также значения под секретными именами, которые могут быть секретами, но не похожи на сгенерированные ключи
  • R18: обработчик remote уничтожает, перемещает или меняет родителя Instance, переданного клиентом, либо изменяет здоровье или характеристики Instance, выбранного клиентом, не проверяя, что он принадлежит игроку или находится в пределах досягаемости
  • R19: текст игрока из remote, помещаемый в TextLabel или отправляемый всем клиентам, в файле, где текст никогда не фильтруется
  • R20: награды за developer product, выдаваемые в PromptProductPurchaseFinished вместо ProcessReceipt, или LocalScript, который запрашивает их у сервера из этого события

Что входит в комплект

  • Сканер (Python 3.9+, только стандартная библиотека)
  • Руководство по правилам с причиной, более безопасным подходом и ссылкой на официальную документацию Roblox для каждого правила
  • Рискованный и безопасный примеры проекта Rojo, а также реальный отчёт сканера по рискованному примеру

Ограничения

Каждый файл читается в том виде, в каком он написан, а значения от клиента отслеживаются через локальные переменные внутри одного обработчика, но не в других модулях, поэтому проверки в общем модуле валидации, middleware или библиотеках для remote, таких как BridgeNet, ByteNet, Red, Zap или Blink, не видны, а обработчики, зарегистрированные через эти библиотеки, не анализируются. Характеристики распознаются по целым словам в их именах (Coins, Cash, Gems, XP, Level, Wins и подобные), поэтому валюту с необычным названием можно пропустить, а секреты под необычными именами не сообщаются. Ограничение частоты или фильтр текста в любом месте файла засчитывается для всех обработчиков в нём. Файлы мест (.rbxl, .rbxm) и настройки Studio вне файла проекта не читаются. Собственный пример remote от Roblox (деталь, созданная по цвету и позиции от клиента) намеренно получает R11 и R12. NOT FLAGGED не является гарантией.

Состав

Один ZIP-файл с 30 файлами: SKILL.md, сканер в scripts/ (7 файлов Python), references/rules.md (все правила с причиной и более безопасным подходом) и examples/ (20 файлов примеров плюс report.md, реальный вывод сканера для рискованного примера).

Как использовать: Это навык для агента: папка с файлом SKILL.md и скриптами Python, которые может запускать ИИ-агент для программирования, например Claude Code, Cursor или Codex CLI. Распакуйте архив в папку навыков вашего агента (для Claude Code: ~/.claude/skills/), затем попросите агента проверить ваш проект. Скрипты также работают самостоятельно на Python 3.9 или новее, ничего устанавливать не нужно. Они только читают ваши файлы: никакого доступа к сети, ничего никуда не отправляется.

Что вы получите

1 файл · 56.28 KB

  • roblox-luau-safety-check-1.0.0.zipZIP · 56.28 KB
ЛицензияКоммерческое использование разрешено
Проверка пакетаПройдена

Getly открыл загруженные файлы и не нашёл ничего, что помешало бы их открыть. Это не проверка на вирусы и не оценка качества.

Опубликовано12 нояб. 2026 г.
Размер файла56.28 KB
Формат файлаZIP
Версияv1.0

Теги

robloxluaurojogamedevsecurityai agent skill
R
RR HH

Частые вопросы

Доступ открывается сразу?

Да. Это цифровой товар - скачать его можно сразу после оплаты, прямо из своей библиотеки.

Можно ли использовать в коммерческих проектах?

Да. Коммерческое использование разрешено: в своём бизнесе и в том, что вы продаёте. Перепродавать и распространять сам файл нельзя.

Какие условия возврата?

Запросить возврат можно в течение 30 дней. Если что-то не так, оформите заявку в своём заказе - её рассмотрит команда Getly.

Какие форматы и размеры файлов я получу?

Вы скачаете 1 файл - ZIP - всего 56.28 KB.

Обновления бесплатны?

Да - когда продавец выпускает новую версию, вы можете бесплатно скачать актуальные файлы из своей библиотеки. Последние изменения смотрите в истории версий.

Цена

$5.00