•matchType = previous_version_dangerous_delta
matchedPackage = @weppy/roblox-mcp@2.17.1
matchedIdentity = npm:QHdlcHB5L3JvYmxveC1tY3A:2.17.1
similarity = 0.419
summary = stored previous version shares package body but lacks this dangerous source file
CriticalPrevious Version Dangerous Delta
This package version adds a dangerous source file absent from the previous stored version; route for source-aware review.
dist/index.jsView on unpkg 634\r
L635: `+n)}function bl(t,e,n,r,i,a){if(t.listenerCount("wsClientError")){let o=new Error(i);Error.captureStackTrace(o,bl),t.emit("wsClientError",o,n,e)}else Yh(n,r,i,a)}});import qQ from...
L636: `)){if(/^\s*#/.test(e))continue;let n=/^\s*root\s*=\s*(?<mountPoint>"[^"]*"|'[^']*'|[^#]*)/.exec(e);if(n)return n.groups.mountPoint.trim().replaceAll(/^["']|["']$/g,"")}}var GQ=Y((...
634\r
L635: `+n)}function bl(t,e,n,r,i,a){if(t.listenerCount("wsClientError")){let o=new Error(i);Error.captureStackTrace(o,bl),t.emit("wsClientError",o,n,e)}else Yh(n,r,i,a)}});import qQ from...
L636: `)){if(/^\s*#/.test(e))continue;let n=/^\s*root\s*=\s*(?<mountPoint>"[^"]*"|'[^']*'|[^#]*)/.exec(e);if(n)return n.groups.mountPoint.trim().replaceAll(/^["']|["']$/g,"")}}var GQ=Y((...
2import { createRequire as __bundleCreateRequire } from 'module';const require = __bundleCreateRequire(import.meta.url);
L3: var ste=Object.create;var GC=Object.defineProperty;var cte=Object.getOwnPropertyDescriptor;var lte=Object.getOwnPropertyNames;var ute=Object.getPrototypeOf,dte=Object.prototype.has...
L4: `:""},this._extScope=e,this._scope=new yi.Scope({parent:e}),this._nodes=[new jE]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){retu...
...
L6: || (${o} === "string" && ${i} && ${i} == +${i} && !(${i} % 1))`).assign(s,(0,le._)`+${i}`);return;case"boolean":r.elseIf((0,le._)`${i} === "false" || ${i} === 0 || ${i} === null`)....
L7: || ${o} === "boolean" || ${i} === null`).assign(s,(0,le._)`[${i}]`)}}}function Ose({gen:t,parentData:e,p
HighSame File Env Network Execution
A single source file combines environment access, network access, and code or shell execution; review context before blocking.
dist/index.jsView on unpkg · L2 •Manifest-reachable source captures an API credential, sends it to a fixed unofficial gateway, and persists that redirection in agent or shell configuration.
dist/index.js:
var ste=Object.create;var GC=Object.defineProperty;var cte=Object.getOwnPropertyDescriptor;var lte=Object.getOwnPropertyNames;var ute=Object.getPrototypeOf,dte=Object.prototype.has...
deps: ${n}}`};var Xue={keyword:"dependencies",type:"object",schemaType:"object",error:Yi.error,code(t){let[e,n]=Que(t);yq(t,e),vq(t,n)}};function Que({schema:t}){let e={},n={};for(...
`}P5.exports=pbe;function pbe(t,e,n){var r=n||{},i=r.env||process.env.NODE_ENV||"development",a=r.onerror;return function(o){var s,c,l;if(!o&&x5(e)){I1("cannot 404 after headers se...
`;t.dashboardSseClients?.forEach(i=>{i.write(r)})}function W3(t,e){t.dashboa
HighCredential Redirect Persistence
Manifest-reachable source sends a prompted API credential to a fixed unofficial gateway and persists the redirection.
dist/index.jsView on unpkg 539- a platform recommendation not adopted without an observed functional failure
L540: `,ST=[{id:"roblox-screen-safe-area",revision:"2026-09-29",kind:"recommendation",title:"Screen safe areas for important UI",summary:"Roblox recommends CoreUISafeInsets for interacti...
L541: at `+t[n].toString();return e}function xme(t){if(!t)throw new TypeError("argument namespace is required");var e=lx(),n=Hu(e[1]),r=n[0];function i(a){cx.call(i,a)}return i._file=r,i...
L542: `,"utf8")}}}function Hu(t){var e=t.getFileName()||"<anonymous>",n=t.getLineNumber(),r=t.getColumnNumber();t.isEval()&&(e=t.getEvalOrigin()+", "+e);var i=[e,n,r];return i.callSite=t...
L543: at `+n[a].toString();return i}return e&&(i+=" at "+nO(e)),i}function kme(t,e,n){var r="\x1B[36;1m"+this._namespace+"\x1B[22;39m \x1B[33;1md
HighCommand Output Exfiltration
Source combines command execution, command-output handling, and outbound requests; review data flow before blocking.
dist/index.jsView on unpkg · L539 539Trigger-reachable command-output exfiltration chain: scripts.start -> dist/index.js
L539: - a platform recommendation not adopted without an observed functional failure
L540: `,ST=[{id:"roblox-screen-safe-area",revision:"2026-09-29",kind:"recommendation",title:"Screen safe areas for important UI",summary:"Roblox recommends CoreUISafeInsets for interacti...
L541: at `+t[n].toString();return e}function xme(t){if(!t)throw new TypeError("argument namespace is required");var e=lx(),n=Hu(e[1]),r=n[0];function i(a){cx.call(i,a)}return i._file=r,i...
L542: `,"utf8")}}}function Hu(t){var e=t.getFileName()||"<anonymous>",n=t.getLineNumber(),r=t.getColumnNumber();t.isEval()&&(e=t.getEvalOrigin()+", "+e);var i=[e,n,r];return i.callSite=t...
L543: at `+n[a].toString();return i}return e&&(i+=" at "+nO(e
HighTrigger Reachable Command Output Exfiltration
A manifest entrypoint or package-local install chain reaches command-output exfiltration behavior.
dist/index.jsView on unpkg · L539 •stage = ast_semantic_analysis; reason = ast_path_work_budget_exceeded; limitedFiles = 1
HighSemantic Analysis Limited
A bounded semantic-analysis stage reached its safety limit; remaining detectors completed, but this package requires AI review.
dist/index.jsView on unpkg 6|| (${o} === "string" && ${i} && ${i} == +${i} && !(${i} % 1))`).assign(s,(0,le._)`+${i}`);return;case"boolean":r.elseIf((0,le._)`${i} === "false" || ${i} === 0 || ${i} === null`)....
L7: || ${o} === "boolean" || ${i} === null`).assign(s,(0,le._)`[${i}]`)}}}function Ose({gen:t,parentData:e,parentDataProperty:n},r){t.if((0,le._)`${e} !== undefined`,()=>t.assign((0,le...
L8: missingProperty: ${r},
LowEval
Package source references a known benign dynamic code generation pattern.
dist/index.jsView on unpkg · L6 2import { createRequire as __bundleCreateRequire } from 'module';const require = __bundleCreateRequire(import.meta.url);
L3: var ste=Object.create;var GC=Object.defineProperty;var cte=Object.getOwnPropertyDescriptor;var lte=Object.getOwnPropertyNames;var ute=Object.getPrototypeOf,dte=Object.prototype.has...
L4: `:""},this._extScope=e,this._scope=new yi.Scope({parent:e}),this._nodes=[new jE]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){retu...
L5: || (${o} == "string" && ${i} && ${i} == +${i})`).assign(s,(0,le._)`+${i}`);return;case"integer":r.elseIf((0,le._)`${o} === "boolean" || ${i} === null
L6: || (${o} === "string" && ${i} && ${i} == +${i} && !(${i} % 1))`).assign(s,(0,le._)`+${i}`);return;case"boolean":r.elseIf((0,le._)`${i} === "fa
LowWeak Crypto
Package source references weak cryptographic algorithms.
dist/index.jsView on unpkg · L2