New:Socket for Asana Is Now Available.Learn more
Get Started

@enclave-vm/core

Package Overview
Dependencies
Maintainers
1
Versions
16
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@enclave-vm/core - npm Package Compare versions

Comparing version
2.15.1
to
2.15.2
+5
-1
esm/worker.mjs

@@ -529,3 +529,7 @@ // libs/core/src/adapters/interpreter-adapter.ts

if (prop.type === "RestElement") continue;
const key = prop.key.name;
if (prop.computed) throw new InterpreterError("Computed destructuring keys are not allowed");
let key;
if (prop.key.type === "Identifier") key = prop.key.name;
else if (prop.key.type === "Literal") key = String(prop.key.value);
else throw new InterpreterError("Unsupported destructuring key");
if (BLOCKED_KEYS.has(key)) throw new InterpreterError(`Forbidden destructured key: ${key}`);

@@ -532,0 +536,0 @@ this.bindPattern(prop.value, obj[key], scope, mutable);

+3
-3
{
"name": "@enclave-vm/core",
"version": "2.15.1",
"version": "2.15.2",
"description": "Sandbox runtime for secure JavaScript code execution",

@@ -47,4 +47,4 @@ "author": "AgentFront <info@agentfront.dev>",

"@babel/standalone": "^7.29.0",
"@enclave-vm/ast": "2.15.1",
"@enclave-vm/types": "2.15.1",
"@enclave-vm/ast": "2.15.2",
"@enclave-vm/types": "2.15.2",
"@types/estree": "1.0.8",

@@ -51,0 +51,0 @@ "acorn": "8.15.0",

@@ -46,2 +46,13 @@ /**

/**
* Property-descriptor and prototype MUTATION gadgets. These are the primitives behind the
* GHSA-3279 membrane self-leak (`Object.defineProperty(Object, 'getOwnPropertyDescriptor', hook)`
* to intercept the trap's raw target) and classic prototype pollution (`setPrototypeOf`). They
* are never needed by AgentScript and are already refused by the single-VM SafeObject
* (`DANGEROUS_OBJECT_STATIC_METHODS`), so they are blocked at every level that blocks the
* constructor (all except PERMISSIVE). Read-only reflection (getPrototypeOf, keys, entries,
* getOwnPropertyNames) is intentionally NOT here: the membrane's own getPrototypeOf/ownKeys traps
* already neutralize it for proxied values, and it has legitimate uses.
*/
readonly DESCRIPTOR_MUTATION: Set<string>;
/**
* Node.js 24 Iterator helper method names

@@ -48,0 +59,0 @@ * Blocked at STRICT/SECURE to prevent prototype chain access via iterators

{
"name": "@enclave-vm/core",
"version": "2.15.1",
"version": "2.15.2",
"description": "Sandbox runtime for secure JavaScript code execution",

@@ -49,4 +49,4 @@ "author": "AgentFront <info@agentfront.dev>",

"@babel/standalone": "^7.29.0",
"@enclave-vm/ast": "2.15.1",
"@enclave-vm/types": "2.15.1",
"@enclave-vm/ast": "2.15.2",
"@enclave-vm/types": "2.15.2",
"@types/estree": "1.0.8",

@@ -53,0 +53,0 @@ "acorn": "8.15.0",

@@ -568,3 +568,7 @@ "use strict";

if (prop.type === "RestElement") continue;
const key = prop.key.name;
if (prop.computed) throw new InterpreterError("Computed destructuring keys are not allowed");
let key;
if (prop.key.type === "Identifier") key = prop.key.name;
else if (prop.key.type === "Literal") key = String(prop.key.value);
else throw new InterpreterError("Unsupported destructuring key");
if (BLOCKED_KEYS.has(key)) throw new InterpreterError(`Forbidden destructured key: ${key}`);

@@ -571,0 +575,0 @@ this.bindPattern(prop.value, obj[key], scope, mutable);

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display