Aller au contenu principal

Menu de commandes

Accédez à une page ou recherchez dans le catalogue

Outils et scripts IA

Vérification de sécurité Roblox Luau

Vérifiez votre code Roblox Luau avant de publier : remotes qui font confiance au prix ou à la quantité envoyés par le client, portes dérobées loadstring et require(assetId), webhooks et clés dans des scripts lisibles par les joueurs, appels DataStore sans pcall, texte non filtré.

$5.00

Ce que vous recevez : 1 fichier · 56.28 KB · ZIP

Voir les options d'achat

Description du produit

Un remote de boutique qui exécute coins.Value -= price avec le prix envoyé par le client permet à n'importe quel tricheur d'acheter une épée pour -1000 pièces et de repartir plus riche, et un webhook Discord dans un ModuleScript sous ReplicatedStorage peut être lu par tout joueur qui le décompile. Ce skill détecte ces erreurs et les autres erreurs Roblox ci-dessous avant que vous ne publiiez, et vous indique comment corriger chacune d'elles.

Votre agent exécute un scanner sur vos fichiers .luau et .lua et sur vos fichiers de projet Rojo (default.project.json et autres fichiers *.project.json / .jsonc). Il lit le fichier de projet pour savoir où chaque dossier se retrouve dans le jeu, et sait donc quels LocalScripts et ModuleScripts les joueurs reçoivent et quel code reste sur le serveur ; sans fichier de projet, il utilise les dossiers habituels de Rojo src/server, src/client et src/shared ainsi que les noms .server.luau / .client.luau. Il comprend les chaînes Luau, les chaînes interpolées, les expressions if-then-else et les annotations de type, suit les arguments du client à travers les variables locales dans OnServerEvent, OnServerInvoke, les méthodes client de Knit et les gestionnaires Comm, considère un prix que le serveur va chercher lui-même (ShopItems[itemName].Price) comme une valeur du serveur, et ignore les paquets installés. Il n'exécute jamais votre code et ne contacte jamais Roblox. Il renvoie BLOCK, REVIEW ou NOT FLAGGED, avec le fichier, la ligne, la raison et une approche plus sûre, et le guide des règles renvoie vers la page officielle Roblox à l'origine de chaque règle. Les secrets ne sont jamais affichés.

Ce qui est vérifié

Il comporte 5 règles BLOCK et 10 règles REVIEW.

BLOCK (à corriger avant la mise en production)

  • R01 : un gestionnaire de remote écrit une valeur envoyée par le client dans leaderstats, un champ de monnaie ou de statistique, la santé (TakeDamage), les données sauvegardées (profile.Data, y compris Data[key] = value avec une clé fournie par le client), un attribut de statistique, une fonction d'aide de statistique comme AddCoins ou coinStore:Increment, ou une écriture DataStore (UpdateAsync étant évalué à l'intérieur de sa transformation), sans limite fixe, sans clamp, sans recherche côté serveur ni validateur
  • R02 : loadstring, ou LoadStringEnabled activé dans un script ou dans le fichier de projet Rojo
  • R03 : require() d'un ID d'asset (un nombre, une valeur hexadécimale, tonumber(...) ou un nom auquel on a affecté un nombre), la porte dérobée classique des modèles gratuits
  • R04 : URL de webhook, clés ou jetons dans les paramètres d'URL, en-têtes Authorization et valeurs ayant la forme de clés sous des noms key, token, secret ou password, dans un LocalScript ou un ModuleScript répliqué vers les joueurs (les mots du jeu comme TokenShop_v2 sont ignorés)
  • R05 : un cookie de compte .ROBLOSECURITY n'importe où dans le code

REVIEW (à vérifier avant la publication)

  • R11 : arguments de remote utilisés sans vérification à l'exécution (les annotations de type ne sont pas des vérifications), et nombres qui atteignent les statistiques après des vérifications de plage mais sans vérification de NaN
  • R12 : gestionnaires de remote qui effectuent un travail coûteux (appels Async, Instance.new, Clone) dans un fichier sans délai de récupération ni limitation de débit
  • R13 : RemoteFunction:InvokeClient
  • R14 : getfenv ou setfenv
  • R15 : appels DataStore en dehors de pcall, d'une Promise ou d'une fonction d'aide de nouvelle tentative
  • R16 : code obfusqué ou caché : longues chaînes d'octets échappés, longues listes string.char, longues chaînes encodées, code repoussé hors de l'écran par des espaces
  • R17 : les mêmes secrets que R04 dans le code serveur ou dans des scripts dont la place dans le jeu ne peut pas être déterminée, et les valeurs sous des noms de secret qui peuvent être des secrets mais ne ressemblent pas à des clés générées
  • R18 : un gestionnaire de remote détruit, déplace ou change le parent d'une Instance transmise par le client, ou modifie la santé ou les statistiques d'une Instance choisie par le client, sans vérifier qu'elle appartient au joueur ou qu'elle est à portée
  • R19 : texte d'un joueur provenant d'un remote placé dans un TextLabel ou envoyé à tous les clients dans un fichier qui ne filtre jamais le texte
  • R20 : récompenses de produits développeur accordées dans PromptProductPurchaseFinished au lieu de ProcessReceipt, ou un LocalScript qui les demande au serveur à partir de cet événement

Contenu fourni

  • Le scanner (Python 3.9+, bibliothèque standard uniquement)
  • Un guide des règles avec la raison, l'approche plus sûre et un lien vers la documentation officielle Roblox pour chaque règle
  • Un exemple de projet Rojo risqué et un exemple sûr, ainsi que le vrai rapport produit par le scanner sur l'exemple risqué

Limites

Il lit chaque fichier tel qu'il est écrit et suit les valeurs du client à travers les variables locales à l'intérieur d'un seul gestionnaire, pas dans d'autres modules : les vérifications faites dans un module de validation partagé, un middleware ou des bibliothèques de remotes comme BridgeNet, ByteNet, Red, Zap ou Blink ne sont donc pas vues, et les gestionnaires enregistrés via ces bibliothèques ne sont pas analysés. Les statistiques sont reconnues par des mots entiers dans leurs noms (Coins, Cash, Gems, XP, Level, Wins et similaires), si bien qu'une monnaie au nom inhabituel peut passer inaperçue, et les secrets sous des noms inhabituels ne sont pas signalés. Une limitation de débit ou un filtre de texte présent n'importe où dans un fichier vaut pour tous les gestionnaires de ce fichier. Les fichiers de place (.rbxl, .rbxm) et les réglages de Studio hors du fichier de projet ne sont pas lus. L'exemple de remote de Roblox lui-même (une pièce créée à partir de la couleur et de la position envoyées par le client) reçoit R11 et R12 volontairement. NOT FLAGGED n'est pas une garantie.

Contenu de l'archive

Un fichier ZIP de 30 fichiers : SKILL.md, le scanner dans scripts/ (7 fichiers Python), references/rules.md (chaque règle avec sa raison et son approche plus sûre) et examples/ (20 fichiers d'exemple plus report.md, la vraie sortie du scanner sur l'exemple risqué).

Utilisation : Il s'agit d'un skill d'agent : un dossier contenant un fichier SKILL.md et des scripts Python qu'un agent de programmation IA comme Claude Code, Cursor ou Codex CLI peut exécuter. Décompressez-le dans le dossier des skills de votre agent (pour Claude Code : ~/.claude/skills/), puis demandez à votre agent de vérifier votre projet. Les scripts fonctionnent aussi seuls avec Python 3.9 ou plus récent, sans rien à installer. Ils se contentent de lire vos fichiers : aucun accès réseau, et rien n'est envoyé nulle part.

Ce que vous recevez

1 fichier · 56.28 KB

  • roblox-luau-safety-check-1.0.0.zipZIP · 56.28 KB
LicenceUsage commercial autorisé
Vérification du paquetRéussie

Getly a ouvert les fichiers envoyés et n'a rien trouvé qui empêche leur ouverture. Ce n'est ni une analyse antivirus ni une note de qualité.

Publié12 nov. 2026
Taille du fichier56.28 KB
Format du fichierZIP
Versionv1.0

Tags

robloxluaurojogamedevsecurityai agent skill
R
RR HH

Questions fréquentes

Ai-je accès au produit immédiatement ?

Oui. C'est un produit numérique : vous pouvez le télécharger juste après le paiement, directement depuis votre bibliothèque.

Puis-je l'utiliser pour des projets commerciaux ?

Oui. L'usage commercial est autorisé : utilisez-le dans votre propre activité et dans ce que vous vendez. Vous ne pouvez pas revendre ni redistribuer le fichier lui-même.

Quelle est votre politique de remboursement ?

Vous pouvez demander un remboursement dans un délai de 30 jours. Si quelque chose ne va pas, demandez-le depuis votre commande et l'équipe Getly l'examine.

Quels formats et quelles tailles de fichier vais-je recevoir ?

Vous téléchargerez 1 fichier - ZIP - 56.28 KB au total.

Ai-je droit aux mises à jour gratuites ?

Oui : quand le vendeur publie une nouvelle version, vous pouvez retélécharger les derniers fichiers depuis votre bibliothèque sans frais. Consultez le journal des modifications pour les dernières mises à jour.

Prix

$5.00