safe-mdx 1.6.0 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +22 -12
- package/dist/safe-mdx.d.ts +13 -0
- package/dist/safe-mdx.d.ts.map +1 -1
- package/dist/safe-mdx.js +187 -0
- package/dist/safe-mdx.js.map +1 -1
- package/dist/safe-mdx.test.js +284 -11
- package/dist/safe-mdx.test.js.map +1 -1
- package/package.json +1 -1
- package/src/safe-mdx.test.tsx +355 -11
- package/src/safe-mdx.tsx +246 -0
package/README.md
CHANGED
|
@@ -519,19 +519,20 @@ export function Page() {
|
|
|
519
519
|
|
|
520
520
|
### Arrow functions and callbacks
|
|
521
521
|
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
```
|
|
525
|
-
npm i escodegen
|
|
526
|
-
```
|
|
522
|
+
Arrow functions and callbacks like `.map(item => item.name)` work out of the box when `scope` is provided. safe-mdx includes a built-in safe AST interpreter that evaluates function expressions by walking the syntax tree recursively, without using `new Function()` or `eval()`. This means arrow functions **work in Cloudflare Workers** and other edge runtimes.
|
|
527
523
|
|
|
528
524
|
```tsx
|
|
529
525
|
import { SafeMdxRenderer } from 'safe-mdx'
|
|
530
526
|
import { mdxParse } from 'safe-mdx/parse'
|
|
531
|
-
import { generate } from 'escodegen'
|
|
532
527
|
|
|
533
528
|
const code = `
|
|
534
529
|
{items.map(item => item.name).join(", ")}
|
|
530
|
+
|
|
531
|
+
{users.filter(u => u.role === "admin").map(u => u.name).join(", ")}
|
|
532
|
+
|
|
533
|
+
{nums.reduce((acc, x) => acc + x, 0)}
|
|
534
|
+
|
|
535
|
+
{items.map(item => formatName(item.name)).join(", ")}
|
|
535
536
|
`
|
|
536
537
|
|
|
537
538
|
export function Page() {
|
|
@@ -540,33 +541,42 @@ export function Page() {
|
|
|
540
541
|
<SafeMdxRenderer
|
|
541
542
|
markdown={code}
|
|
542
543
|
mdast={ast}
|
|
543
|
-
scope={{
|
|
544
|
-
|
|
544
|
+
scope={{
|
|
545
|
+
items: [{ name: 'alice' }, { name: 'bob' }],
|
|
546
|
+
users: [
|
|
547
|
+
{ name: 'Alice', role: 'admin' },
|
|
548
|
+
{ name: 'Bob', role: 'user' },
|
|
549
|
+
],
|
|
550
|
+
nums: [1, 2, 3, 4],
|
|
551
|
+
formatName: (s) => s.toUpperCase(),
|
|
552
|
+
}}
|
|
545
553
|
/>
|
|
546
554
|
)
|
|
547
555
|
}
|
|
548
556
|
```
|
|
549
557
|
|
|
558
|
+
Supported patterns include expression bodies (`x => x.name`), block bodies with return (`x => { return x * 2 }`), destructuring (`({ name }) => name`), multiple parameters (`(a, b) => a + b`), nested arrows, calling scope functions inside callbacks (`x => formatName(x)`), and chained calls like `.filter().map().join()`.
|
|
559
|
+
|
|
550
560
|
The `evaluateOptions` prop accepts the following options:
|
|
551
561
|
|
|
552
562
|
| Option | Type | Default | Description |
|
|
553
563
|
|---|---|---|---|
|
|
554
564
|
| `functions` | `boolean` | `false` | Enable function calls in expressions. Automatically set to `true` when `scope` is provided. |
|
|
555
|
-
| `generate` | `(ast) => string` | `undefined` | Pass `escodegen.generate` to
|
|
565
|
+
| `generate` | `(ast) => string` | `undefined` | Pass `escodegen.generate` to use the legacy `new Function()` path instead of the built-in safe interpreter. Not needed in most cases. |
|
|
556
566
|
| `booleanLogicalOperators` | `boolean` | `undefined` | Force `&&` and `||` to return booleans instead of truthy/falsy values. |
|
|
557
567
|
| `strict` | `boolean` | `false` | Throw an error when variables referenced in expressions are undefined. |
|
|
558
568
|
|
|
559
569
|
### Security considerations for scope
|
|
560
570
|
|
|
561
|
-
Using `scope`
|
|
571
|
+
Using `scope` trades some of safe-mdx's sandboxing guarantees for expressiveness. Be aware of these risks:
|
|
562
572
|
|
|
563
573
|
- **`scope` with functions**: the MDX author can call any function you put in scope with any arguments. Only expose functions that are safe to call with arbitrary inputs. Never put functions that access the filesystem, database, or network in scope unless you trust the MDX source.
|
|
564
574
|
|
|
565
|
-
- **`evaluateOptions: { generate }`**: this
|
|
575
|
+
- **`evaluateOptions: { generate }`**: this overrides the built-in safe interpreter with `escodegen.generate`, which uses `new Function()` under the hood. This means **the MDX author can run arbitrary code** within the expression context. Only use `generate` when you fully trust the MDX content. This option **does not work in Cloudflare Workers** or other edge runtimes that block `new Function()` and `eval()`.
|
|
566
576
|
|
|
567
577
|
- **`evaluateOptions: { strict: true }`**: useful for catching typos in scope variable names. Without it, undefined variables silently resolve to `undefined`.
|
|
568
578
|
|
|
569
|
-
If you are rendering **untrusted MDX** (user-generated content, multi-tenant apps), avoid using `scope` with sensitive functions
|
|
579
|
+
If you are rendering **untrusted MDX** (user-generated content, multi-tenant apps), avoid using `scope` with sensitive functions. Instead, define your logic inside custom components passed to the `components` prop, which keeps the MDX author constrained to the component API you define.
|
|
570
580
|
|
|
571
581
|
## Security
|
|
572
582
|
|
package/dist/safe-mdx.d.ts
CHANGED
|
@@ -130,5 +130,18 @@ type ComponentsMap = {
|
|
|
130
130
|
} & {
|
|
131
131
|
[key: string]: any;
|
|
132
132
|
};
|
|
133
|
+
/**
|
|
134
|
+
* Custom visitors for eval-estree-expression that interpret arrow functions
|
|
135
|
+
* and function expressions by walking the AST recursively, without using
|
|
136
|
+
* `new Function()` or `eval()`. This makes them safe for Cloudflare Workers
|
|
137
|
+
* and other edge runtimes that block dynamic code evaluation.
|
|
138
|
+
*
|
|
139
|
+
* The visitors are called with `this` bound to the Expression evaluator
|
|
140
|
+
* instance, giving access to `this.visit()` for recursive evaluation.
|
|
141
|
+
*/
|
|
142
|
+
export declare function createSafeFunctionVisitors(): {
|
|
143
|
+
ArrowFunctionExpression: (this: any, node: any, context: any) => (this: any, ...args: any[]) => any;
|
|
144
|
+
FunctionExpression: (this: any, node: any, context: any) => (this: any, ...args: any[]) => any;
|
|
145
|
+
};
|
|
133
146
|
export {};
|
|
134
147
|
//# sourceMappingURL=safe-mdx.d.ts.map
|
package/dist/safe-mdx.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"safe-mdx.d.ts","sourceRoot":"","sources":["../src/safe-mdx.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"safe-mdx.d.ts","sourceRoot":"","sources":["../src/safe-mdx.tsx"],"names":[],"mappings":"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"}
|
package/dist/safe-mdx.js
CHANGED
|
@@ -330,6 +330,18 @@ export class MdastToJsx {
|
|
|
330
330
|
const options = hasScope || this.evaluateOptions
|
|
331
331
|
? { ...(hasScope ? { functions: true } : {}), ...this.evaluateOptions }
|
|
332
332
|
: undefined;
|
|
333
|
+
// When functions are enabled and the user hasn't provided their own
|
|
334
|
+
// `generate` (escodegen), inject our safe AST-interpreting visitors
|
|
335
|
+
// that handle ArrowFunctionExpression and FunctionExpression without
|
|
336
|
+
// using `new Function()` or `eval()`. This makes arrow function
|
|
337
|
+
// callbacks like `.map(x => x.name)` work in Cloudflare Workers.
|
|
338
|
+
if (options && options.functions && !options.generate) {
|
|
339
|
+
;
|
|
340
|
+
options.visitors = {
|
|
341
|
+
...options.visitors,
|
|
342
|
+
...createSafeFunctionVisitors(),
|
|
343
|
+
};
|
|
344
|
+
}
|
|
333
345
|
return Evaluate.evaluate.sync(expression, context, options);
|
|
334
346
|
}
|
|
335
347
|
getJsxAttrs(node, onError = console.error) {
|
|
@@ -758,4 +770,179 @@ export function mdastBfs(node, cb) {
|
|
|
758
770
|
}
|
|
759
771
|
return result;
|
|
760
772
|
}
|
|
773
|
+
/**
|
|
774
|
+
* Bind function parameters to argument values, handling Identifier,
|
|
775
|
+
* ObjectPattern, ArrayPattern, RestElement, and AssignmentPattern nodes.
|
|
776
|
+
* Writes bindings into `ctx` in place.
|
|
777
|
+
*/
|
|
778
|
+
function bindParams(params, args, ctx, visit) {
|
|
779
|
+
for (let i = 0; i < params.length; i++) {
|
|
780
|
+
const param = params[i];
|
|
781
|
+
switch (param.type) {
|
|
782
|
+
case 'Identifier':
|
|
783
|
+
ctx[param.name] = args[i];
|
|
784
|
+
break;
|
|
785
|
+
case 'RestElement':
|
|
786
|
+
if (param.argument.type === 'Identifier') {
|
|
787
|
+
ctx[param.argument.name] = args.slice(i);
|
|
788
|
+
}
|
|
789
|
+
break;
|
|
790
|
+
case 'AssignmentPattern': {
|
|
791
|
+
const val = args[i] !== undefined
|
|
792
|
+
? args[i]
|
|
793
|
+
: visit(param.right, ctx, param);
|
|
794
|
+
if (param.left.type === 'Identifier') {
|
|
795
|
+
ctx[param.left.name] = val;
|
|
796
|
+
}
|
|
797
|
+
break;
|
|
798
|
+
}
|
|
799
|
+
case 'ObjectPattern': {
|
|
800
|
+
const obj = args[i] || {};
|
|
801
|
+
for (const prop of param.properties) {
|
|
802
|
+
if (prop.type === 'RestElement') {
|
|
803
|
+
const used = new Set(param.properties
|
|
804
|
+
.filter((p) => p !== prop)
|
|
805
|
+
.map((p) => p.key?.name ?? p.key?.value));
|
|
806
|
+
const rest = {};
|
|
807
|
+
for (const key of Object.keys(obj)) {
|
|
808
|
+
if (!used.has(key))
|
|
809
|
+
rest[key] = obj[key];
|
|
810
|
+
}
|
|
811
|
+
if (prop.argument.type === 'Identifier') {
|
|
812
|
+
ctx[prop.argument.name] = rest;
|
|
813
|
+
}
|
|
814
|
+
}
|
|
815
|
+
else {
|
|
816
|
+
const key = prop.key.type === 'Identifier'
|
|
817
|
+
? prop.key.name
|
|
818
|
+
: prop.key.value;
|
|
819
|
+
if (prop.value.type === 'Identifier') {
|
|
820
|
+
ctx[prop.value.name] = obj[key];
|
|
821
|
+
}
|
|
822
|
+
else if (prop.value.type === 'AssignmentPattern') {
|
|
823
|
+
const val = obj[key] !== undefined
|
|
824
|
+
? obj[key]
|
|
825
|
+
: visit(prop.value.right, ctx, prop.value);
|
|
826
|
+
if (prop.value.left.type === 'Identifier') {
|
|
827
|
+
ctx[prop.value.left.name] = val;
|
|
828
|
+
}
|
|
829
|
+
}
|
|
830
|
+
}
|
|
831
|
+
}
|
|
832
|
+
break;
|
|
833
|
+
}
|
|
834
|
+
case 'ArrayPattern': {
|
|
835
|
+
const arr = args[i] || [];
|
|
836
|
+
for (let j = 0; j < param.elements.length; j++) {
|
|
837
|
+
const elem = param.elements[j];
|
|
838
|
+
if (!elem)
|
|
839
|
+
continue;
|
|
840
|
+
if (elem.type === 'Identifier') {
|
|
841
|
+
ctx[elem.name] = arr[j];
|
|
842
|
+
}
|
|
843
|
+
else if (elem.type === 'RestElement' &&
|
|
844
|
+
elem.argument.type === 'Identifier') {
|
|
845
|
+
ctx[elem.argument.name] = arr.slice(j);
|
|
846
|
+
}
|
|
847
|
+
}
|
|
848
|
+
break;
|
|
849
|
+
}
|
|
850
|
+
}
|
|
851
|
+
}
|
|
852
|
+
}
|
|
853
|
+
// Sentinel value to signal a return from inside a block body
|
|
854
|
+
const RETURN_SENTINEL = Symbol('return');
|
|
855
|
+
/**
|
|
856
|
+
* Execute a block statement body (array of statements) using the
|
|
857
|
+
* eval-estree-expression visitor's `this.visit`. Returns the value
|
|
858
|
+
* from the first ReturnStatement encountered, or undefined.
|
|
859
|
+
*/
|
|
860
|
+
function executeBlockBody(body, ctx, visit, parentNode) {
|
|
861
|
+
for (const stmt of body) {
|
|
862
|
+
switch (stmt.type) {
|
|
863
|
+
case 'ReturnStatement':
|
|
864
|
+
return stmt.argument
|
|
865
|
+
? visit(stmt.argument, ctx, stmt)
|
|
866
|
+
: undefined;
|
|
867
|
+
case 'ExpressionStatement':
|
|
868
|
+
visit(stmt.expression, ctx, stmt);
|
|
869
|
+
break;
|
|
870
|
+
case 'VariableDeclaration':
|
|
871
|
+
for (const decl of stmt.declarations) {
|
|
872
|
+
const value = decl.init
|
|
873
|
+
? visit(decl.init, ctx, decl)
|
|
874
|
+
: undefined;
|
|
875
|
+
if (decl.id.type === 'Identifier') {
|
|
876
|
+
ctx[decl.id.name] = value;
|
|
877
|
+
}
|
|
878
|
+
}
|
|
879
|
+
break;
|
|
880
|
+
case 'IfStatement': {
|
|
881
|
+
const test = visit(stmt.test, ctx, stmt);
|
|
882
|
+
if (test) {
|
|
883
|
+
if (stmt.consequent.type === 'BlockStatement') {
|
|
884
|
+
const result = executeBlockBody(stmt.consequent.body, ctx, visit, stmt);
|
|
885
|
+
if (result !== undefined)
|
|
886
|
+
return result;
|
|
887
|
+
}
|
|
888
|
+
else if (stmt.consequent.type === 'ReturnStatement') {
|
|
889
|
+
return stmt.consequent.argument
|
|
890
|
+
? visit(stmt.consequent.argument, ctx, stmt.consequent)
|
|
891
|
+
: undefined;
|
|
892
|
+
}
|
|
893
|
+
else {
|
|
894
|
+
visit(stmt.consequent, ctx, stmt);
|
|
895
|
+
}
|
|
896
|
+
}
|
|
897
|
+
else if (stmt.alternate) {
|
|
898
|
+
if (stmt.alternate.type === 'BlockStatement') {
|
|
899
|
+
const result = executeBlockBody(stmt.alternate.body, ctx, visit, stmt);
|
|
900
|
+
if (result !== undefined)
|
|
901
|
+
return result;
|
|
902
|
+
}
|
|
903
|
+
else if (stmt.alternate.type === 'ReturnStatement') {
|
|
904
|
+
return stmt.alternate.argument
|
|
905
|
+
? visit(stmt.alternate.argument, ctx, stmt.alternate)
|
|
906
|
+
: undefined;
|
|
907
|
+
}
|
|
908
|
+
else {
|
|
909
|
+
visit(stmt.alternate, ctx, stmt);
|
|
910
|
+
}
|
|
911
|
+
}
|
|
912
|
+
break;
|
|
913
|
+
}
|
|
914
|
+
}
|
|
915
|
+
}
|
|
916
|
+
return undefined;
|
|
917
|
+
}
|
|
918
|
+
/**
|
|
919
|
+
* Custom visitors for eval-estree-expression that interpret arrow functions
|
|
920
|
+
* and function expressions by walking the AST recursively, without using
|
|
921
|
+
* `new Function()` or `eval()`. This makes them safe for Cloudflare Workers
|
|
922
|
+
* and other edge runtimes that block dynamic code evaluation.
|
|
923
|
+
*
|
|
924
|
+
* The visitors are called with `this` bound to the Expression evaluator
|
|
925
|
+
* instance, giving access to `this.visit()` for recursive evaluation.
|
|
926
|
+
*/
|
|
927
|
+
export function createSafeFunctionVisitors() {
|
|
928
|
+
// Using a regular function (not arrow) so `this` is the Expression instance
|
|
929
|
+
function functionExpressionVisitor(node, context) {
|
|
930
|
+
const self = this;
|
|
931
|
+
return function (...args) {
|
|
932
|
+
const newContext = { ...context };
|
|
933
|
+
bindParams(node.params, args, newContext, (n, ctx, p) => self.visit(n, ctx, p));
|
|
934
|
+
if (node.expression ||
|
|
935
|
+
node.body.type !== 'BlockStatement') {
|
|
936
|
+
// Expression body: x => x.name
|
|
937
|
+
return self.visit(node.body, newContext, node);
|
|
938
|
+
}
|
|
939
|
+
// Block body: x => { ... return ... }
|
|
940
|
+
return executeBlockBody(node.body.body, newContext, (n, ctx, p) => self.visit(n, ctx, p), node);
|
|
941
|
+
};
|
|
942
|
+
}
|
|
943
|
+
return {
|
|
944
|
+
ArrowFunctionExpression: functionExpressionVisitor,
|
|
945
|
+
FunctionExpression: functionExpressionVisitor,
|
|
946
|
+
};
|
|
947
|
+
}
|
|
761
948
|
//# sourceMappingURL=safe-mdx.js.map
|
package/dist/safe-mdx.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"safe-mdx.js","sourceRoot":"","sources":["../src/safe-mdx.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"safe-mdx.js","sourceRoot":"","sources":["../src/safe-mdx.tsx"],"names":[],"mappings":"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"}
|