@promptframe/contracts 0.1.8 → 0.1.9
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 +12 -0
- package/dist/index.d.ts +166 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +178 -0
- package/dist/index.js.map +1 -1
- package/dist/security-policy-evaluator.d.ts +36 -0
- package/dist/security-policy-evaluator.d.ts.map +1 -0
- package/dist/security-policy-evaluator.js +253 -0
- package/dist/security-policy-evaluator.js.map +1 -0
- package/dist/security-policy-fingerprint.d.ts +4 -0
- package/dist/security-policy-fingerprint.d.ts.map +1 -0
- package/dist/security-policy-fingerprint.js +37 -0
- package/dist/security-policy-fingerprint.js.map +1 -0
- package/package.json +6 -4
package/README.md
CHANGED
|
@@ -10,3 +10,15 @@ Key public exports:
|
|
|
10
10
|
- `authoringStandardFreshnessDecisionSchema`: shared shape for local tooling and platform admission to explain whether an authoring package is current, warning-only, upload-blocking, or security-breaking.
|
|
11
11
|
- `authoringUploadTargetSchema`: public upload lanes for `marketplace_authoring` and `project_private_generation`.
|
|
12
12
|
- `componentReusabilityScoreSchema`: shared shape for deterministic component reuse diagnostics emitted by local CLI checks and platform admission.
|
|
13
|
+
- `PROMPTFRAME_PUBLIC_SECURITY_POLICY_DIGEST`: deterministic release-cohort fingerprint for the public security policy.
|
|
14
|
+
- `@promptframe/contracts/security-evaluator`: AST-aware evaluator for JS / TS / TSX source diagnostics.
|
|
15
|
+
|
|
16
|
+
## Public Security Policy
|
|
17
|
+
|
|
18
|
+
`PROMPTFRAME_PUBLIC_SECURITY_POLICY` is the public author-facing rule catalog used by CLI diagnostics. It intentionally describes the behavior an external component author must avoid, not PromptFrame platform internals.
|
|
19
|
+
|
|
20
|
+
High-risk browser/runtime capabilities are rejected locally when they are statically visible, including BroadcastChannel, WebRTC / RTCPeerConnection, Notification, Service Worker, clipboard access, navigator.locks, AudioContext / AudioWorklet, CSS.registerProperty, DOM Observer APIs, Remotion delayRender, and dynamic import.
|
|
21
|
+
|
|
22
|
+
Each public rule exposes a stable `id`, severity, category, action, pattern set, optional AST matcher metadata, human reason, recommendation, and documentation path so local CLI output, GitHub annotations, and platform admission can refer to the same author-facing diagnostic family.
|
|
23
|
+
|
|
24
|
+
The security evaluator subpath parses JS / TS / TSX source with the TypeScript compiler API, so comments, strings, and harmless local identifiers do not trigger the same diagnostics as real browser capability access. Regex patterns remain as compatibility and metadata fallback, not the preferred source-code admission path.
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
+
export { COMPONENT_SECURITY_POLICY_DIGEST_VERSION, canonicalizePromptFramePolicy, createPromptFramePublicSecurityPolicyDigest, } from './security-policy-fingerprint.js';
|
|
2
3
|
export declare const PROMPTFRAME_CONTRACTS_VERSION: "promptframe-contracts.v0.1.0";
|
|
3
4
|
export declare const COMPONENT_MANIFEST_SCHEMA_VERSION: "component-manifest.v0.1.0";
|
|
4
5
|
export declare const COMPONENT_STANDARD_VERSION: "component-standard.v0.1.0";
|
|
@@ -75,6 +76,9 @@ export declare const PROMPTFRAME_PUBLIC_SECURITY_POLICY: {
|
|
|
75
76
|
readonly id: "code.eval";
|
|
76
77
|
readonly label: "Dynamic code execution";
|
|
77
78
|
readonly patterns: readonly ["\\beval\\s*\\("];
|
|
79
|
+
readonly astMatchers: {
|
|
80
|
+
readonly globals: readonly ["eval"];
|
|
81
|
+
};
|
|
78
82
|
readonly action: "reject";
|
|
79
83
|
readonly category: "dynamic_code_execution";
|
|
80
84
|
readonly severity: "high";
|
|
@@ -84,6 +88,9 @@ export declare const PROMPTFRAME_PUBLIC_SECURITY_POLICY: {
|
|
|
84
88
|
readonly id: "code.new_function";
|
|
85
89
|
readonly label: "new Function dynamic execution";
|
|
86
90
|
readonly patterns: readonly ["\\bnew\\s+Function\\s*\\("];
|
|
91
|
+
readonly astMatchers: {
|
|
92
|
+
readonly globals: readonly ["Function"];
|
|
93
|
+
};
|
|
87
94
|
readonly action: "reject";
|
|
88
95
|
readonly category: "dynamic_code_execution";
|
|
89
96
|
readonly severity: "high";
|
|
@@ -93,25 +100,183 @@ export declare const PROMPTFRAME_PUBLIC_SECURITY_POLICY: {
|
|
|
93
100
|
readonly id: "code.string_timer";
|
|
94
101
|
readonly label: "String timer execution";
|
|
95
102
|
readonly patterns: readonly ["\\bset(?:Timeout|Interval)\\s*\\(\\s*['\"`]"];
|
|
103
|
+
readonly astMatchers: {
|
|
104
|
+
readonly stringTimer: true;
|
|
105
|
+
};
|
|
96
106
|
readonly action: "reject";
|
|
97
107
|
readonly category: "dynamic_code_execution";
|
|
98
108
|
readonly severity: "high";
|
|
99
109
|
readonly reason: "String timers are equivalent to dynamic code execution.";
|
|
100
110
|
readonly recommendation: "Do not pass strings to setTimeout or setInterval.";
|
|
111
|
+
}, {
|
|
112
|
+
readonly id: "code.dynamic_import";
|
|
113
|
+
readonly label: "Dynamic import loading";
|
|
114
|
+
readonly patterns: readonly ["\\bimport\\s*\\("];
|
|
115
|
+
readonly astMatchers: {
|
|
116
|
+
readonly dynamicImport: true;
|
|
117
|
+
};
|
|
118
|
+
readonly action: "reject";
|
|
119
|
+
readonly category: "dynamic_code_execution";
|
|
120
|
+
readonly severity: "high";
|
|
121
|
+
readonly reason: "Third-party components cannot dynamically load code at preview or render time.";
|
|
122
|
+
readonly recommendation: "Use static imports that are visible to the authoring build and security checks.";
|
|
123
|
+
readonly docsPath: "/docs/component-authoring/security#code-dynamic-import";
|
|
101
124
|
}, {
|
|
102
125
|
readonly id: "host.fs_process_env";
|
|
103
126
|
readonly label: "Host filesystem, process, or env access";
|
|
104
127
|
readonly patterns: readonly ["\\b(node:fs|fs\\/promises|child_process|process\\.env|Bun\\.|Deno\\.)\\b"];
|
|
128
|
+
readonly astMatchers: {
|
|
129
|
+
readonly globals: readonly ["Bun", "Deno"];
|
|
130
|
+
readonly memberPaths: readonly ["process.env", "Bun", "Deno"];
|
|
131
|
+
};
|
|
105
132
|
readonly action: "reject";
|
|
106
133
|
readonly category: "filesystem_process_env_access";
|
|
107
134
|
readonly severity: "critical";
|
|
108
135
|
readonly reason: "Components must not read host files, spawn processes, or access environment variables.";
|
|
109
136
|
readonly recommendation: "Use only platform-provided props and trusted artifacts.";
|
|
137
|
+
}, {
|
|
138
|
+
readonly id: "browser.broadcast_channel";
|
|
139
|
+
readonly label: "BroadcastChannel cross-context messaging";
|
|
140
|
+
readonly patterns: readonly ["\\bnew\\s+BroadcastChannel\\b|\\bBroadcastChannel\\s*\\("];
|
|
141
|
+
readonly astMatchers: {
|
|
142
|
+
readonly globals: readonly ["BroadcastChannel"];
|
|
143
|
+
readonly memberPaths: readonly ["window.BroadcastChannel", "globalThis.BroadcastChannel"];
|
|
144
|
+
};
|
|
145
|
+
readonly action: "reject";
|
|
146
|
+
readonly category: "browser_capability";
|
|
147
|
+
readonly severity: "high";
|
|
148
|
+
readonly reason: "Third-party components cannot open cross-tab or cross-context messaging channels.";
|
|
149
|
+
readonly recommendation: "Remove BroadcastChannel. Use explicit component props or platform-provided data instead.";
|
|
150
|
+
readonly docsPath: "/docs/component-authoring/security#browser-broadcast-channel";
|
|
151
|
+
}, {
|
|
152
|
+
readonly id: "browser.webrtc";
|
|
153
|
+
readonly label: "WebRTC / RTCPeerConnection access";
|
|
154
|
+
readonly patterns: readonly ["\\bnew\\s+RTCPeerConnection\\b|\\bRTCPeerConnection\\s*\\(|navigator\\.mediaDevices\\.getUserMedia\\s*\\("];
|
|
155
|
+
readonly astMatchers: {
|
|
156
|
+
readonly globals: readonly ["RTCPeerConnection"];
|
|
157
|
+
readonly memberPaths: readonly ["navigator.mediaDevices.getUserMedia"];
|
|
158
|
+
};
|
|
159
|
+
readonly action: "reject";
|
|
160
|
+
readonly category: "browser_capability";
|
|
161
|
+
readonly severity: "high";
|
|
162
|
+
readonly reason: "Third-party components cannot open peer connections or capture local media devices.";
|
|
163
|
+
readonly recommendation: "Remove WebRTC and media device access. Use platform-provided assets or props.";
|
|
164
|
+
readonly docsPath: "/docs/component-authoring/security#browser-webrtc";
|
|
165
|
+
}, {
|
|
166
|
+
readonly id: "browser.notification";
|
|
167
|
+
readonly label: "Notification permission or display";
|
|
168
|
+
readonly patterns: readonly ["\\bnew\\s+Notification\\b|\\bNotification\\s*\\(|Notification\\.requestPermission\\s*\\("];
|
|
169
|
+
readonly astMatchers: {
|
|
170
|
+
readonly globals: readonly ["Notification"];
|
|
171
|
+
readonly memberPaths: readonly ["Notification.requestPermission", "window.Notification", "globalThis.Notification"];
|
|
172
|
+
};
|
|
173
|
+
readonly action: "reject";
|
|
174
|
+
readonly category: "browser_capability";
|
|
175
|
+
readonly severity: "high";
|
|
176
|
+
readonly reason: "Third-party components cannot request browser notification permissions or show notifications.";
|
|
177
|
+
readonly recommendation: "Remove Notification usage and express state inside the rendered component.";
|
|
178
|
+
readonly docsPath: "/docs/component-authoring/security#browser-notification";
|
|
179
|
+
}, {
|
|
180
|
+
readonly id: "browser.service_worker";
|
|
181
|
+
readonly label: "Service Worker registration";
|
|
182
|
+
readonly patterns: readonly ["navigator\\.serviceWorker\\b|\\bServiceWorker(?:Registration|Container)?\\b"];
|
|
183
|
+
readonly astMatchers: {
|
|
184
|
+
readonly memberPaths: readonly ["navigator.serviceWorker"];
|
|
185
|
+
};
|
|
186
|
+
readonly action: "reject";
|
|
187
|
+
readonly category: "browser_capability";
|
|
188
|
+
readonly severity: "high";
|
|
189
|
+
readonly reason: "Third-party components cannot register or control Service Worker lifecycle.";
|
|
190
|
+
readonly recommendation: "Remove Service Worker usage. Component code must stay inside the platform render boundary.";
|
|
191
|
+
readonly docsPath: "/docs/component-authoring/security#browser-service-worker";
|
|
192
|
+
}, {
|
|
193
|
+
readonly id: "browser.clipboard";
|
|
194
|
+
readonly label: "Clipboard access";
|
|
195
|
+
readonly patterns: readonly ["navigator\\.clipboard\\b|document\\.execCommand\\s*\\(\\s*['\"`](?:copy|cut|paste)['\"`]"];
|
|
196
|
+
readonly astMatchers: {
|
|
197
|
+
readonly memberPaths: readonly ["navigator.clipboard", "document.execCommand"];
|
|
198
|
+
};
|
|
199
|
+
readonly action: "reject";
|
|
200
|
+
readonly category: "browser_capability";
|
|
201
|
+
readonly severity: "high";
|
|
202
|
+
readonly reason: "Third-party components cannot read from or write to the user clipboard.";
|
|
203
|
+
readonly recommendation: "Remove clipboard calls and use explicit props or platform actions outside the component.";
|
|
204
|
+
readonly docsPath: "/docs/component-authoring/security#browser-clipboard";
|
|
205
|
+
}, {
|
|
206
|
+
readonly id: "browser.navigator_locks";
|
|
207
|
+
readonly label: "Navigator locks API";
|
|
208
|
+
readonly patterns: readonly ["navigator\\.locks\\b"];
|
|
209
|
+
readonly astMatchers: {
|
|
210
|
+
readonly memberPaths: readonly ["navigator.locks"];
|
|
211
|
+
};
|
|
212
|
+
readonly action: "reject";
|
|
213
|
+
readonly category: "browser_capability";
|
|
214
|
+
readonly severity: "high";
|
|
215
|
+
readonly reason: "Third-party components cannot acquire browser-level execution locks.";
|
|
216
|
+
readonly recommendation: "Remove navigator.locks usage and keep component logic frame-driven and deterministic.";
|
|
217
|
+
readonly docsPath: "/docs/component-authoring/security#browser-navigator-locks";
|
|
218
|
+
}, {
|
|
219
|
+
readonly id: "browser.audio_context";
|
|
220
|
+
readonly label: "AudioContext / AudioWorklet access";
|
|
221
|
+
readonly patterns: readonly ["\\bnew\\s+(?:AudioContext|webkitAudioContext)\\b|\\b(?:AudioContext|webkitAudioContext)\\s*\\(|\\bAudioWorklet\\b|\\.audioWorklet\\b"];
|
|
222
|
+
readonly astMatchers: {
|
|
223
|
+
readonly globals: readonly ["AudioContext", "webkitAudioContext", "AudioWorklet"];
|
|
224
|
+
readonly memberPaths: readonly ["window.AudioContext", "window.webkitAudioContext", "globalThis.AudioContext", "globalThis.webkitAudioContext"];
|
|
225
|
+
};
|
|
226
|
+
readonly action: "reject";
|
|
227
|
+
readonly category: "browser_capability";
|
|
228
|
+
readonly severity: "high";
|
|
229
|
+
readonly reason: "Third-party components cannot create browser audio processing contexts or AudioWorklet code.";
|
|
230
|
+
readonly recommendation: "Use platform-provided audio assets and frame-driven visualizers instead.";
|
|
231
|
+
readonly docsPath: "/docs/component-authoring/security#browser-audio-context";
|
|
232
|
+
}, {
|
|
233
|
+
readonly id: "browser.css_register_property";
|
|
234
|
+
readonly label: "CSS.registerProperty / CSS Houdini access";
|
|
235
|
+
readonly patterns: readonly ["CSS\\.registerProperty\\s*\\("];
|
|
236
|
+
readonly astMatchers: {
|
|
237
|
+
readonly memberPaths: readonly ["CSS.registerProperty"];
|
|
238
|
+
};
|
|
239
|
+
readonly action: "reject";
|
|
240
|
+
readonly category: "browser_capability";
|
|
241
|
+
readonly severity: "high";
|
|
242
|
+
readonly reason: "Third-party components cannot register global CSS Houdini properties.";
|
|
243
|
+
readonly recommendation: "Use component-local style props and ordinary frame-driven React styles.";
|
|
244
|
+
readonly docsPath: "/docs/component-authoring/security#browser-css-register-property";
|
|
245
|
+
}, {
|
|
246
|
+
readonly id: "browser.observer_abuse";
|
|
247
|
+
readonly label: "DOM Observer capability";
|
|
248
|
+
readonly patterns: readonly ["\\bnew\\s+(?:MutationObserver|ResizeObserver|IntersectionObserver)\\b|\\b(?:MutationObserver|ResizeObserver|IntersectionObserver)\\s*\\("];
|
|
249
|
+
readonly astMatchers: {
|
|
250
|
+
readonly globals: readonly ["MutationObserver", "ResizeObserver", "IntersectionObserver"];
|
|
251
|
+
};
|
|
252
|
+
readonly action: "reject";
|
|
253
|
+
readonly category: "browser_capability";
|
|
254
|
+
readonly severity: "high";
|
|
255
|
+
readonly reason: "Third-party components cannot observe host DOM or runtime boundaries.";
|
|
256
|
+
readonly recommendation: "Use explicit props, layout inputs, and deterministic frame data instead of Observer APIs.";
|
|
257
|
+
readonly docsPath: "/docs/component-authoring/security#browser-observer-abuse";
|
|
258
|
+
}, {
|
|
259
|
+
readonly id: "remotion.delay_render";
|
|
260
|
+
readonly label: "Remotion delayRender lifecycle control";
|
|
261
|
+
readonly patterns: readonly ["\\bdelayRender\\s*\\("];
|
|
262
|
+
readonly astMatchers: {
|
|
263
|
+
readonly globals: readonly ["delayRender"];
|
|
264
|
+
};
|
|
265
|
+
readonly action: "reject";
|
|
266
|
+
readonly category: "remotion_lifecycle";
|
|
267
|
+
readonly severity: "high";
|
|
268
|
+
readonly reason: "Third-party components cannot delay platform preview or render lifecycle from component code.";
|
|
269
|
+
readonly recommendation: "Resolve assets before rendering and pass ready data through component props.";
|
|
270
|
+
readonly docsPath: "/docs/component-authoring/security#remotion-delay-render";
|
|
110
271
|
}];
|
|
111
272
|
readonly mediatedApis: readonly [{
|
|
112
273
|
readonly id: "network.raw_fetch";
|
|
113
274
|
readonly label: "Raw network access";
|
|
114
275
|
readonly rawApis: readonly ["fetch", "XMLHttpRequest", "WebSocket", "EventSource", "navigator.sendBeacon"];
|
|
276
|
+
readonly astMatchers: {
|
|
277
|
+
readonly globals: readonly ["fetch", "XMLHttpRequest", "WebSocket", "EventSource"];
|
|
278
|
+
readonly memberPaths: readonly ["navigator.sendBeacon", "window.fetch", "globalThis.fetch"];
|
|
279
|
+
};
|
|
115
280
|
readonly defaultAction: "manual_review";
|
|
116
281
|
readonly category: "network_exfiltration";
|
|
117
282
|
readonly severity: "high";
|
|
@@ -192,6 +357,7 @@ export declare const PROMPTFRAME_PUBLIC_SECURITY_POLICY: {
|
|
|
192
357
|
readonly recommendation: "Do not hardcode remote URLs in component source.";
|
|
193
358
|
}];
|
|
194
359
|
};
|
|
360
|
+
export declare const PROMPTFRAME_PUBLIC_SECURITY_POLICY_DIGEST: `component-security-policy-digest.v0.1:${string}`;
|
|
195
361
|
export declare const PROMPTFRAME_PUBLIC_DEPENDENCY_POLICY: {
|
|
196
362
|
readonly policyVersion: "component-dependency-policy.v0.1.0";
|
|
197
363
|
readonly lanes: readonly ["platform_core", "reviewed_visual", "requested_dependency", "native_or_scripted", "unknown_unlocked"];
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
+
import { createPromptFramePublicSecurityPolicyDigest } from './security-policy-fingerprint.js';
|
|
3
|
+
export { COMPONENT_SECURITY_POLICY_DIGEST_VERSION, canonicalizePromptFramePolicy, createPromptFramePublicSecurityPolicyDigest, } from './security-policy-fingerprint.js';
|
|
2
4
|
export const PROMPTFRAME_CONTRACTS_VERSION = 'promptframe-contracts.v0.1.0';
|
|
3
5
|
export const COMPONENT_MANIFEST_SCHEMA_VERSION = 'component-manifest.v0.1.0';
|
|
4
6
|
export const COMPONENT_STANDARD_VERSION = 'component-standard.v0.1.0';
|
|
@@ -96,6 +98,9 @@ export const PROMPTFRAME_PUBLIC_SECURITY_POLICY = {
|
|
|
96
98
|
id: 'code.eval',
|
|
97
99
|
label: 'Dynamic code execution',
|
|
98
100
|
patterns: ['\\beval\\s*\\('],
|
|
101
|
+
astMatchers: {
|
|
102
|
+
globals: ['eval'],
|
|
103
|
+
},
|
|
99
104
|
action: 'reject',
|
|
100
105
|
category: 'dynamic_code_execution',
|
|
101
106
|
severity: 'high',
|
|
@@ -106,6 +111,9 @@ export const PROMPTFRAME_PUBLIC_SECURITY_POLICY = {
|
|
|
106
111
|
id: 'code.new_function',
|
|
107
112
|
label: 'new Function dynamic execution',
|
|
108
113
|
patterns: ['\\bnew\\s+Function\\s*\\('],
|
|
114
|
+
astMatchers: {
|
|
115
|
+
globals: ['Function'],
|
|
116
|
+
},
|
|
109
117
|
action: 'reject',
|
|
110
118
|
category: 'dynamic_code_execution',
|
|
111
119
|
severity: 'high',
|
|
@@ -116,28 +124,197 @@ export const PROMPTFRAME_PUBLIC_SECURITY_POLICY = {
|
|
|
116
124
|
id: 'code.string_timer',
|
|
117
125
|
label: 'String timer execution',
|
|
118
126
|
patterns: ['\\bset(?:Timeout|Interval)\\s*\\(\\s*[\'"`]'],
|
|
127
|
+
astMatchers: {
|
|
128
|
+
stringTimer: true,
|
|
129
|
+
},
|
|
119
130
|
action: 'reject',
|
|
120
131
|
category: 'dynamic_code_execution',
|
|
121
132
|
severity: 'high',
|
|
122
133
|
reason: 'String timers are equivalent to dynamic code execution.',
|
|
123
134
|
recommendation: 'Do not pass strings to setTimeout or setInterval.',
|
|
124
135
|
},
|
|
136
|
+
{
|
|
137
|
+
id: 'code.dynamic_import',
|
|
138
|
+
label: 'Dynamic import loading',
|
|
139
|
+
patterns: ['\\bimport\\s*\\('],
|
|
140
|
+
astMatchers: {
|
|
141
|
+
dynamicImport: true,
|
|
142
|
+
},
|
|
143
|
+
action: 'reject',
|
|
144
|
+
category: 'dynamic_code_execution',
|
|
145
|
+
severity: 'high',
|
|
146
|
+
reason: 'Third-party components cannot dynamically load code at preview or render time.',
|
|
147
|
+
recommendation: 'Use static imports that are visible to the authoring build and security checks.',
|
|
148
|
+
docsPath: '/docs/component-authoring/security#code-dynamic-import',
|
|
149
|
+
},
|
|
125
150
|
{
|
|
126
151
|
id: 'host.fs_process_env',
|
|
127
152
|
label: 'Host filesystem, process, or env access',
|
|
128
153
|
patterns: ['\\b(node:fs|fs\\/promises|child_process|process\\.env|Bun\\.|Deno\\.)\\b'],
|
|
154
|
+
astMatchers: {
|
|
155
|
+
globals: ['Bun', 'Deno'],
|
|
156
|
+
memberPaths: ['process.env', 'Bun', 'Deno'],
|
|
157
|
+
},
|
|
129
158
|
action: 'reject',
|
|
130
159
|
category: 'filesystem_process_env_access',
|
|
131
160
|
severity: 'critical',
|
|
132
161
|
reason: 'Components must not read host files, spawn processes, or access environment variables.',
|
|
133
162
|
recommendation: 'Use only platform-provided props and trusted artifacts.',
|
|
134
163
|
},
|
|
164
|
+
{
|
|
165
|
+
id: 'browser.broadcast_channel',
|
|
166
|
+
label: 'BroadcastChannel cross-context messaging',
|
|
167
|
+
patterns: ['\\bnew\\s+BroadcastChannel\\b|\\bBroadcastChannel\\s*\\('],
|
|
168
|
+
astMatchers: {
|
|
169
|
+
globals: ['BroadcastChannel'],
|
|
170
|
+
memberPaths: ['window.BroadcastChannel', 'globalThis.BroadcastChannel'],
|
|
171
|
+
},
|
|
172
|
+
action: 'reject',
|
|
173
|
+
category: 'browser_capability',
|
|
174
|
+
severity: 'high',
|
|
175
|
+
reason: 'Third-party components cannot open cross-tab or cross-context messaging channels.',
|
|
176
|
+
recommendation: 'Remove BroadcastChannel. Use explicit component props or platform-provided data instead.',
|
|
177
|
+
docsPath: '/docs/component-authoring/security#browser-broadcast-channel',
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
id: 'browser.webrtc',
|
|
181
|
+
label: 'WebRTC / RTCPeerConnection access',
|
|
182
|
+
patterns: ['\\bnew\\s+RTCPeerConnection\\b|\\bRTCPeerConnection\\s*\\(|navigator\\.mediaDevices\\.getUserMedia\\s*\\('],
|
|
183
|
+
astMatchers: {
|
|
184
|
+
globals: ['RTCPeerConnection'],
|
|
185
|
+
memberPaths: ['navigator.mediaDevices.getUserMedia'],
|
|
186
|
+
},
|
|
187
|
+
action: 'reject',
|
|
188
|
+
category: 'browser_capability',
|
|
189
|
+
severity: 'high',
|
|
190
|
+
reason: 'Third-party components cannot open peer connections or capture local media devices.',
|
|
191
|
+
recommendation: 'Remove WebRTC and media device access. Use platform-provided assets or props.',
|
|
192
|
+
docsPath: '/docs/component-authoring/security#browser-webrtc',
|
|
193
|
+
},
|
|
194
|
+
{
|
|
195
|
+
id: 'browser.notification',
|
|
196
|
+
label: 'Notification permission or display',
|
|
197
|
+
patterns: ['\\bnew\\s+Notification\\b|\\bNotification\\s*\\(|Notification\\.requestPermission\\s*\\('],
|
|
198
|
+
astMatchers: {
|
|
199
|
+
globals: ['Notification'],
|
|
200
|
+
memberPaths: ['Notification.requestPermission', 'window.Notification', 'globalThis.Notification'],
|
|
201
|
+
},
|
|
202
|
+
action: 'reject',
|
|
203
|
+
category: 'browser_capability',
|
|
204
|
+
severity: 'high',
|
|
205
|
+
reason: 'Third-party components cannot request browser notification permissions or show notifications.',
|
|
206
|
+
recommendation: 'Remove Notification usage and express state inside the rendered component.',
|
|
207
|
+
docsPath: '/docs/component-authoring/security#browser-notification',
|
|
208
|
+
},
|
|
209
|
+
{
|
|
210
|
+
id: 'browser.service_worker',
|
|
211
|
+
label: 'Service Worker registration',
|
|
212
|
+
patterns: ['navigator\\.serviceWorker\\b|\\bServiceWorker(?:Registration|Container)?\\b'],
|
|
213
|
+
astMatchers: {
|
|
214
|
+
memberPaths: ['navigator.serviceWorker'],
|
|
215
|
+
},
|
|
216
|
+
action: 'reject',
|
|
217
|
+
category: 'browser_capability',
|
|
218
|
+
severity: 'high',
|
|
219
|
+
reason: 'Third-party components cannot register or control Service Worker lifecycle.',
|
|
220
|
+
recommendation: 'Remove Service Worker usage. Component code must stay inside the platform render boundary.',
|
|
221
|
+
docsPath: '/docs/component-authoring/security#browser-service-worker',
|
|
222
|
+
},
|
|
223
|
+
{
|
|
224
|
+
id: 'browser.clipboard',
|
|
225
|
+
label: 'Clipboard access',
|
|
226
|
+
patterns: ['navigator\\.clipboard\\b|document\\.execCommand\\s*\\(\\s*[\'"`](?:copy|cut|paste)[\'"`]'],
|
|
227
|
+
astMatchers: {
|
|
228
|
+
memberPaths: ['navigator.clipboard', 'document.execCommand'],
|
|
229
|
+
},
|
|
230
|
+
action: 'reject',
|
|
231
|
+
category: 'browser_capability',
|
|
232
|
+
severity: 'high',
|
|
233
|
+
reason: 'Third-party components cannot read from or write to the user clipboard.',
|
|
234
|
+
recommendation: 'Remove clipboard calls and use explicit props or platform actions outside the component.',
|
|
235
|
+
docsPath: '/docs/component-authoring/security#browser-clipboard',
|
|
236
|
+
},
|
|
237
|
+
{
|
|
238
|
+
id: 'browser.navigator_locks',
|
|
239
|
+
label: 'Navigator locks API',
|
|
240
|
+
patterns: ['navigator\\.locks\\b'],
|
|
241
|
+
astMatchers: {
|
|
242
|
+
memberPaths: ['navigator.locks'],
|
|
243
|
+
},
|
|
244
|
+
action: 'reject',
|
|
245
|
+
category: 'browser_capability',
|
|
246
|
+
severity: 'high',
|
|
247
|
+
reason: 'Third-party components cannot acquire browser-level execution locks.',
|
|
248
|
+
recommendation: 'Remove navigator.locks usage and keep component logic frame-driven and deterministic.',
|
|
249
|
+
docsPath: '/docs/component-authoring/security#browser-navigator-locks',
|
|
250
|
+
},
|
|
251
|
+
{
|
|
252
|
+
id: 'browser.audio_context',
|
|
253
|
+
label: 'AudioContext / AudioWorklet access',
|
|
254
|
+
patterns: ['\\bnew\\s+(?:AudioContext|webkitAudioContext)\\b|\\b(?:AudioContext|webkitAudioContext)\\s*\\(|\\bAudioWorklet\\b|\\.audioWorklet\\b'],
|
|
255
|
+
astMatchers: {
|
|
256
|
+
globals: ['AudioContext', 'webkitAudioContext', 'AudioWorklet'],
|
|
257
|
+
memberPaths: ['window.AudioContext', 'window.webkitAudioContext', 'globalThis.AudioContext', 'globalThis.webkitAudioContext'],
|
|
258
|
+
},
|
|
259
|
+
action: 'reject',
|
|
260
|
+
category: 'browser_capability',
|
|
261
|
+
severity: 'high',
|
|
262
|
+
reason: 'Third-party components cannot create browser audio processing contexts or AudioWorklet code.',
|
|
263
|
+
recommendation: 'Use platform-provided audio assets and frame-driven visualizers instead.',
|
|
264
|
+
docsPath: '/docs/component-authoring/security#browser-audio-context',
|
|
265
|
+
},
|
|
266
|
+
{
|
|
267
|
+
id: 'browser.css_register_property',
|
|
268
|
+
label: 'CSS.registerProperty / CSS Houdini access',
|
|
269
|
+
patterns: ['CSS\\.registerProperty\\s*\\('],
|
|
270
|
+
astMatchers: {
|
|
271
|
+
memberPaths: ['CSS.registerProperty'],
|
|
272
|
+
},
|
|
273
|
+
action: 'reject',
|
|
274
|
+
category: 'browser_capability',
|
|
275
|
+
severity: 'high',
|
|
276
|
+
reason: 'Third-party components cannot register global CSS Houdini properties.',
|
|
277
|
+
recommendation: 'Use component-local style props and ordinary frame-driven React styles.',
|
|
278
|
+
docsPath: '/docs/component-authoring/security#browser-css-register-property',
|
|
279
|
+
},
|
|
280
|
+
{
|
|
281
|
+
id: 'browser.observer_abuse',
|
|
282
|
+
label: 'DOM Observer capability',
|
|
283
|
+
patterns: ['\\bnew\\s+(?:MutationObserver|ResizeObserver|IntersectionObserver)\\b|\\b(?:MutationObserver|ResizeObserver|IntersectionObserver)\\s*\\('],
|
|
284
|
+
astMatchers: {
|
|
285
|
+
globals: ['MutationObserver', 'ResizeObserver', 'IntersectionObserver'],
|
|
286
|
+
},
|
|
287
|
+
action: 'reject',
|
|
288
|
+
category: 'browser_capability',
|
|
289
|
+
severity: 'high',
|
|
290
|
+
reason: 'Third-party components cannot observe host DOM or runtime boundaries.',
|
|
291
|
+
recommendation: 'Use explicit props, layout inputs, and deterministic frame data instead of Observer APIs.',
|
|
292
|
+
docsPath: '/docs/component-authoring/security#browser-observer-abuse',
|
|
293
|
+
},
|
|
294
|
+
{
|
|
295
|
+
id: 'remotion.delay_render',
|
|
296
|
+
label: 'Remotion delayRender lifecycle control',
|
|
297
|
+
patterns: ['\\bdelayRender\\s*\\('],
|
|
298
|
+
astMatchers: {
|
|
299
|
+
globals: ['delayRender'],
|
|
300
|
+
},
|
|
301
|
+
action: 'reject',
|
|
302
|
+
category: 'remotion_lifecycle',
|
|
303
|
+
severity: 'high',
|
|
304
|
+
reason: 'Third-party components cannot delay platform preview or render lifecycle from component code.',
|
|
305
|
+
recommendation: 'Resolve assets before rendering and pass ready data through component props.',
|
|
306
|
+
docsPath: '/docs/component-authoring/security#remotion-delay-render',
|
|
307
|
+
},
|
|
135
308
|
],
|
|
136
309
|
mediatedApis: [
|
|
137
310
|
{
|
|
138
311
|
id: 'network.raw_fetch',
|
|
139
312
|
label: 'Raw network access',
|
|
140
313
|
rawApis: ['fetch', 'XMLHttpRequest', 'WebSocket', 'EventSource', 'navigator.sendBeacon'],
|
|
314
|
+
astMatchers: {
|
|
315
|
+
globals: ['fetch', 'XMLHttpRequest', 'WebSocket', 'EventSource'],
|
|
316
|
+
memberPaths: ['navigator.sendBeacon', 'window.fetch', 'globalThis.fetch'],
|
|
317
|
+
},
|
|
141
318
|
defaultAction: 'manual_review',
|
|
142
319
|
category: 'network_exfiltration',
|
|
143
320
|
severity: 'high',
|
|
@@ -228,6 +405,7 @@ export const PROMPTFRAME_PUBLIC_SECURITY_POLICY = {
|
|
|
228
405
|
},
|
|
229
406
|
],
|
|
230
407
|
};
|
|
408
|
+
export const PROMPTFRAME_PUBLIC_SECURITY_POLICY_DIGEST = createPromptFramePublicSecurityPolicyDigest(PROMPTFRAME_PUBLIC_SECURITY_POLICY);
|
|
231
409
|
export const PROMPTFRAME_PUBLIC_DEPENDENCY_POLICY = {
|
|
232
410
|
policyVersion: COMPONENT_DEPENDENCY_POLICY_VERSION,
|
|
233
411
|
lanes: [
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { COMPONENT_SECURITY_POLICY_VERSION, PROMPTFRAME_PUBLIC_SECURITY_POLICY, PROMPTFRAME_PUBLIC_SECURITY_POLICY_DIGEST } from './index.js';
|
|
2
|
+
export { PROMPTFRAME_PUBLIC_SECURITY_POLICY_DIGEST } from './index.js';
|
|
3
|
+
export type PromptFrameSecurityPolicyAction = 'reject' | 'manual_review' | 'warn';
|
|
4
|
+
export type PromptFrameSecurityPolicyDetectionKind = 'ast' | 'pattern';
|
|
5
|
+
export type PromptFrameSecurityPolicyConfidence = 'high' | 'medium' | 'low';
|
|
6
|
+
export interface PromptFrameSecurityPolicyFinding {
|
|
7
|
+
ruleId: string;
|
|
8
|
+
policyVersion: string;
|
|
9
|
+
policyDigest: string;
|
|
10
|
+
category: string;
|
|
11
|
+
severity: string;
|
|
12
|
+
action: PromptFrameSecurityPolicyAction;
|
|
13
|
+
message: string;
|
|
14
|
+
file: string;
|
|
15
|
+
line?: number;
|
|
16
|
+
column?: number;
|
|
17
|
+
evidence?: string;
|
|
18
|
+
recommendation?: string;
|
|
19
|
+
detectionKind: PromptFrameSecurityPolicyDetectionKind;
|
|
20
|
+
confidence: PromptFrameSecurityPolicyConfidence;
|
|
21
|
+
trace?: string[];
|
|
22
|
+
}
|
|
23
|
+
export interface EvaluatePromptFrameSecurityPolicySourceInput {
|
|
24
|
+
file: string;
|
|
25
|
+
source: string;
|
|
26
|
+
policy?: typeof PROMPTFRAME_PUBLIC_SECURITY_POLICY;
|
|
27
|
+
mode?: 'ast' | 'pattern_fallback';
|
|
28
|
+
}
|
|
29
|
+
export interface PromptFrameSecurityPolicyEvaluationReceipt {
|
|
30
|
+
policyVersion: typeof COMPONENT_SECURITY_POLICY_VERSION;
|
|
31
|
+
policyDigest: typeof PROMPTFRAME_PUBLIC_SECURITY_POLICY_DIGEST;
|
|
32
|
+
evaluatorMode: 'ast' | 'pattern_fallback';
|
|
33
|
+
findings: PromptFrameSecurityPolicyFinding[];
|
|
34
|
+
}
|
|
35
|
+
export declare function evaluatePromptFrameSecurityPolicySource(input: EvaluatePromptFrameSecurityPolicySourceInput): PromptFrameSecurityPolicyEvaluationReceipt;
|
|
36
|
+
//# sourceMappingURL=security-policy-evaluator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"security-policy-evaluator.d.ts","sourceRoot":"","sources":["../src/security-policy-evaluator.ts"],"names":[],"mappings":"AACA,OAAO,EACL,iCAAiC,EACjC,kCAAkC,EAClC,yCAAyC,EAC1C,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,yCAAyC,EAAE,MAAM,YAAY,CAAC;AAEvE,MAAM,MAAM,+BAA+B,GAAG,QAAQ,GAAG,eAAe,GAAG,MAAM,CAAC;AAClF,MAAM,MAAM,sCAAsC,GAAG,KAAK,GAAG,SAAS,CAAC;AACvE,MAAM,MAAM,mCAAmC,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;AAE5E,MAAM,WAAW,gCAAgC;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,+BAA+B,CAAC;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,sCAAsC,CAAC;IACtD,UAAU,EAAE,mCAAmC,CAAC;IAChD,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,4CAA4C;IAC3D,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,kCAAkC,CAAC;IACnD,IAAI,CAAC,EAAE,KAAK,GAAG,kBAAkB,CAAC;CACnC;AAED,MAAM,WAAW,0CAA0C;IACzD,aAAa,EAAE,OAAO,iCAAiC,CAAC;IACxD,YAAY,EAAE,OAAO,yCAAyC,CAAC;IAC/D,aAAa,EAAE,KAAK,GAAG,kBAAkB,CAAC;IAC1C,QAAQ,EAAE,gCAAgC,EAAE,CAAC;CAC9C;AAuBD,wBAAgB,uCAAuC,CACrD,KAAK,EAAE,4CAA4C,GAClD,0CAA0C,CAa5C"}
|
|
@@ -0,0 +1,253 @@
|
|
|
1
|
+
import ts from 'typescript';
|
|
2
|
+
import { COMPONENT_SECURITY_POLICY_VERSION, PROMPTFRAME_PUBLIC_SECURITY_POLICY, PROMPTFRAME_PUBLIC_SECURITY_POLICY_DIGEST, } from './index.js';
|
|
3
|
+
export { PROMPTFRAME_PUBLIC_SECURITY_POLICY_DIGEST } from './index.js';
|
|
4
|
+
export function evaluatePromptFrameSecurityPolicySource(input) {
|
|
5
|
+
const policy = input.policy ?? PROMPTFRAME_PUBLIC_SECURITY_POLICY;
|
|
6
|
+
const evaluatorMode = input.mode ?? (isAstScannableSourceFile(input.file) ? 'ast' : 'pattern_fallback');
|
|
7
|
+
const findings = evaluatorMode === 'ast'
|
|
8
|
+
? evaluateAstSource(input.file, input.source, collectPublicSecurityRules(policy))
|
|
9
|
+
: evaluatePatternSource(input.file, input.source, collectPublicSecurityRules(policy));
|
|
10
|
+
return {
|
|
11
|
+
policyVersion: COMPONENT_SECURITY_POLICY_VERSION,
|
|
12
|
+
policyDigest: PROMPTFRAME_PUBLIC_SECURITY_POLICY_DIGEST,
|
|
13
|
+
evaluatorMode,
|
|
14
|
+
findings: dedupeFindings(findings),
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
function evaluateAstSource(file, source, rules) {
|
|
18
|
+
const sourceFile = ts.createSourceFile(file, source, ts.ScriptTarget.Latest, true, scriptKindForFile(file));
|
|
19
|
+
const localDeclarations = new Set();
|
|
20
|
+
const aliases = new Map();
|
|
21
|
+
const findings = [];
|
|
22
|
+
collectLocalDeclarations(sourceFile, localDeclarations);
|
|
23
|
+
collectAliases(sourceFile, localDeclarations, aliases);
|
|
24
|
+
const visit = (node) => {
|
|
25
|
+
for (const rule of rules) {
|
|
26
|
+
const match = matchAstRule(rule, node, sourceFile, localDeclarations, aliases);
|
|
27
|
+
if (!match)
|
|
28
|
+
continue;
|
|
29
|
+
findings.push(buildFinding({
|
|
30
|
+
file,
|
|
31
|
+
sourceFile,
|
|
32
|
+
node: match.node,
|
|
33
|
+
rule,
|
|
34
|
+
evidence: match.node.getText(sourceFile).slice(0, 160),
|
|
35
|
+
detectionKind: 'ast',
|
|
36
|
+
confidence: match.confidence,
|
|
37
|
+
trace: match.trace,
|
|
38
|
+
}));
|
|
39
|
+
}
|
|
40
|
+
ts.forEachChild(node, visit);
|
|
41
|
+
};
|
|
42
|
+
visit(sourceFile);
|
|
43
|
+
return findings;
|
|
44
|
+
}
|
|
45
|
+
function evaluatePatternSource(file, source, rules) {
|
|
46
|
+
const findings = [];
|
|
47
|
+
const sourceFile = ts.createSourceFile(file, source, ts.ScriptTarget.Latest, true, ts.ScriptKind.Unknown);
|
|
48
|
+
for (const rule of rules) {
|
|
49
|
+
const patterns = rule.patterns ?? rule.rawApis?.map(apiToPattern) ?? [];
|
|
50
|
+
for (const patternSource of patterns) {
|
|
51
|
+
const pattern = new RegExp(patternSource, 'i');
|
|
52
|
+
const match = source.match(pattern);
|
|
53
|
+
if (!match || match.index === undefined)
|
|
54
|
+
continue;
|
|
55
|
+
findings.push(buildFinding({
|
|
56
|
+
file,
|
|
57
|
+
sourceFile,
|
|
58
|
+
position: match.index,
|
|
59
|
+
rule,
|
|
60
|
+
evidence: match[0].slice(0, 160),
|
|
61
|
+
detectionKind: 'pattern',
|
|
62
|
+
confidence: 'medium',
|
|
63
|
+
trace: [`pattern:${patternSource}`],
|
|
64
|
+
}));
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
return findings;
|
|
68
|
+
}
|
|
69
|
+
function matchAstRule(rule, node, sourceFile, localDeclarations, aliases) {
|
|
70
|
+
const matcher = rule.astMatchers;
|
|
71
|
+
if (!matcher)
|
|
72
|
+
return undefined;
|
|
73
|
+
if (matcher.dynamicImport && ts.isCallExpression(node) && node.expression.kind === ts.SyntaxKind.ImportKeyword) {
|
|
74
|
+
return { node, confidence: 'high', trace: ['dynamicImport'] };
|
|
75
|
+
}
|
|
76
|
+
if (matcher.stringTimer && ts.isCallExpression(node)) {
|
|
77
|
+
const name = expressionName(node.expression, sourceFile);
|
|
78
|
+
if ((name === 'setTimeout' || name === 'setInterval') && isStringLikeExpression(node.arguments[0])) {
|
|
79
|
+
return { node, confidence: 'high', trace: [`stringTimer:${name}`] };
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
const globals = new Set(matcher.globals ?? []);
|
|
83
|
+
if (globals.size > 0 && (ts.isCallExpression(node) || ts.isNewExpression(node))) {
|
|
84
|
+
const name = expressionName(node.expression, sourceFile);
|
|
85
|
+
const resolved = name ? aliases.get(name) ?? name : undefined;
|
|
86
|
+
if (resolved && globals.has(resolved) && !localDeclarations.has(resolved)) {
|
|
87
|
+
return { node, confidence: 'high', trace: [`global:${resolved}`] };
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
const memberPaths = matcher.memberPaths ?? [];
|
|
91
|
+
if (memberPaths.length > 0 && (ts.isCallExpression(node) || ts.isNewExpression(node) || ts.isPropertyAccessExpression(node) || ts.isElementAccessExpression(node))) {
|
|
92
|
+
const expression = ts.isCallExpression(node) || ts.isNewExpression(node) ? node.expression : node;
|
|
93
|
+
const path = memberPath(expression, sourceFile);
|
|
94
|
+
const matchedPath = memberPaths.find((candidate) => path === candidate || path.startsWith(`${candidate}.`));
|
|
95
|
+
if (matchedPath)
|
|
96
|
+
return { node, confidence: 'high', trace: [`member:${matchedPath}`] };
|
|
97
|
+
}
|
|
98
|
+
return undefined;
|
|
99
|
+
}
|
|
100
|
+
function collectLocalDeclarations(sourceFile, localDeclarations) {
|
|
101
|
+
const visit = (node) => {
|
|
102
|
+
if ((ts.isVariableDeclaration(node) || ts.isFunctionDeclaration(node) || ts.isClassDeclaration(node) || ts.isParameter(node))
|
|
103
|
+
&& node.name) {
|
|
104
|
+
collectBindingNames(node.name, localDeclarations);
|
|
105
|
+
}
|
|
106
|
+
ts.forEachChild(node, visit);
|
|
107
|
+
};
|
|
108
|
+
visit(sourceFile);
|
|
109
|
+
}
|
|
110
|
+
function collectAliases(sourceFile, localDeclarations, aliases) {
|
|
111
|
+
const visit = (node) => {
|
|
112
|
+
if (ts.isVariableDeclaration(node) && ts.isIdentifier(node.name) && node.initializer) {
|
|
113
|
+
const initializerName = expressionName(node.initializer, sourceFile);
|
|
114
|
+
if (initializerName && !localDeclarations.has(initializerName))
|
|
115
|
+
aliases.set(node.name.text, initializerName);
|
|
116
|
+
const initializerPath = memberPath(node.initializer, sourceFile);
|
|
117
|
+
if ((initializerPath === 'globalThis' || initializerPath === 'window') && ts.isObjectBindingPattern(node.name)) {
|
|
118
|
+
collectDestructureAliases(node.name, aliases);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
if (ts.isVariableDeclaration(node) && ts.isObjectBindingPattern(node.name) && node.initializer) {
|
|
122
|
+
const initializerPath = memberPath(node.initializer, sourceFile);
|
|
123
|
+
if (initializerPath === 'globalThis' || initializerPath === 'window') {
|
|
124
|
+
collectDestructureAliases(node.name, aliases);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
ts.forEachChild(node, visit);
|
|
128
|
+
};
|
|
129
|
+
visit(sourceFile);
|
|
130
|
+
}
|
|
131
|
+
function collectDestructureAliases(binding, aliases) {
|
|
132
|
+
for (const element of binding.elements) {
|
|
133
|
+
const propertyName = element.propertyName && ts.isIdentifier(element.propertyName)
|
|
134
|
+
? element.propertyName.text
|
|
135
|
+
: ts.isIdentifier(element.name)
|
|
136
|
+
? element.name.text
|
|
137
|
+
: undefined;
|
|
138
|
+
if (!propertyName || !ts.isIdentifier(element.name))
|
|
139
|
+
continue;
|
|
140
|
+
aliases.set(element.name.text, propertyName);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
function collectBindingNames(name, output) {
|
|
144
|
+
if (ts.isIdentifier(name)) {
|
|
145
|
+
output.add(name.text);
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
148
|
+
for (const element of name.elements) {
|
|
149
|
+
if (ts.isBindingElement(element))
|
|
150
|
+
collectBindingNames(element.name, output);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
function expressionName(expression, sourceFile) {
|
|
154
|
+
if (ts.isIdentifier(expression))
|
|
155
|
+
return expression.text;
|
|
156
|
+
const path = memberPath(expression, sourceFile);
|
|
157
|
+
return path.includes('.') ? undefined : path || undefined;
|
|
158
|
+
}
|
|
159
|
+
function memberPath(node, sourceFile) {
|
|
160
|
+
if (ts.isIdentifier(node))
|
|
161
|
+
return node.text;
|
|
162
|
+
if (node.kind === ts.SyntaxKind.ThisKeyword)
|
|
163
|
+
return 'this';
|
|
164
|
+
if (ts.isPropertyAccessExpression(node)) {
|
|
165
|
+
const parent = memberPath(node.expression, sourceFile);
|
|
166
|
+
return parent ? `${parent}.${node.name.text}` : node.name.text;
|
|
167
|
+
}
|
|
168
|
+
if (ts.isElementAccessExpression(node)) {
|
|
169
|
+
const parent = memberPath(node.expression, sourceFile);
|
|
170
|
+
const key = stringLiteralValue(node.argumentExpression);
|
|
171
|
+
return parent && key ? `${parent}.${key}` : '';
|
|
172
|
+
}
|
|
173
|
+
return '';
|
|
174
|
+
}
|
|
175
|
+
function stringLiteralValue(node) {
|
|
176
|
+
if (!node)
|
|
177
|
+
return undefined;
|
|
178
|
+
if (ts.isStringLiteral(node) || ts.isNoSubstitutionTemplateLiteral(node))
|
|
179
|
+
return node.text;
|
|
180
|
+
return undefined;
|
|
181
|
+
}
|
|
182
|
+
function isStringLikeExpression(node) {
|
|
183
|
+
return Boolean(node && (ts.isStringLiteral(node) || ts.isNoSubstitutionTemplateLiteral(node)));
|
|
184
|
+
}
|
|
185
|
+
function buildFinding(input) {
|
|
186
|
+
const position = input.position ?? input.node?.getStart(input.sourceFile) ?? 0;
|
|
187
|
+
const location = input.sourceFile.getLineAndCharacterOfPosition(position);
|
|
188
|
+
return {
|
|
189
|
+
ruleId: input.rule.id,
|
|
190
|
+
policyVersion: COMPONENT_SECURITY_POLICY_VERSION,
|
|
191
|
+
policyDigest: PROMPTFRAME_PUBLIC_SECURITY_POLICY_DIGEST,
|
|
192
|
+
category: input.rule.category ?? 'dynamic_code_execution',
|
|
193
|
+
severity: input.rule.severity ?? 'high',
|
|
194
|
+
action: input.rule.action ?? input.rule.defaultAction ?? 'manual_review',
|
|
195
|
+
message: `${input.rule.label}: ${input.rule.reason}`,
|
|
196
|
+
file: input.file,
|
|
197
|
+
line: location.line + 1,
|
|
198
|
+
column: location.character + 1,
|
|
199
|
+
evidence: input.evidence,
|
|
200
|
+
recommendation: input.rule.recommendation,
|
|
201
|
+
detectionKind: input.detectionKind,
|
|
202
|
+
confidence: input.confidence,
|
|
203
|
+
trace: input.trace,
|
|
204
|
+
};
|
|
205
|
+
}
|
|
206
|
+
function collectPublicSecurityRules(policy) {
|
|
207
|
+
return [
|
|
208
|
+
...policy.forbiddenApis,
|
|
209
|
+
...policy.mediatedApis,
|
|
210
|
+
...policy.warningApis,
|
|
211
|
+
];
|
|
212
|
+
}
|
|
213
|
+
function dedupeFindings(findings) {
|
|
214
|
+
const seen = new Set();
|
|
215
|
+
return findings.filter((finding) => {
|
|
216
|
+
const key = `${finding.ruleId}:${finding.file}:${finding.line ?? ''}:${finding.column ?? ''}:${finding.evidence ?? ''}`;
|
|
217
|
+
if (seen.has(key))
|
|
218
|
+
return false;
|
|
219
|
+
seen.add(key);
|
|
220
|
+
return true;
|
|
221
|
+
});
|
|
222
|
+
}
|
|
223
|
+
function isAstScannableSourceFile(file) {
|
|
224
|
+
return /\.(tsx?|jsx?|mjs|cjs)$/i.test(file);
|
|
225
|
+
}
|
|
226
|
+
function scriptKindForFile(file) {
|
|
227
|
+
if (/\.tsx$/i.test(file))
|
|
228
|
+
return ts.ScriptKind.TSX;
|
|
229
|
+
if (/\.ts$/i.test(file) || /\.mts$/i.test(file) || /\.cts$/i.test(file))
|
|
230
|
+
return ts.ScriptKind.TS;
|
|
231
|
+
if (/\.jsx$/i.test(file))
|
|
232
|
+
return ts.ScriptKind.JSX;
|
|
233
|
+
if (/\.js$/i.test(file) || /\.mjs$/i.test(file) || /\.cjs$/i.test(file))
|
|
234
|
+
return ts.ScriptKind.JS;
|
|
235
|
+
return ts.ScriptKind.Unknown;
|
|
236
|
+
}
|
|
237
|
+
function apiToPattern(api) {
|
|
238
|
+
const escaped = api.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
239
|
+
if (api === 'fetch')
|
|
240
|
+
return '\\bfetch\\s*\\(';
|
|
241
|
+
if (api === 'XMLHttpRequest')
|
|
242
|
+
return '\\bnew\\s+XMLHttpRequest\\b|\\bXMLHttpRequest\\s*\\(';
|
|
243
|
+
if (api === 'WebSocket')
|
|
244
|
+
return '\\bnew\\s+WebSocket\\b|\\bWebSocket\\s*\\(';
|
|
245
|
+
if (api === 'EventSource')
|
|
246
|
+
return '\\bnew\\s+EventSource\\b|\\bEventSource\\s*\\(';
|
|
247
|
+
if (api === 'navigator.sendBeacon')
|
|
248
|
+
return 'navigator\\.sendBeacon\\s*\\(';
|
|
249
|
+
return api.includes('.')
|
|
250
|
+
? `${escaped}\\s*\\(`
|
|
251
|
+
: `\\b${escaped}\\b`;
|
|
252
|
+
}
|
|
253
|
+
//# sourceMappingURL=security-policy-evaluator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"security-policy-evaluator.js","sourceRoot":"","sources":["../src/security-policy-evaluator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare const COMPONENT_SECURITY_POLICY_DIGEST_VERSION: "component-security-policy-digest.v0.1";
|
|
2
|
+
export declare function canonicalizePromptFramePolicy(value: unknown): string;
|
|
3
|
+
export declare function createPromptFramePublicSecurityPolicyDigest(policy: unknown): `${typeof COMPONENT_SECURITY_POLICY_DIGEST_VERSION}:${string}`;
|
|
4
|
+
//# sourceMappingURL=security-policy-fingerprint.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"security-policy-fingerprint.d.ts","sourceRoot":"","sources":["../src/security-policy-fingerprint.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wCAAwC,EAAG,uCAAgD,CAAC;AAEzG,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAgBpE;AAED,wBAAgB,2CAA2C,CACzD,MAAM,EAAE,OAAO,GACd,GAAG,OAAO,wCAAwC,IAAI,MAAM,EAAE,CAIhE"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export const COMPONENT_SECURITY_POLICY_DIGEST_VERSION = 'component-security-policy-digest.v0.1';
|
|
2
|
+
export function canonicalizePromptFramePolicy(value) {
|
|
3
|
+
if (value === null)
|
|
4
|
+
return 'null';
|
|
5
|
+
if (typeof value === 'string')
|
|
6
|
+
return JSON.stringify(value);
|
|
7
|
+
if (typeof value === 'number' || typeof value === 'boolean')
|
|
8
|
+
return JSON.stringify(value);
|
|
9
|
+
if (Array.isArray(value)) {
|
|
10
|
+
return `[${value.map((item) => canonicalizePromptFramePolicy(item)).join(',')}]`;
|
|
11
|
+
}
|
|
12
|
+
if (typeof value === 'object') {
|
|
13
|
+
const record = value;
|
|
14
|
+
const entries = Object.keys(record)
|
|
15
|
+
.filter((key) => record[key] !== undefined)
|
|
16
|
+
.sort()
|
|
17
|
+
.map((key) => `${JSON.stringify(key)}:${canonicalizePromptFramePolicy(record[key])}`);
|
|
18
|
+
return `{${entries.join(',')}}`;
|
|
19
|
+
}
|
|
20
|
+
return JSON.stringify(null);
|
|
21
|
+
}
|
|
22
|
+
export function createPromptFramePublicSecurityPolicyDigest(policy) {
|
|
23
|
+
const canonicalPolicy = canonicalizePromptFramePolicy(policy);
|
|
24
|
+
const hash = fnv1a64(canonicalPolicy);
|
|
25
|
+
return `${COMPONENT_SECURITY_POLICY_DIGEST_VERSION}:${hash}`;
|
|
26
|
+
}
|
|
27
|
+
function fnv1a64(input) {
|
|
28
|
+
let hash = 0xcbf29ce484222325n;
|
|
29
|
+
const prime = 0x100000001b3n;
|
|
30
|
+
const mask = 0xffffffffffffffffn;
|
|
31
|
+
for (let index = 0; index < input.length; index += 1) {
|
|
32
|
+
hash ^= BigInt(input.charCodeAt(index));
|
|
33
|
+
hash = (hash * prime) & mask;
|
|
34
|
+
}
|
|
35
|
+
return hash.toString(16).padStart(16, '0');
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=security-policy-fingerprint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"security-policy-fingerprint.js","sourceRoot":"","sources":["../src/security-policy-fingerprint.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,wCAAwC,GAAG,uCAAgD,CAAC;AAEzG,MAAM,UAAU,6BAA6B,CAAC,KAAc;IAC1D,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC;IAClC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC5D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC1F,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,6BAA6B,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;IACnF,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,KAAgC,CAAC;QAChD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;aAChC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC;aAC1C,IAAI,EAAE;aACN,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,6BAA6B,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;QACxF,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;IAClC,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,2CAA2C,CACzD,MAAe;IAEf,MAAM,eAAe,GAAG,6BAA6B,CAAC,MAAM,CAAC,CAAC;IAC9D,MAAM,IAAI,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IACtC,OAAO,GAAG,wCAAwC,IAAI,IAAI,EAAE,CAAC;AAC/D,CAAC;AAED,SAAS,OAAO,CAAC,KAAa;IAC5B,IAAI,IAAI,GAAG,mBAAmB,CAAC;IAC/B,MAAM,KAAK,GAAG,cAAc,CAAC;IAC7B,MAAM,IAAI,GAAG,mBAAmB,CAAC;IACjC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACrD,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;QACxC,IAAI,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC;IAC/B,CAAC;IACD,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;AAC7C,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@promptframe/contracts",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.9",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -15,6 +15,10 @@
|
|
|
15
15
|
"import": "./dist/index.js",
|
|
16
16
|
"types": "./dist/index.d.ts"
|
|
17
17
|
},
|
|
18
|
+
"./security-evaluator": {
|
|
19
|
+
"import": "./dist/security-policy-evaluator.js",
|
|
20
|
+
"types": "./dist/security-policy-evaluator.d.ts"
|
|
21
|
+
},
|
|
18
22
|
"./package.json": {
|
|
19
23
|
"default": "./package.json"
|
|
20
24
|
}
|
|
@@ -41,9 +45,7 @@
|
|
|
41
45
|
"clean": "rm -rf dist"
|
|
42
46
|
},
|
|
43
47
|
"dependencies": {
|
|
48
|
+
"typescript": "~5.7.0",
|
|
44
49
|
"zod": "^3.24.0"
|
|
45
|
-
},
|
|
46
|
-
"devDependencies": {
|
|
47
|
-
"typescript": "~5.7.0"
|
|
48
50
|
}
|
|
49
51
|
}
|