@safebrowse/daemon 0.1.4 → 0.1.5
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 +64 -11
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +54 -11
- package/dist/cli.js.map +1 -1
- package/dist/loaders.d.ts.map +1 -1
- package/dist/loaders.js +65 -2
- package/dist/loaders.js.map +1 -1
- package/dist/modelGuard.d.ts +28 -0
- package/dist/modelGuard.d.ts.map +1 -0
- package/dist/modelGuard.js +325 -0
- package/dist/modelGuard.js.map +1 -0
- package/dist/parserIsolation.d.ts +7 -9
- package/dist/parserIsolation.d.ts.map +1 -1
- package/dist/parserIsolation.js.map +1 -1
- package/dist/parserWorker.js +11 -12
- package/dist/parserWorker.js.map +1 -1
- package/dist/runtime/config/auditor/{v5_secure_claim_suite.json → v6_secure_claim_suite.json} +9 -9
- package/dist/server.d.ts +5 -3
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +541 -1853
- package/dist/server.js.map +1 -1
- package/package.json +2 -2
- package/dist/runtime/config/auditor/v4_prompt_injection_coverage_suite.json +0 -2789
- package/dist/runtime/config/v2-compromised-fixtures.json +0 -34
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# `@safebrowse/daemon`
|
|
2
2
|
|
|
3
|
-
Localhost SafeBrowse daemon with
|
|
3
|
+
Localhost SafeBrowse daemon with bundled runtime assets for policy, verified registry, and KB loading.
|
|
4
4
|
|
|
5
5
|
## Install
|
|
6
6
|
|
|
@@ -11,21 +11,74 @@ npm install @safebrowse/daemon
|
|
|
11
11
|
## Run
|
|
12
12
|
|
|
13
13
|
```bash
|
|
14
|
-
npx @safebrowse/daemon
|
|
14
|
+
npx @safebrowse/daemon \
|
|
15
|
+
--host 127.0.0.1 \
|
|
16
|
+
--port 8787 \
|
|
17
|
+
--deployment-profile secure_v6 \
|
|
18
|
+
--approval-broker-public-key-path ./knowledge_base/signing/safebrowse_vf_ed25519_public.pem
|
|
15
19
|
```
|
|
16
20
|
|
|
17
|
-
|
|
21
|
+
When `secure_v6` is selected, the daemon forces:
|
|
18
22
|
|
|
19
|
-
- `
|
|
20
|
-
- `
|
|
21
|
-
- `SAFEBROWSE_ROOT_DIR`
|
|
23
|
+
- approval broker mode `external_service`
|
|
24
|
+
- parser isolation mode `node_permission_process`
|
|
22
25
|
|
|
23
|
-
|
|
26
|
+
## Model Guard
|
|
24
27
|
|
|
25
|
-
|
|
26
|
-
|
|
28
|
+
The daemon supports a model-guard sidecar protocol for compatible private runtimes. The SDK does not publish model weights or runtime bundles.
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
npx @safebrowse/daemon \
|
|
32
|
+
--model-guard-url http://127.0.0.1:8788 \
|
|
33
|
+
--model-guard-enforcement-mode shadow
|
|
27
34
|
```
|
|
28
35
|
|
|
29
|
-
|
|
36
|
+
Supported modes:
|
|
37
|
+
|
|
38
|
+
- `off`: default; no scoring, even when a URL is configured
|
|
39
|
+
- `shadow`: records `compiledObservation.modelAssessment` for deterministic `ALLOW` observations without changing verdicts or authorities
|
|
40
|
+
- `tighten`: only applies stricter outcomes such as approval, read-only replan, or block
|
|
41
|
+
|
|
42
|
+
`GET /health` reports model-guard readiness, bundle/schema metadata, and digest metadata when the sidecar provides it. `secure_v6` claim readiness does not require model availability.
|
|
43
|
+
|
|
44
|
+
## Routes
|
|
45
|
+
|
|
46
|
+
- `GET /health`
|
|
47
|
+
- `POST /v6/session/start`
|
|
48
|
+
- `POST /v6/observe`
|
|
49
|
+
- `POST /v6/action/evaluate`
|
|
50
|
+
- `POST /v6/approval/issue`
|
|
51
|
+
- `POST /v6/tool/prepare`
|
|
52
|
+
- `POST /v6/tool/callback/verify`
|
|
53
|
+
- `POST /v6/artifact/ingest`
|
|
54
|
+
- `POST /v6/artifact/extract`
|
|
55
|
+
- `POST /v6/memory/stage`
|
|
56
|
+
- `POST /v6/memory/promote`
|
|
57
|
+
- `POST /v6/memory/rollback`
|
|
58
|
+
- `POST /v6/replay/bundle`
|
|
59
|
+
|
|
60
|
+
## Secure Surface Notes
|
|
61
|
+
|
|
62
|
+
The daemon now accepts both pre-extracted structured captures and direct raw binary inputs for:
|
|
63
|
+
|
|
64
|
+
- MIME email via `rawMimeBase64`
|
|
65
|
+
- DOCX, XLSX, and PPTX via `contentBase64`
|
|
66
|
+
|
|
67
|
+
Those raw inputs are materialized into secure typed captures before normal policy and authority evaluation.
|
|
68
|
+
|
|
69
|
+
## Environment Variables
|
|
70
|
+
|
|
71
|
+
- `SAFEBROWSE_HOST`
|
|
72
|
+
- `SAFEBROWSE_PORT`
|
|
73
|
+
- `SAFEBROWSE_ROOT_DIR`
|
|
74
|
+
- `SAFEBROWSE_DEPLOYMENT_PROFILE`
|
|
75
|
+
- `SAFEBROWSE_APPROVAL_BROKER_PUBLIC_KEY_PATH`
|
|
76
|
+
- `SAFEBROWSE_APPROVAL_BROKER_MODE`
|
|
77
|
+
- `SAFEBROWSE_PARSER_ISOLATION_MODE`
|
|
78
|
+
- `SAFEBROWSE_MODEL_GUARD_URL`
|
|
79
|
+
- `SAFEBROWSE_MODEL_GUARD_TIMEOUT_MS`
|
|
80
|
+
- `SAFEBROWSE_MODEL_GUARD_ENFORCEMENT_MODE` (`off`, `shadow`, or `tighten`)
|
|
81
|
+
|
|
82
|
+
See the repository README for release and security guidance:
|
|
30
83
|
|
|
31
|
-
- https://github.com/RobKang1234/safebrowse-sdk
|
|
84
|
+
- [https://github.com/RobKang1234/safebrowse-sdk](https://github.com/RobKang1234/safebrowse-sdk)
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAGA,OAAO,EAAyB,KAAK,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAElF,MAAM,WAAW,mBAAoB,SAAQ,uBAAuB;IAClE,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAGA,OAAO,EAAyB,KAAK,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAElF,MAAM,WAAW,mBAAoB,SAAQ,uBAAuB;IAClE,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AA2CD,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EAAE,EACd,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,mBAAmB,CA6JrB;AAED,wBAAsB,YAAY,CAChC,IAAI,GAAE,MAAM,EAA0B,EACtC,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAAC,IAAI,CAAC,CAmBf"}
|
package/dist/cli.js
CHANGED
|
@@ -4,9 +4,10 @@ import { startSafeBrowseDaemon } from "./server.js";
|
|
|
4
4
|
const HELP_TEXT = `SafeBrowse daemon
|
|
5
5
|
|
|
6
6
|
Usage:
|
|
7
|
-
safebrowse-daemon [--host 127.0.0.1] [--port 8787] [--root-dir <path>] [--deployment-profile development|
|
|
7
|
+
safebrowse-daemon [--host 127.0.0.1] [--port 8787] [--root-dir <path>] [--deployment-profile development|secure_v6]
|
|
8
8
|
[--approval-broker-mode signature_verification|external_service]
|
|
9
9
|
[--parser-isolation-mode scrubbed_process|node_permission_process]
|
|
10
|
+
[--model-guard-url <url>] [--model-guard-timeout-ms <ms>] [--model-guard-enforcement-mode off|shadow|tighten]
|
|
10
11
|
|
|
11
12
|
Environment:
|
|
12
13
|
SAFEBROWSE_HOST
|
|
@@ -16,9 +17,9 @@ Environment:
|
|
|
16
17
|
SAFEBROWSE_APPROVAL_BROKER_PUBLIC_KEY_PATH
|
|
17
18
|
SAFEBROWSE_APPROVAL_BROKER_MODE
|
|
18
19
|
SAFEBROWSE_PARSER_ISOLATION_MODE
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
SAFEBROWSE_MODEL_GUARD_URL
|
|
21
|
+
SAFEBROWSE_MODEL_GUARD_TIMEOUT_MS
|
|
22
|
+
SAFEBROWSE_MODEL_GUARD_ENFORCEMENT_MODE
|
|
22
23
|
`;
|
|
23
24
|
function parsePort(value) {
|
|
24
25
|
const port = Number.parseInt(value, 10);
|
|
@@ -27,6 +28,16 @@ function parsePort(value) {
|
|
|
27
28
|
}
|
|
28
29
|
return port;
|
|
29
30
|
}
|
|
31
|
+
function parsePositiveInt(value, field) {
|
|
32
|
+
const parsed = Number.parseInt(value, 10);
|
|
33
|
+
if (!Number.isInteger(parsed) || parsed <= 0) {
|
|
34
|
+
throw new Error(`Invalid ${field}: ${value}`);
|
|
35
|
+
}
|
|
36
|
+
return parsed;
|
|
37
|
+
}
|
|
38
|
+
function isModelGuardEnforcementMode(value) {
|
|
39
|
+
return value === "off" || value === "shadow" || value === "tighten";
|
|
40
|
+
}
|
|
30
41
|
export function formatDaemonHelp() {
|
|
31
42
|
return HELP_TEXT;
|
|
32
43
|
}
|
|
@@ -40,6 +51,9 @@ export function parseDaemonOptions(argv, env = process.env) {
|
|
|
40
51
|
const envApprovalBrokerPublicKeyPath = env.SAFEBROWSE_APPROVAL_BROKER_PUBLIC_KEY_PATH?.trim();
|
|
41
52
|
const envApprovalBrokerMode = env.SAFEBROWSE_APPROVAL_BROKER_MODE?.trim();
|
|
42
53
|
const envParserIsolationMode = env.SAFEBROWSE_PARSER_ISOLATION_MODE?.trim();
|
|
54
|
+
const envModelGuardUrl = env.SAFEBROWSE_MODEL_GUARD_URL?.trim();
|
|
55
|
+
const envModelGuardTimeoutMs = env.SAFEBROWSE_MODEL_GUARD_TIMEOUT_MS?.trim();
|
|
56
|
+
const envModelGuardEnforcementMode = env.SAFEBROWSE_MODEL_GUARD_ENFORCEMENT_MODE?.trim();
|
|
43
57
|
if (envHost) {
|
|
44
58
|
options.host = envHost;
|
|
45
59
|
}
|
|
@@ -50,9 +64,8 @@ export function parseDaemonOptions(argv, env = process.env) {
|
|
|
50
64
|
options.rootDir = resolve(envRootDir);
|
|
51
65
|
}
|
|
52
66
|
if (envDeploymentProfile === "development" ||
|
|
53
|
-
envDeploymentProfile === "secure_v5" ||
|
|
54
67
|
envDeploymentProfile === "secure_v6") {
|
|
55
|
-
options.deploymentProfile = envDeploymentProfile
|
|
68
|
+
options.deploymentProfile = envDeploymentProfile;
|
|
56
69
|
}
|
|
57
70
|
if (envApprovalBrokerPublicKeyPath) {
|
|
58
71
|
options.approvalBrokerPublicKeyPath = resolve(envApprovalBrokerPublicKeyPath);
|
|
@@ -64,6 +77,15 @@ export function parseDaemonOptions(argv, env = process.env) {
|
|
|
64
77
|
envParserIsolationMode === "node_permission_process") {
|
|
65
78
|
options.parserIsolationMode = envParserIsolationMode;
|
|
66
79
|
}
|
|
80
|
+
if (envModelGuardUrl) {
|
|
81
|
+
options.modelGuardBaseUrl = envModelGuardUrl;
|
|
82
|
+
}
|
|
83
|
+
if (envModelGuardTimeoutMs) {
|
|
84
|
+
options.modelGuardTimeoutMs = parsePositiveInt(envModelGuardTimeoutMs, "model guard timeout");
|
|
85
|
+
}
|
|
86
|
+
if (envModelGuardEnforcementMode && isModelGuardEnforcementMode(envModelGuardEnforcementMode)) {
|
|
87
|
+
options.modelGuardEnforcementMode = envModelGuardEnforcementMode;
|
|
88
|
+
}
|
|
67
89
|
while (queue.length > 0) {
|
|
68
90
|
const arg = queue.shift();
|
|
69
91
|
if (!arg) {
|
|
@@ -99,13 +121,10 @@ export function parseDaemonOptions(argv, env = process.env) {
|
|
|
99
121
|
}
|
|
100
122
|
if (arg === "--deployment-profile") {
|
|
101
123
|
const value = queue.shift();
|
|
102
|
-
if (!value || !["development", "
|
|
124
|
+
if (!value || !["development", "secure_v6"].includes(value)) {
|
|
103
125
|
throw new Error("Invalid value for --deployment-profile");
|
|
104
126
|
}
|
|
105
|
-
options.deploymentProfile =
|
|
106
|
-
value === "secure_v6"
|
|
107
|
-
? "secure_v5"
|
|
108
|
-
: value;
|
|
127
|
+
options.deploymentProfile = value;
|
|
109
128
|
continue;
|
|
110
129
|
}
|
|
111
130
|
if (arg === "--approval-broker-public-key-path") {
|
|
@@ -132,6 +151,30 @@ export function parseDaemonOptions(argv, env = process.env) {
|
|
|
132
151
|
options.parserIsolationMode = value;
|
|
133
152
|
continue;
|
|
134
153
|
}
|
|
154
|
+
if (arg === "--model-guard-url") {
|
|
155
|
+
const value = queue.shift();
|
|
156
|
+
if (!value) {
|
|
157
|
+
throw new Error("Missing value for --model-guard-url");
|
|
158
|
+
}
|
|
159
|
+
options.modelGuardBaseUrl = value;
|
|
160
|
+
continue;
|
|
161
|
+
}
|
|
162
|
+
if (arg === "--model-guard-timeout-ms") {
|
|
163
|
+
const value = queue.shift();
|
|
164
|
+
if (!value) {
|
|
165
|
+
throw new Error("Missing value for --model-guard-timeout-ms");
|
|
166
|
+
}
|
|
167
|
+
options.modelGuardTimeoutMs = parsePositiveInt(value, "model guard timeout");
|
|
168
|
+
continue;
|
|
169
|
+
}
|
|
170
|
+
if (arg === "--model-guard-enforcement-mode") {
|
|
171
|
+
const value = queue.shift();
|
|
172
|
+
if (!value || !isModelGuardEnforcementMode(value)) {
|
|
173
|
+
throw new Error("Invalid value for --model-guard-enforcement-mode");
|
|
174
|
+
}
|
|
175
|
+
options.modelGuardEnforcementMode = value;
|
|
176
|
+
continue;
|
|
177
|
+
}
|
|
135
178
|
throw new Error(`Unknown argument: ${arg}`);
|
|
136
179
|
}
|
|
137
180
|
return options;
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,OAAO,EAAE,qBAAqB,EAAgC,MAAM,aAAa,CAAC;AAMlF,MAAM,SAAS,GAAG
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,OAAO,EAAE,qBAAqB,EAAgC,MAAM,aAAa,CAAC;AAMlF,MAAM,SAAS,GAAG;;;;;;;;;;;;;;;;;;;CAmBjB,CAAC;AAEF,SAAS,SAAS,CAAC,KAAa;IAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACxC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,GAAG,MAAM,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CAAC,iBAAiB,KAAK,EAAE,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAa,EAAE,KAAa;IACpD,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC1C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,WAAW,KAAK,KAAK,KAAK,EAAE,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,2BAA2B,CAAC,KAAa;IAChD,OAAO,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,SAAS,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,IAAc,EACd,MAAyB,OAAO,CAAC,GAAG;IAEpC,MAAM,OAAO,GAAwB,EAAE,CAAC;IACxC,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;IAExB,MAAM,OAAO,GAAG,GAAG,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC;IAC5C,MAAM,OAAO,GAAG,GAAG,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC;IAC5C,MAAM,UAAU,GAAG,GAAG,CAAC,mBAAmB,EAAE,IAAI,EAAE,CAAC;IACnD,MAAM,oBAAoB,GAAG,GAAG,CAAC,6BAA6B,EAAE,IAAI,EAAE,CAAC;IACvE,MAAM,8BAA8B,GAAG,GAAG,CAAC,0CAA0C,EAAE,IAAI,EAAE,CAAC;IAC9F,MAAM,qBAAqB,GAAG,GAAG,CAAC,+BAA+B,EAAE,IAAI,EAAE,CAAC;IAC1E,MAAM,sBAAsB,GAAG,GAAG,CAAC,gCAAgC,EAAE,IAAI,EAAE,CAAC;IAC5E,MAAM,gBAAgB,GAAG,GAAG,CAAC,0BAA0B,EAAE,IAAI,EAAE,CAAC;IAChE,MAAM,sBAAsB,GAAG,GAAG,CAAC,iCAAiC,EAAE,IAAI,EAAE,CAAC;IAC7E,MAAM,4BAA4B,GAAG,GAAG,CAAC,uCAAuC,EAAE,IAAI,EAAE,CAAC;IAEzF,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC;IACzB,CAAC;IACD,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IACD,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;IACD,IACE,oBAAoB,KAAK,aAAa;QACtC,oBAAoB,KAAK,WAAW,EACpC,CAAC;QACD,OAAO,CAAC,iBAAiB,GAAG,oBAAoB,CAAC;IACnD,CAAC;IACD,IAAI,8BAA8B,EAAE,CAAC;QACnC,OAAO,CAAC,2BAA2B,GAAG,OAAO,CAAC,8BAA8B,CAAC,CAAC;IAChF,CAAC;IACD,IAAI,qBAAqB,KAAK,wBAAwB,IAAI,qBAAqB,KAAK,kBAAkB,EAAE,CAAC;QACvG,OAAO,CAAC,kBAAkB,GAAG,qBAAqB,CAAC;IACrD,CAAC;IACD,IACE,sBAAsB,KAAK,kBAAkB;QAC7C,sBAAsB,KAAK,yBAAyB,EACpD,CAAC;QACD,OAAO,CAAC,mBAAmB,GAAG,sBAAsB,CAAC;IACvD,CAAC;IACD,IAAI,gBAAgB,EAAE,CAAC;QACrB,OAAO,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;IAC/C,CAAC;IACD,IAAI,sBAAsB,EAAE,CAAC;QAC3B,OAAO,CAAC,mBAAmB,GAAG,gBAAgB,CAAC,sBAAsB,EAAE,qBAAqB,CAAC,CAAC;IAChG,CAAC;IACD,IAAI,4BAA4B,IAAI,2BAA2B,CAAC,4BAA4B,CAAC,EAAE,CAAC;QAC9F,OAAO,CAAC,yBAAyB,GAAG,4BAA4B,CAAC;IACnE,CAAC;IAED,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,SAAS;QACX,CAAC;QAED,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACrC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;YACpB,SAAS;QACX,CAAC;QAED,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YACrB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAC9C,CAAC;YACD,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC;YACrB,SAAS;QACX,CAAC;QAED,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YACrB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAC9C,CAAC;YACD,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;YAChC,SAAS;QACX,CAAC;QAED,IAAI,GAAG,KAAK,YAAY,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAClD,CAAC;YACD,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;YACjC,SAAS;QACX,CAAC;QAED,IAAI,GAAG,KAAK,sBAAsB,EAAE,CAAC;YACnC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5D,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;YAC5D,CAAC;YACD,OAAO,CAAC,iBAAiB,GAAG,KAAoC,CAAC;YACjE,SAAS;QACX,CAAC;QAED,IAAI,GAAG,KAAK,mCAAmC,EAAE,CAAC;YAChD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;YACzE,CAAC;YACD,OAAO,CAAC,2BAA2B,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;YACrD,SAAS;QACX,CAAC;QAED,IAAI,GAAG,KAAK,wBAAwB,EAAE,CAAC;YACrC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,wBAAwB,EAAE,kBAAkB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9E,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;YAC9D,CAAC;YACD,OAAO,CAAC,kBAAkB,GAAG,KAAsD,CAAC;YACpF,SAAS;QACX,CAAC;QAED,IAAI,GAAG,KAAK,yBAAyB,EAAE,CAAC;YACtC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,kBAAkB,EAAE,yBAAyB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC/E,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;YAC/D,CAAC;YACD,OAAO,CAAC,mBAAmB,GAAG,KAAuD,CAAC;YACtF,SAAS;QACX,CAAC;QAED,IAAI,GAAG,KAAK,mBAAmB,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;YACzD,CAAC;YACD,OAAO,CAAC,iBAAiB,GAAG,KAAK,CAAC;YAClC,SAAS;QACX,CAAC;QAED,IAAI,GAAG,KAAK,0BAA0B,EAAE,CAAC;YACvC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;YAChE,CAAC;YACD,OAAO,CAAC,mBAAmB,GAAG,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC;YAC7E,SAAS;QACX,CAAC;QAED,IAAI,GAAG,KAAK,gCAAgC,EAAE,CAAC;YAC7C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClD,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;YACtE,CAAC;YACD,OAAO,CAAC,yBAAyB,GAAG,KAAK,CAAC;YAC1C,SAAS;QACX,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAG,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,OAAiB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EACtC,MAAyB,OAAO,CAAC,GAAG;IAEpC,MAAM,OAAO,GAAG,kBAAkB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC9C,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC;QAChC,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,OAAO,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;IACjC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAEvE,MAAM,QAAQ,GAAG,GAAG,EAAE;QACpB,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE;YAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACjC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AACpC,CAAC"}
|
package/dist/loaders.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loaders.d.ts","sourceRoot":"","sources":["../src/loaders.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"loaders.d.ts","sourceRoot":"","sources":["../src/loaders.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAGV,oBAAoB,EAEpB,UAAU,EAEV,sBAAsB,EAEvB,MAAM,kBAAkB,CAAC;AAiG1B,UAAU,iCAAiC;IACzC,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;CACvB;AAwMD,wBAAsB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAS3F;AAED,wBAAgB,uBAAuB,CAAC,OAAO,SAAgB,GAAG;IAChE,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB,CAOA;AAED,wBAAsB,uBAAuB,CAAC,KAAK,EAAE;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,OAAO,CAAC,UAAU,CAAC,CA6BtB;AAED,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,iCAAiC,GACzC,OAAO,CAAC,sBAAsB,CAAC,CAiCjC;AAED,wBAAgB,qBAAqB,CAAC,OAAO,SAAgB,GAAG,iCAAiC,CAWhG"}
|
package/dist/loaders.js
CHANGED
|
@@ -44,6 +44,9 @@ function toPolicyLayer(name, input) {
|
|
|
44
44
|
const origins = (input.origins ?? {});
|
|
45
45
|
const actions = (input.actions ?? {});
|
|
46
46
|
const artifacts = (input.artifacts ?? {});
|
|
47
|
+
const email = (input.email ?? {});
|
|
48
|
+
const extraction = (input.extraction ?? {});
|
|
49
|
+
const api = (input.api ?? {});
|
|
47
50
|
const memory = (input.memory ?? {});
|
|
48
51
|
const toolProtocol = (input.tool_protocol ?? {});
|
|
49
52
|
const telemetry = (input.telemetry ?? {});
|
|
@@ -63,7 +66,28 @@ function toPolicyLayer(name, input) {
|
|
|
63
66
|
artifacts: {
|
|
64
67
|
enableDocumentHandoff: Boolean(artifacts.enable_document_handoff ?? true),
|
|
65
68
|
quarantineOnHiddenTextMismatch: Boolean(artifacts.quarantine_on_hidden_text_mismatch ?? true),
|
|
66
|
-
allowMimeTypes: artifacts.allow_mime_types ?? []
|
|
69
|
+
allowMimeTypes: artifacts.allow_mime_types ?? [],
|
|
70
|
+
allowAttachmentMimeFamilies: artifacts.allow_attachment_mime_families ?? [],
|
|
71
|
+
maxExtractionDepth: Number(artifacts.max_extraction_depth ?? 3),
|
|
72
|
+
encryptedAttachmentDecision: artifacts.encrypted_attachment_decision ?? "quarantine"
|
|
73
|
+
},
|
|
74
|
+
email: {
|
|
75
|
+
allowedProviders: email.allowed_providers ?? [],
|
|
76
|
+
allowedRecipientDomains: email.allowed_recipient_domains ?? [],
|
|
77
|
+
forbiddenRecipientDomains: email.forbidden_recipient_domains ?? []
|
|
78
|
+
},
|
|
79
|
+
extraction: {
|
|
80
|
+
allowedExtractorIds: extraction.allowed_extractor_ids ?? [],
|
|
81
|
+
maxRecursionDepth: Number(extraction.max_recursion_depth ?? 3),
|
|
82
|
+
maxExpandedBytes: Number(extraction.max_expanded_bytes ?? 5_000_000),
|
|
83
|
+
blockEncryptedChildren: Boolean(extraction.block_encrypted_children ?? true)
|
|
84
|
+
},
|
|
85
|
+
api: {
|
|
86
|
+
allowedProviders: api.allowed_providers ?? [],
|
|
87
|
+
allowedOperationClasses: api.allowed_operation_classes ?? [],
|
|
88
|
+
mutationRequiresApproval: Boolean(api.mutation_requires_approval ?? true),
|
|
89
|
+
exportRequiresApproval: Boolean(api.export_requires_approval ?? true),
|
|
90
|
+
maxResponseBytes: Number(api.max_response_bytes ?? 1_000_000)
|
|
67
91
|
},
|
|
68
92
|
memory: {
|
|
69
93
|
durableWrites: memory.durable_writes ?? "deny",
|
|
@@ -111,6 +135,43 @@ function toVerifiedEntry(adapter, bundle, version) {
|
|
|
111
135
|
allowLoopbackCallbacks: adapter.allowLoopbackCallbacks ?? false
|
|
112
136
|
};
|
|
113
137
|
}
|
|
138
|
+
function toVerifiedApiProviderEntry(provider, bundle, version) {
|
|
139
|
+
return {
|
|
140
|
+
providerId: String(provider.providerId ?? "unknown-provider"),
|
|
141
|
+
bundleId: String(bundle.bundleId ?? "adapter-registry"),
|
|
142
|
+
bundleVersion: version,
|
|
143
|
+
signer: String(provider.signer ?? bundle.signer ?? "unknown"),
|
|
144
|
+
authType: provider.authType ?? "none",
|
|
145
|
+
allowedBaseUrls: provider.allowedBaseUrls ?? [],
|
|
146
|
+
allowedMethods: provider.allowedMethods ?? [],
|
|
147
|
+
allowedOperationClasses: provider.allowedOperationClasses ?? [],
|
|
148
|
+
requestSchemaHash: provider.requestSchemaHash,
|
|
149
|
+
responseSchemaHash: provider.responseSchemaHash,
|
|
150
|
+
allowedScopes: provider.allowedScopes ?? [],
|
|
151
|
+
allowedCallbackOrigins: provider.allowedCallbackOrigins ?? [],
|
|
152
|
+
allowedRedirectUris: provider.allowedRedirectUris ?? [],
|
|
153
|
+
readOnly: provider.readOnly ?? false,
|
|
154
|
+
mutating: provider.mutating ?? false,
|
|
155
|
+
expiresAt: provider.expiresAt ?? bundle.expiresAt
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
function toExtractorProfileEntry(extractor, bundle, version) {
|
|
159
|
+
return {
|
|
160
|
+
extractorId: String(extractor.extractorId ?? "unknown-extractor"),
|
|
161
|
+
bundleId: String(bundle.bundleId ?? "adapter-registry"),
|
|
162
|
+
bundleVersion: version,
|
|
163
|
+
signer: String(extractor.signer ?? bundle.signer ?? "unknown"),
|
|
164
|
+
supportedMimeTypes: extractor.supportedMimeTypes ?? [],
|
|
165
|
+
supportedSurfaceTypes: extractor.supportedSurfaceTypes ?? [],
|
|
166
|
+
parserDigest: String(extractor.parserDigest ?? ""),
|
|
167
|
+
maxRecursionDepth: extractor.maxRecursionDepth ?? 3,
|
|
168
|
+
maxExpandedBytes: extractor.maxExpandedBytes ?? 5_000_000,
|
|
169
|
+
networkPolicy: extractor.networkPolicy ?? "deny",
|
|
170
|
+
activeContentPolicy: extractor.activeContentPolicy ?? "block",
|
|
171
|
+
supportedChannels: (extractor.supportedChannels ?? []),
|
|
172
|
+
expiresAt: extractor.expiresAt ?? bundle.expiresAt
|
|
173
|
+
};
|
|
174
|
+
}
|
|
114
175
|
export async function loadKnowledgeBaseContext(kbDir) {
|
|
115
176
|
const entries = await Promise.all(Object.entries(KB_FILE_MAP).map(async ([key, fileName]) => {
|
|
116
177
|
const payload = await readJsonFile(resolve(kbDir, fileName));
|
|
@@ -168,7 +229,9 @@ export async function loadVerifiedRegistryBundle(options) {
|
|
|
168
229
|
expiresAt: bundle.expiresAt,
|
|
169
230
|
publicKeyId: bundle.publicKeyId,
|
|
170
231
|
signatureVerified,
|
|
171
|
-
entries: (bundle.adapters ?? []).map((adapter) => toVerifiedEntry(adapter, bundle, version))
|
|
232
|
+
entries: (bundle.adapters ?? []).map((adapter) => toVerifiedEntry(adapter, bundle, version)),
|
|
233
|
+
apiProviders: (bundle.apiProviders ?? []).map((provider) => toVerifiedApiProviderEntry(provider, bundle, version)),
|
|
234
|
+
extractorProfiles: (bundle.extractorProfiles ?? []).map((extractor) => toExtractorProfileEntry(extractor, bundle, version))
|
|
172
235
|
};
|
|
173
236
|
}
|
|
174
237
|
export function buildRegistryDefaults(rootDir = process.cwd()) {
|
package/dist/loaders.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loaders.js","sourceRoot":"","sources":["../src/loaders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"loaders.js","sourceRoot":"","sources":["../src/loaders.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { ModelGuardEnforcementMode, ModelGuardObservationRequest, ModelGuardObservationResponse } from "@safebrowse/core";
|
|
2
|
+
export interface ModelGuardClientOptions {
|
|
3
|
+
baseUrl?: string;
|
|
4
|
+
timeoutMs?: number;
|
|
5
|
+
enforcementMode?: ModelGuardEnforcementMode;
|
|
6
|
+
}
|
|
7
|
+
export interface ModelGuardHealthSnapshot {
|
|
8
|
+
configured: boolean;
|
|
9
|
+
ready: boolean;
|
|
10
|
+
runtimeMode: "python_sidecar";
|
|
11
|
+
enforcementMode: ModelGuardEnforcementMode;
|
|
12
|
+
bundleVersion?: string;
|
|
13
|
+
featureSchemaVersion?: string;
|
|
14
|
+
bundleDigest?: string;
|
|
15
|
+
componentDigests?: Record<string, string>;
|
|
16
|
+
lastCheckedAt?: string;
|
|
17
|
+
validationError?: string;
|
|
18
|
+
}
|
|
19
|
+
export interface ModelGuardClient {
|
|
20
|
+
configured: boolean;
|
|
21
|
+
enforcementMode: ModelGuardEnforcementMode;
|
|
22
|
+
scoreObservation(request: ModelGuardObservationRequest): Promise<ModelGuardObservationResponse>;
|
|
23
|
+
getCachedHealth(): Promise<ModelGuardHealthSnapshot>;
|
|
24
|
+
refreshHealth(): Promise<ModelGuardHealthSnapshot>;
|
|
25
|
+
close(): Promise<void>;
|
|
26
|
+
}
|
|
27
|
+
export declare function createModelGuardClient(options?: ModelGuardClientOptions): ModelGuardClient;
|
|
28
|
+
//# sourceMappingURL=modelGuard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modelGuard.d.ts","sourceRoot":"","sources":["../src/modelGuard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,yBAAyB,EAGzB,4BAA4B,EAC5B,6BAA6B,EAC9B,MAAM,kBAAkB,CAAC;AAc1B,MAAM,WAAW,uBAAuB;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,yBAAyB,CAAC;CAC7C;AAED,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,OAAO,CAAC;IACf,WAAW,EAAE,gBAAgB,CAAC;IAC9B,eAAe,EAAE,yBAAyB,CAAC;IAC3C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,OAAO,CAAC;IACpB,eAAe,EAAE,yBAAyB,CAAC;IAC3C,gBAAgB,CAAC,OAAO,EAAE,4BAA4B,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC;IAChG,eAAe,IAAI,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACrD,aAAa,IAAI,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACnD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAgWD,wBAAgB,sBAAsB,CAAC,OAAO,GAAE,uBAA4B,GAAG,gBAAgB,CAQ9F"}
|