Numelon Wiki

sUNC (senS’ Unified Naming Convention) is a testing framework designed to evaluate the integrity and authenticity of Luau executor environments within the Roblox platform. Unlike its predecessor, Unified Naming Convention (UNC), sUNC emphasises functional correctness over mere presence of functions, aiming to detect spoofed and/or improperly implemented functions.

Overview

sUNC serves as a tool for developers and users to assess whether a Roblox executor accurately implements essential global functions. By executing a series of tests, sUNC verifies the behaviour of functions to ensure they operate as intended, rather than simply existing globally. This approach addresses the shortcomings of the original UNC, which could be circumvented by executors that mimicked function behaviours and naming without proper functionality.

A user may run sUNC at their own will to test their exploit using the following script:

getgenv().sUNCDebug = {
  ["printcheckpoints"] = false,
  ["delaybetweentests"] = 0
}

loadstring(game:HttpGet("https://script.sunc.su/"))()

Functionality

The core functionality of sUNC revolves around its testing script, which performs a comprehensive analysis of the executor’s environment. sUNC executes functions to observe their behaviour, ensuring they perform expected operations. The main testing script is obfuscated to prevent executors from tailoring their environments (by looking at sUNC's source code) to pass tests without genuine functionality. Test results provide insights into which functions fail and the nature of the failures, aiding in debugging and development.

Comparison with UNC

While both sUNC and UNC aim to ensure the presence of essential functions in executor environments, their methodologies differ significantly, addressing the key shortcomings of the original UNC. It’s important to note that UNC is not inherently bad; its misuse and the way it was treated for specific purposes led to the need for more comprehensive solutions, like sUNC.

  • UNC: The Unified Naming Convention primarily checked for the existence of functions within an executor’s environment. This approach allowed executors to pass UNC compliance checks by mimicking function names and signatures without actually implementing the required functionality. While this wasn’t a fundamental flaw in the concept of UNC itself, the way it was used meant that its validation process could be shallow and easily spoofed. UNC’s goal was to ensure functions were present, but it didn’t verify whether they worked as expected, leaving room for exploitation.
  • sUNC: In contrast, sUNC goes beyond simply checking for the existence of functions. It ensures that not only are the functions present, but they also behave as intended. By running comprehensive tests to verify their actual behavior, sUNC makes it much harder for executors to fake compliance. This deeper level of testing provides a much more accurate measure of an executor’s functionality.

These advancements in sUNC address the critical flaws of UNC:

  1. Shallow Validation: Unlike UNC’s superficial checks, sUNC conducts deep tests on function behavior, ensuring that executors can’t just claim compliance without fulfilling the necessary functionality. See Before sUNC: Misuse of UNC
  1. False Advertising: With UNC, some exploit developers marketed compliance as a quality metric, even though it didn’t guarantee proper functionality. sUNC’s focus on functional correctness provides a genuine quality metric, helping to eliminate misleading claims

In essence, sUNC provides a more reliable, comprehensive, and authentic way to ensure function integrity in executor environments. While UNC had a legitimate purpose, it was ultimately misused, and sUNC solves the key issues that hampered UNC’s effectiveness by focusing on validating true functionality, not just presence.

History

Before sUNC: Misuse of UNC

Before the creation of sUNC, the Unified Naming Convention (UNC) was introduced as a tool to test the presence of specific functions in Roblox executors. Originally intended to verify the existence of key functions, UNC was widely adopted by the community during a time when Roblox had implemented Hyperion, an anti-cheat system that sought to eliminate exploiters. However, after a few months of stability, some exploit developers began reverse-engineering Roblox again and found new ways to exploit the platform.

In its original form, the UNC script aimed to provide a reliable metric for testing Roblox executors. However, it was quickly discovered that the script's checks were superficial and could easily be spoofed by exploit developers. For instance, the iscclosure test, which was intended to verify whether a function was a C closure, could be bypassed by returning pre-determined values based on the input, particularly if the function being tested was known in advance, like print. Similarly, the newcclosure test, which checked whether newcclosure created a new C closure that had the same identifier to the original function, was vulnerable to manipulation. Exploit developers could track functions passed to newcclosure and modify the script to always return valid results, regardless of whether the closures were genuinely functional.

These vulnerabilities led to the undermining of the tool’s effectiveness, as many exploit developers were able to falsely advertise their executors as compliant with the UNC tests, misleading users about the actual functionality of their tools. The shallow nature of these checks ultimately made UNC be viewed an unreliable standard by informed developers.

Creation of sUNC v1 (August 2024)

In August 2024, senS created sUNC to address the critical flaws of its predecessor. Unlike UNC, sUNC focused on validating the actual behavior of functions, not just whether they returned the correct values.

sUNC's approach was revolutionary in that it prioritised real-world functionality over superficial return values, which made it far more difficult for exploit developers to spoof the results. By validating the behavior of executors, sUNC provided a reliable way for users to ensure that their tools were functioning properly. This innovation quickly gained traction within the community.

Partnership with Numelon (November 2024)

In November 2024, sUNC received support from Numelon through its Open Source Programme (OSP). While sUNC is not an open-source project, it qualified for the programme’s Small Project section, which offers assistance to promising projects. Additionally, Richy, the founder of Numelon, saw potential in sUNC and pledged to provide support as needed, offering help in any reasonable way that would benefit the project’s development.

As part of this support, sInvite, a Discord bot, was developed to help manage the growing sUNC community. It initially offered invite tracking, providing insights into community growth. Additionally, it included basic moderation features, such as lockdown management to help prevent server raids, which were sometimes driven by rivalries in the Roblox exploiting community.

While sInvite did include an AI component to boost engagement, this has been temporarily discontinued as of April 26, 2025. There are speculative plans for an sUNC AI with deeper knowledge of the framework, but nothing has been confirmed at this point.

Development of Version 2 (Overhaul, Early 2025)

Addressing Fake Test Results

In early 2025, the sUNC team faced a new challenge: although the tool had successfully mitigated the ability to spoof test results by verifying function behavior, some exploit developers found ways to detect when the sUNC script was running. These developers responded by replacing the genuine sUNC script with a counterfeit version that falsely indicated 100% compliance, misleading users into believing their exploits were functioning correctly.

Overhaul of the Testing System

To address this issue, the sUNC team initiated a complete overhaul of the testing system. The updated process required users to conduct tests within a trusted Roblox experience, ensuring the integrity of the test results. Rather than relying on the client to output results, the client now communicates with a secure server for real-time validation, ensuring the authenticity of the test results.

Server-Side Validation and Transparency

The integration of server-side validation helped to guarantee that test results were genuine and could not be tampered with on the client side. To further improve transparency, the sUNC test website was updated to clearly indicate whether test results were valid or spoofed, providing users with a reliable method for verifying the integrity of their results.

Moving Away from External Services

Initially, the sUNC team planned to utilise external services like Pastebin for storing and sharing test results. However, this approach was quickly abandoned due to concerns about Pastebin’s outdated API and unreliable service. Additionally, the open nature of Pastebin allowed anyone to post results claiming to be from sUNC, which undermined the credibility of the tests. As a result, the sUNC team opted for a more secure and controlled system for managing test results.

Extension of Numelon's Partnership

SuncTestResult

A typical sUNC test result.

In light of these challenges, the sUNC team extended its partnership with Numelon, leveraging their services to integrate Rubiš alongside a custom test result management system. This integration introduced result storage, cryptographic verification, and authentication, providing a much more reliable and secure method for managing sUNC test results.

Final Outcome

With the release of version 2.0, the sUNC team believes they have successfully eliminated all potential avenues for spoofing. As a result, sUNC is now widely regarded within the Roblox exploiting community as a full replacement for the now-discontinued UNC, with users praising it as a "thorough" and "more reliable" solution for verifying executor functionality.

External Links