sophos-central-mcp-server 0.8.0 → 0.8.1
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 +5 -3
- package/dist/client/fusion-client.d.ts +9 -1
- package/dist/client/fusion-client.d.ts.map +1 -1
- package/dist/client/fusion-client.js +17 -3
- package/dist/client/fusion-client.js.map +1 -1
- package/dist/client/sophos-client.d.ts.map +1 -1
- package/dist/client/sophos-client.js +7 -0
- package/dist/client/sophos-client.js.map +1 -1
- package/dist/tools/policies.d.ts +25 -0
- package/dist/tools/policies.d.ts.map +1 -1
- package/dist/tools/policies.js +312 -101
- package/dist/tools/policies.js.map +1 -1
- package/dist/tools/web-filtering.d.ts.map +1 -1
- package/dist/tools/web-filtering.js +13 -19
- package/dist/tools/web-filtering.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -168,7 +168,7 @@ The script:
|
|
|
168
168
|
npm test
|
|
169
169
|
```
|
|
170
170
|
|
|
171
|
-
Builds, then runs the `node:test` suites in `test/` with `fetch` stubbed: the Fusion GraphQL transport (including the HTTP 200 with `errors` case), the QL builder, the reference-data cache, and the path-keyed retry for the intermittent case-write fault, the migration guard, the policy assignment writes (body shapes, refusals and read-back) against an in-memory policy store, a registration check that lists all 311 tools over an in-memory transport and checks the descriptions for the measured warnings, the `SOPHOS_FUSION_GRAPHQL_URL` check, and the HTTP transport (Origin guard, bearer token, listen address, concurrent calls) run against an in-memory Sophos. Nothing in `npm test` reaches Sophos.
|
|
171
|
+
Builds, then runs the `node:test` suites in `test/` with `fetch` stubbed: the Fusion GraphQL transport (including the HTTP 200 with `errors` case), the QL builder, the reference-data cache, and the path-keyed retry for the intermittent case-write fault, the migration guard, the policy assignment and web profile writes (body shapes, refusals, target lookups and read-back) against an in-memory policy store, the no-retry rule for a POST or mutation after a 5xx, a registration check that lists all 311 tools over an in-memory transport and checks the descriptions for the measured warnings, the `SOPHOS_FUSION_GRAPHQL_URL` check, and the HTTP transport (Origin guard, bearer token, listen address, concurrent calls) run against an in-memory Sophos. Nothing in `npm test` reaches Sophos.
|
|
172
172
|
|
|
173
173
|
To exercise the Fusion tools against a live tenant, put credentials in `.env` (or export them) and run:
|
|
174
174
|
|
|
@@ -360,12 +360,14 @@ Two Fusion case writes, `createCase` and `addEvidenceToCase`, fail 74% of the ti
|
|
|
360
360
|
| `sophos_list_policies` | List endpoint policies with optional type filter |
|
|
361
361
|
| `sophos_get_policy` | Get full policy detail including all settings and assignments |
|
|
362
362
|
| `sophos_create_policy` | Create a new endpoint policy, optionally assigned |
|
|
363
|
-
| `sophos_clone_policy` | Clone an existing policy under a new name |
|
|
363
|
+
| `sophos_clone_policy` | Clone an existing policy under a new name, optionally with a new assignment |
|
|
364
364
|
| `sophos_update_policy` | Update policy name, enabled state, priority, settings, or the whole assignment |
|
|
365
365
|
| `sophos_set_policy_assignments` | Replace, add or remove a policy's users, user groups, endpoints or endpoint groups |
|
|
366
366
|
| `sophos_delete_policy` | Delete a policy |
|
|
367
367
|
|
|
368
|
-
Assignments take plain ID arrays. A policy applies either to users and user groups (a user policy) or to endpoints and endpoint groups (a device policy), never both; the kind follows which keys you send. Server policies take only endpoints and
|
|
368
|
+
Assignments take plain ID arrays. A policy applies either to users and user groups (a user policy) or to endpoints and endpoint groups (a device policy), never both; the kind follows which keys you send. Server policies take only server endpoints and groups, and computer policies only computer ones: the IDs are looked up first, because Sophos accepts a server on a computer policy without ever applying it. Endpoint groups are always sent with an `endpoints` key, because Sophos answers 500 to endpoint groups on their own. Every assignment write is read back by ID and the result shows what Sophos stored. A new policy can take up to about 25 seconds to show in `sophos_list_policies`; `sophos_get_policy` is current at once.
|
|
369
|
+
|
|
370
|
+
Web profiles: setting `endpoint.web-control.web-profile-id` also sends `filter-by-web-profile.enabled` true, without which Sophos keeps the old value, and turns on `web-profile.enabled` unless you set it. A new web control policy gets `web-profile.enabled` set explicitly (true with a profile, false for legacy settings) instead of the API's default of true. The settings are read back after the write. A profile is linked from the policy side; the profile tools do not send `consumers`, which Sophos ignores.
|
|
369
371
|
|
|
370
372
|
### Endpoint Groups (7 tools)
|
|
371
373
|
|
|
@@ -11,7 +11,8 @@
|
|
|
11
11
|
* 200 with an `errors` array beside `data`. A 200 is not success until the
|
|
12
12
|
* body has been read. Transport failures (expired token, 429, 5xx) use the
|
|
13
13
|
* usual non-2xx status and the standard Sophos error object, and those are
|
|
14
|
-
* retried the same way SophosClient retries them
|
|
14
|
+
* retried the same way SophosClient retries them: 429 always, 5xx and network
|
|
15
|
+
* failures for queries only, never for a mutation. GraphQL-layer errors are
|
|
15
16
|
* not retried, with one measured exception: the intermittent
|
|
16
17
|
* partnerPreferences fault on the case write path, which is keyed on the
|
|
17
18
|
* error path and bounded (see FusionGraphQLError.isTransientPartnerPreferences).
|
|
@@ -113,6 +114,11 @@ export declare class FusionClient {
|
|
|
113
114
|
* what startCaseFileUpload was told. One attempt, no retry.
|
|
114
115
|
*/
|
|
115
116
|
putPresigned(url: string, body: Uint8Array, contentType: string): Promise<void>;
|
|
117
|
+
/**
|
|
118
|
+
* Transport retries: 429 always; 5xx, timeouts and network errors only for
|
|
119
|
+
* a query. A mutation that failed that way may already have taken effect
|
|
120
|
+
* (a case created, evidence attached), so it is not repeated.
|
|
121
|
+
*/
|
|
116
122
|
private executeWithRetry;
|
|
117
123
|
private sleep;
|
|
118
124
|
}
|
|
@@ -128,5 +134,7 @@ export declare class FusionClient {
|
|
|
128
134
|
*/
|
|
129
135
|
export declare function interpretGraphQLBody<T extends object>(body: GraphQLResponseBody<T> | null | undefined): FusionQueryResult<T>;
|
|
130
136
|
export declare function formatGraphQLError(error: GraphQLErrorEntry): string;
|
|
137
|
+
/** True when the document's operation is a mutation (leading comments skipped). */
|
|
138
|
+
export declare function isMutation(document: string): boolean;
|
|
131
139
|
export {};
|
|
132
140
|
//# sourceMappingURL=fusion-client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fusion-client.d.ts","sourceRoot":"","sources":["../../src/client/fusion-client.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"fusion-client.d.ts","sourceRoot":"","sources":["../../src/client/fusion-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,8 @@
|
|
|
11
11
|
* 200 with an `errors` array beside `data`. A 200 is not success until the
|
|
12
12
|
* body has been read. Transport failures (expired token, 429, 5xx) use the
|
|
13
13
|
* usual non-2xx status and the standard Sophos error object, and those are
|
|
14
|
-
* retried the same way SophosClient retries them
|
|
14
|
+
* retried the same way SophosClient retries them: 429 always, 5xx and network
|
|
15
|
+
* failures for queries only, never for a mutation. GraphQL-layer errors are
|
|
15
16
|
* not retried, with one measured exception: the intermittent
|
|
16
17
|
* partnerPreferences fault on the case write path, which is keyed on the
|
|
17
18
|
* error path and bounded (see FusionGraphQLError.isTransientPartnerPreferences).
|
|
@@ -91,8 +92,9 @@ export class FusionClient {
|
|
|
91
92
|
},
|
|
92
93
|
body: JSON.stringify({ query: document, variables }),
|
|
93
94
|
};
|
|
95
|
+
const mutation = isMutation(document);
|
|
94
96
|
for (let attempt = 1;; attempt++) {
|
|
95
|
-
const body = await this.executeWithRetry(fetchOptions);
|
|
97
|
+
const body = await this.executeWithRetry(fetchOptions, mutation);
|
|
96
98
|
try {
|
|
97
99
|
return interpretGraphQLBody(body);
|
|
98
100
|
}
|
|
@@ -143,7 +145,12 @@ export class FusionClient {
|
|
|
143
145
|
throw new Error(`Case file upload failed with HTTP ${response.status}: ${text.slice(0, 300)}`);
|
|
144
146
|
}
|
|
145
147
|
}
|
|
146
|
-
|
|
148
|
+
/**
|
|
149
|
+
* Transport retries: 429 always; 5xx, timeouts and network errors only for
|
|
150
|
+
* a query. A mutation that failed that way may already have taken effect
|
|
151
|
+
* (a case created, evidence attached), so it is not repeated.
|
|
152
|
+
*/
|
|
153
|
+
async executeWithRetry(options, mutation = false) {
|
|
147
154
|
let lastError = null;
|
|
148
155
|
for (let attempt = 0; attempt <= this.retries; attempt++) {
|
|
149
156
|
try {
|
|
@@ -204,6 +211,9 @@ export class FusionClient {
|
|
|
204
211
|
if (/Sophos Fusion API error 4\d\d:/.test(lastError.message)) {
|
|
205
212
|
throw lastError;
|
|
206
213
|
}
|
|
214
|
+
if (mutation) {
|
|
215
|
+
throw new Error(`${lastError.message}. Not retried: the mutation may already have taken effect, so check whether it did before repeating it.`);
|
|
216
|
+
}
|
|
207
217
|
if (attempt < this.retries) {
|
|
208
218
|
// Full-jitter exponential backoff, as the Sophos rate-limit guidance recommends
|
|
209
219
|
const cap = this.backoffBaseMs * Math.pow(2, attempt);
|
|
@@ -255,4 +265,8 @@ export function formatGraphQLError(error) {
|
|
|
255
265
|
}
|
|
256
266
|
return parts.join(" ");
|
|
257
267
|
}
|
|
268
|
+
/** True when the document's operation is a mutation (leading comments skipped). */
|
|
269
|
+
export function isMutation(document) {
|
|
270
|
+
return /^(?:\s|#[^\n]*\n)*mutation\b/.test(document);
|
|
271
|
+
}
|
|
258
272
|
//# sourceMappingURL=fusion-client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fusion-client.js","sourceRoot":"","sources":["../../src/client/fusion-client.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"fusion-client.js","sourceRoot":"","sources":["../../src/client/fusion-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sophos-client.d.ts","sourceRoot":"","sources":["../../src/client/sophos-client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAG3D,MAAM,WAAW,cAAc;IAC7B,kBAAkB;IAClB,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;IACrD,uBAAuB;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,wBAAwB;IACxB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,yBAAyB;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAuBpD;AAED,qBAAa,YAAY;IAErB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,cAAc;gBADd,YAAY,EAAE,YAAY,EAC1B,cAAc,EAAE,cAAc;IAGxC;;;OAGG;IACG,aAAa,CAAC,CAAC,EACnB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,CAAC,CAAC;IAiCb;;OAEG;IACG,aAAa,CAAC,CAAC,EACnB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,CAAC,CAAC;YA4CC,gBAAgB;
|
|
1
|
+
{"version":3,"file":"sophos-client.d.ts","sourceRoot":"","sources":["../../src/client/sophos-client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAG3D,MAAM,WAAW,cAAc;IAC7B,kBAAkB;IAClB,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;IACrD,uBAAuB;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,wBAAwB;IACxB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,yBAAyB;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAuBpD;AAED,qBAAa,YAAY;IAErB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,cAAc;gBADd,YAAY,EAAE,YAAY,EAC1B,cAAc,EAAE,cAAc;IAGxC;;;OAGG;IACG,aAAa,CAAC,CAAC,EACnB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,CAAC,CAAC;IAiCb;;OAEG;IACG,aAAa,CAAC,CAAC,EACnB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,CAAC,CAAC;YA4CC,gBAAgB;IAkF9B,OAAO,CAAC,KAAK;CAGd"}
|
|
@@ -161,6 +161,13 @@ export class SophosClient {
|
|
|
161
161
|
if (/Sophos API error 4\d\d:/.test(lastError.message)) {
|
|
162
162
|
throw lastError;
|
|
163
163
|
}
|
|
164
|
+
// A POST creates or acts. After a 5xx, a timeout or a dropped connection
|
|
165
|
+
// it may already have taken effect, so repeating it could create a
|
|
166
|
+
// duplicate or run an action twice. Only 429 (refused before processing)
|
|
167
|
+
// is retried for a POST, above.
|
|
168
|
+
if (options.method === "POST") {
|
|
169
|
+
throw new Error(`${lastError.message}. Not retried: a POST may already have taken effect, so check whether it did before repeating it.`);
|
|
170
|
+
}
|
|
164
171
|
if (attempt < retries) {
|
|
165
172
|
const backoff = Math.pow(2, attempt) * 1000;
|
|
166
173
|
console.error(`[sophos-client] Request failed, retrying in ${backoff}ms: ${lastError.message}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sophos-client.js","sourceRoot":"","sources":["../../src/client/sophos-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sophos-client.js","sourceRoot":"","sources":["../../src/client/sophos-client.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/policies.d.ts
CHANGED
|
@@ -11,7 +11,10 @@
|
|
|
11
11
|
* - endpointGroups without an endpoints key gets a 500 "Error processing data"
|
|
12
12
|
* on POST and PATCH; {endpoints: [], endpointGroups: [id]} works.
|
|
13
13
|
* - PATCH replaces the whole assignment: a family key left out comes back empty.
|
|
14
|
+
* - A server endpoint or server group on a computer policy is accepted (201) but
|
|
15
|
+
* never applies, so the tools look the targets up and refuse the mismatch.
|
|
14
16
|
* - A new policy reaches the list 1.6 to 21.8 s after creation; GET by ID works at once.
|
|
17
|
+
* Web profile rules are in prepareWebProfileSettings.
|
|
15
18
|
*/
|
|
16
19
|
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
17
20
|
import type { SophosClient } from "../client/sophos-client.js";
|
|
@@ -55,5 +58,27 @@ export declare function toAppliesTo(a: PolicyAssignment): Record<string, string[
|
|
|
55
58
|
*/
|
|
56
59
|
export declare function storedAssignment(appliesTo: unknown): PolicyAssignment | null;
|
|
57
60
|
export declare function sameAssignment(a: PolicyAssignment | null, b: PolicyAssignment | null): boolean;
|
|
61
|
+
/**
|
|
62
|
+
* Sophos accepts a server endpoint or server group on a computer policy (201,
|
|
63
|
+
* measured 13/10/2026) although it never applies there. Refuses that, the
|
|
64
|
+
* reverse, and IDs the tenant does not have, before anything is written.
|
|
65
|
+
* Security VMs pass either way.
|
|
66
|
+
*/
|
|
67
|
+
export declare function assertDeviceTargets(client: SophosClient, tenantId: string, policyType: string, args: AssignmentArgs): Promise<void>;
|
|
68
|
+
/**
|
|
69
|
+
* Applies the measured web profile rules (13/10/2026) to a settings write:
|
|
70
|
+
* - web-profile-id is ignored (200, no change) unless filter-by-web-profile.enabled
|
|
71
|
+
* is true in the same write, so it is added; an explicit false is refused.
|
|
72
|
+
* - Clearing the id ("") with filter-by still true gets a 400, so false is added.
|
|
73
|
+
* - web-profile.enabled picks web profiles (true) or legacy settings (false).
|
|
74
|
+
* Linking a profile turns it on unless the caller set it. On create, Sophos
|
|
75
|
+
* defaults it to true even with no profile, so a new web control policy gets
|
|
76
|
+
* it explicitly: true with a profile, false (legacy settings) without.
|
|
77
|
+
* Returns the settings to send and the web profile keys to read back.
|
|
78
|
+
*/
|
|
79
|
+
export declare function prepareWebProfileSettings(settings: Record<string, unknown> | undefined, createType?: string): {
|
|
80
|
+
settings?: Record<string, unknown>;
|
|
81
|
+
sent: Record<string, unknown>;
|
|
82
|
+
};
|
|
58
83
|
export declare function registerPolicyTools(server: McpServer, client: SophosClient, tenantResolver: TenantResolver): void;
|
|
59
84
|
//# sourceMappingURL=policies.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policies.d.ts","sourceRoot":"","sources":["../../src/tools/policies.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"policies.d.ts","sourceRoot":"","sources":["../../src/tools/policies.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAmBnE,uEAAuE;AACvE,MAAM,MAAM,gBAAgB,GACxB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,WAAW,EAAE,MAAM,EAAE,CAAA;CAAE,GACxD;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,SAAS,EAAE,MAAM,EAAE,CAAC;IAAC,eAAe,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAEvE,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAuBD;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,cAAc,EACpB,UAAU,CAAC,EAAE,MAAM,GAClB,MAAM,GAAG,QAAQ,GAAG,SAAS,CAa/B;AAED,mEAAmE;AACnE,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAMzE;AAED,0EAA0E;AAC1E,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,EAAE,IAAI,EAAE,cAAc,GAAG,gBAAgB,CAIlG;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,gBAAgB,CAEzE;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAIzE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,OAAO,GAAG,gBAAgB,GAAG,IAAI,CAqB5E;AAMD,wBAAgB,cAAc,CAAC,CAAC,EAAE,gBAAgB,GAAG,IAAI,EAAE,CAAC,EAAE,gBAAgB,GAAG,IAAI,GAAG,OAAO,CAK9F;AAoDD;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,IAAI,CAAC,CA8Bf;AAyBD;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAC7C,UAAU,CAAC,EAAE,MAAM,GAClB;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CA6BvE;AAkID,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,YAAY,EACpB,cAAc,EAAE,cAAc,GAC7B,IAAI,CAmeN"}
|
package/dist/tools/policies.js
CHANGED
|
@@ -11,7 +11,10 @@
|
|
|
11
11
|
* - endpointGroups without an endpoints key gets a 500 "Error processing data"
|
|
12
12
|
* on POST and PATCH; {endpoints: [], endpointGroups: [id]} works.
|
|
13
13
|
* - PATCH replaces the whole assignment: a family key left out comes back empty.
|
|
14
|
+
* - A server endpoint or server group on a computer policy is accepted (201) but
|
|
15
|
+
* never applies, so the tools look the targets up and refuse the mismatch.
|
|
14
16
|
* - A new policy reaches the list 1.6 to 21.8 s after creation; GET by ID works at once.
|
|
17
|
+
* Web profile rules are in prepareWebProfileSettings.
|
|
15
18
|
*/
|
|
16
19
|
import { z } from "zod";
|
|
17
20
|
import { jsonResult, withErrorHandling } from "./helpers.js";
|
|
@@ -126,30 +129,241 @@ function assignmentCounts(a) {
|
|
|
126
129
|
? { kind: a.kind, users: a.users.length, user_groups: a.user_groups.length }
|
|
127
130
|
: { kind: a.kind, endpoints: a.endpoints.length, endpoint_groups: a.endpoint_groups.length };
|
|
128
131
|
}
|
|
132
|
+
const message = (error) => (error instanceof Error ? error.message : String(error));
|
|
133
|
+
/**
|
|
134
|
+
* Looks IDs up with one batched list call per 50, then GET by ID for any the
|
|
135
|
+
* list does not return yet (a group reaches the list about 1 s after creation;
|
|
136
|
+
* GET by ID is current at once). Returns id to target; absent means not found.
|
|
137
|
+
*/
|
|
138
|
+
async function lookUpTargets(client, tenantId, path, ids) {
|
|
139
|
+
const found = new Map();
|
|
140
|
+
for (let i = 0; i < ids.length; i += 50) {
|
|
141
|
+
const chunk = ids.slice(i, i + 50);
|
|
142
|
+
const params = { ids: chunk.join(","), pageSize: "50" };
|
|
143
|
+
if (path === "/endpoint/v1/endpoints")
|
|
144
|
+
params.view = "basic";
|
|
145
|
+
const page = await client.tenantRequest(tenantId, path, { params });
|
|
146
|
+
for (const item of page.items ?? [])
|
|
147
|
+
found.set(item.id, item);
|
|
148
|
+
}
|
|
149
|
+
for (const id of ids.filter((x) => !found.has(x))) {
|
|
150
|
+
try {
|
|
151
|
+
found.set(id, await client.tenantRequest(tenantId, `${path}/${id}`));
|
|
152
|
+
}
|
|
153
|
+
catch (error) {
|
|
154
|
+
if (!/Sophos API error 404:/.test(message(error)))
|
|
155
|
+
throw error;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
return found;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Sophos accepts a server endpoint or server group on a computer policy (201,
|
|
162
|
+
* measured 13/10/2026) although it never applies there. Refuses that, the
|
|
163
|
+
* reverse, and IDs the tenant does not have, before anything is written.
|
|
164
|
+
* Security VMs pass either way.
|
|
165
|
+
*/
|
|
166
|
+
export async function assertDeviceTargets(client, tenantId, policyType, args) {
|
|
167
|
+
const endpointIds = uniq(args.endpoints);
|
|
168
|
+
const groupIds = uniq(args.endpoint_groups);
|
|
169
|
+
if (endpointIds.length + groupIds.length === 0)
|
|
170
|
+
return;
|
|
171
|
+
const want = policyType.startsWith("server-") ? "server" : "computer";
|
|
172
|
+
const problems = [];
|
|
173
|
+
const check = (ids, found, what) => {
|
|
174
|
+
for (const id of ids) {
|
|
175
|
+
const target = found.get(id);
|
|
176
|
+
if (!target) {
|
|
177
|
+
problems.push(`${what} ${id} was not found in this tenant`);
|
|
178
|
+
}
|
|
179
|
+
else if ((target.type === "computer" || target.type === "server") && target.type !== want) {
|
|
180
|
+
const label = target.hostname ?? target.name;
|
|
181
|
+
problems.push(`${what} ${id}${label ? ` (${label})` : ""} is a ${target.type}${what === "endpoint" ? "" : " group"}`);
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
};
|
|
185
|
+
if (endpointIds.length) {
|
|
186
|
+
const found = await lookUpTargets(client, tenantId, "/endpoint/v1/endpoints", endpointIds);
|
|
187
|
+
check(endpointIds, found, "endpoint");
|
|
188
|
+
}
|
|
189
|
+
if (groupIds.length) {
|
|
190
|
+
const found = await lookUpTargets(client, tenantId, "/endpoint/v1/endpoint-groups", groupIds);
|
|
191
|
+
check(groupIds, found, "endpoint group");
|
|
192
|
+
}
|
|
193
|
+
if (problems.length) {
|
|
194
|
+
throw new Error(`Policy type ${policyType} applies to ${want}s only: ${problems.join("; ")}. Nothing was written.`);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
/** Every pre-write check for an assignment on a policy of the given type. */
|
|
198
|
+
async function validateAssignment(client, tenantId, policyType, kind, args) {
|
|
199
|
+
if (kind === "user")
|
|
200
|
+
assertUserAssignable(policyType);
|
|
201
|
+
else
|
|
202
|
+
await assertDeviceTargets(client, tenantId, policyType, args);
|
|
203
|
+
}
|
|
204
|
+
const WEB_PROFILE_ID = "endpoint.web-control.web-profile-id";
|
|
205
|
+
const FILTER_BY_WEB_PROFILE = "endpoint.web-control.filter-by-web-profile.enabled";
|
|
206
|
+
const WEB_PROFILE_MODE = "endpoint.web-control.web-profile.enabled";
|
|
207
|
+
const WEB_PROFILE_KEYS = [WEB_PROFILE_ID, FILTER_BY_WEB_PROFILE, WEB_PROFILE_MODE];
|
|
208
|
+
/** A setting's value whether it was passed as {value} or bare. */
|
|
209
|
+
function settingValue(settings, key) {
|
|
210
|
+
const raw = settings?.[key];
|
|
211
|
+
return raw && typeof raw === "object" && "value" in raw ? raw.value : raw;
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Applies the measured web profile rules (13/10/2026) to a settings write:
|
|
215
|
+
* - web-profile-id is ignored (200, no change) unless filter-by-web-profile.enabled
|
|
216
|
+
* is true in the same write, so it is added; an explicit false is refused.
|
|
217
|
+
* - Clearing the id ("") with filter-by still true gets a 400, so false is added.
|
|
218
|
+
* - web-profile.enabled picks web profiles (true) or legacy settings (false).
|
|
219
|
+
* Linking a profile turns it on unless the caller set it. On create, Sophos
|
|
220
|
+
* defaults it to true even with no profile, so a new web control policy gets
|
|
221
|
+
* it explicitly: true with a profile, false (legacy settings) without.
|
|
222
|
+
* Returns the settings to send and the web profile keys to read back.
|
|
223
|
+
*/
|
|
224
|
+
export function prepareWebProfileSettings(settings, createType) {
|
|
225
|
+
const out = { ...(settings ?? {}) };
|
|
226
|
+
const hasId = WEB_PROFILE_ID in out;
|
|
227
|
+
const id = settingValue(out, WEB_PROFILE_ID);
|
|
228
|
+
const linking = hasId && typeof id === "string" && id !== "";
|
|
229
|
+
if (hasId) {
|
|
230
|
+
const filterBy = settingValue(out, FILTER_BY_WEB_PROFILE);
|
|
231
|
+
if (linking) {
|
|
232
|
+
if (filterBy === false) {
|
|
233
|
+
throw new Error(`${WEB_PROFILE_ID} only sticks when ${FILTER_BY_WEB_PROFILE} is true in the same write, and you sent false. Drop it or send true. Nothing was written.`);
|
|
234
|
+
}
|
|
235
|
+
out[FILTER_BY_WEB_PROFILE] = { value: true };
|
|
236
|
+
if (!(WEB_PROFILE_MODE in out))
|
|
237
|
+
out[WEB_PROFILE_MODE] = { value: true };
|
|
238
|
+
}
|
|
239
|
+
else {
|
|
240
|
+
if (filterBy === true) {
|
|
241
|
+
throw new Error(`Clearing ${WEB_PROFILE_ID} needs ${FILTER_BY_WEB_PROFILE} false in the same write (Sophos answers 400 "Invalid Web Profile Id" otherwise). Nothing was written.`);
|
|
242
|
+
}
|
|
243
|
+
out[FILTER_BY_WEB_PROFILE] = { value: false };
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
const webControl = createType === "web-control" || createType === "server-web-control";
|
|
247
|
+
if (webControl && !(WEB_PROFILE_MODE in out))
|
|
248
|
+
out[WEB_PROFILE_MODE] = { value: linking };
|
|
249
|
+
const sent = {};
|
|
250
|
+
for (const key of WEB_PROFILE_KEYS)
|
|
251
|
+
if (key in out)
|
|
252
|
+
sent[shortKey(key)] = settingValue(out, key);
|
|
253
|
+
return { settings: settings === undefined && Object.keys(out).length === 0 ? undefined : out, sent };
|
|
254
|
+
}
|
|
255
|
+
const shortKey = (key) => key.replace("endpoint.web-control.", "");
|
|
129
256
|
/**
|
|
130
257
|
* Reads the policy back by ID (the list lags by up to about 22 s; GET by ID
|
|
131
|
-
* does not) and reports what Sophos stored against what was sent
|
|
258
|
+
* does not) and reports what Sophos stored against what was sent: the
|
|
259
|
+
* assignment, the web profile settings, or both, from one GET.
|
|
132
260
|
*/
|
|
133
|
-
async function
|
|
261
|
+
async function readBack(client, tenantId, policyId, sent) {
|
|
262
|
+
const wantProfile = sent.webProfile && Object.keys(sent.webProfile).length > 0;
|
|
263
|
+
if (!sent.assignment && !wantProfile)
|
|
264
|
+
return {};
|
|
265
|
+
const result = {};
|
|
266
|
+
const warnings = [];
|
|
134
267
|
try {
|
|
135
268
|
const policy = await client.tenantRequest(tenantId, `/endpoint/v1/policies/${policyId}`);
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
assignment_matches
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
269
|
+
if (sent.assignment) {
|
|
270
|
+
const stored = storedAssignment(policy.appliesTo);
|
|
271
|
+
result.assignment_stored = stored;
|
|
272
|
+
result.assignment_matches = sameAssignment(sent.assignment, stored);
|
|
273
|
+
if (!result.assignment_matches) {
|
|
274
|
+
warnings.push("The stored assignment differs from what was sent. assignment_stored is what Sophos holds.");
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
if (wantProfile) {
|
|
278
|
+
const stored = {};
|
|
279
|
+
for (const key of Object.keys(sent.webProfile)) {
|
|
280
|
+
stored[key] = settingValue(policy.settings, `endpoint.web-control.${key}`) ?? null;
|
|
281
|
+
}
|
|
282
|
+
result.web_profile_sent = sent.webProfile;
|
|
283
|
+
result.web_profile_stored = stored;
|
|
284
|
+
result.web_profile_matches = Object.keys(stored).every((k) => stored[k] === sent.webProfile[k]);
|
|
285
|
+
if (!result.web_profile_matches) {
|
|
286
|
+
warnings.push("The stored web profile settings differ from what was sent. web_profile_stored is what Sophos holds.");
|
|
287
|
+
}
|
|
288
|
+
}
|
|
145
289
|
}
|
|
146
290
|
catch (error) {
|
|
147
|
-
|
|
148
|
-
assignment_stored: null,
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
};
|
|
291
|
+
if (sent.assignment)
|
|
292
|
+
Object.assign(result, { assignment_stored: null, assignment_matches: null });
|
|
293
|
+
if (wantProfile)
|
|
294
|
+
Object.assign(result, { web_profile_sent: sent.webProfile, web_profile_stored: null, web_profile_matches: null });
|
|
295
|
+
warnings.push(`The write succeeded but the read-back failed: ${message(error)}. Check with sophos_get_policy.`);
|
|
152
296
|
}
|
|
297
|
+
return warnings.length ? { ...result, warning: warnings.join(" ") } : result;
|
|
298
|
+
}
|
|
299
|
+
/**
|
|
300
|
+
* The whole set_policy_assignments path, shared with clone: read the policy,
|
|
301
|
+
* check, work out the target, write it with one PATCH (none when nothing
|
|
302
|
+
* would change) and read it back. Throws on a refusal before any write.
|
|
303
|
+
* targetsChecked skips the device target lookup when the caller already ran
|
|
304
|
+
* it against the same policy type.
|
|
305
|
+
*/
|
|
306
|
+
async function setPolicyAssignments(client, tenantId, policyId, mode, args, { targetsChecked = false } = {}) {
|
|
307
|
+
const kind = requestedAssignmentKind(args);
|
|
308
|
+
if (!kind) {
|
|
309
|
+
throw new Error("Pass at least one of users, user_groups, endpoints or endpoint_groups. Nothing was sent.");
|
|
310
|
+
}
|
|
311
|
+
const policy = await client.tenantRequest(tenantId, `/endpoint/v1/policies/${policyId}`);
|
|
312
|
+
if (kind === "user")
|
|
313
|
+
assertUserAssignable(policy.type);
|
|
314
|
+
else if (mode !== "remove" && !targetsChecked)
|
|
315
|
+
await assertDeviceTargets(client, tenantId, policy.type, args);
|
|
316
|
+
const before = storedAssignment(policy.appliesTo) ?? emptyAssignment(policy.type?.startsWith("server-") ? "device" : "user");
|
|
317
|
+
const request = assignmentFromArgs(kind, args);
|
|
318
|
+
const requestLists = assignmentLists(request);
|
|
319
|
+
const beforeLists = before.kind === kind ? assignmentLists(before) : [[], []];
|
|
320
|
+
let target;
|
|
321
|
+
let notAssigned;
|
|
322
|
+
if (mode === "replace") {
|
|
323
|
+
target = request;
|
|
324
|
+
}
|
|
325
|
+
else if (mode === "add") {
|
|
326
|
+
if (before.kind !== kind && assignmentSize(before) > 0) {
|
|
327
|
+
throw new Error(`Policy ${policyId} is a ${before.kind} policy with ${assignmentSize(before)} assignment(s), and a policy cannot mix user and device assignments. Use mode "replace" to make it a ${kind} policy, which drops the current assignments. Nothing was written.`);
|
|
328
|
+
}
|
|
329
|
+
const [a, b] = requestLists.map((ids, i) => uniq([...beforeLists[i], ...ids]));
|
|
330
|
+
target = kind === "user" ? { kind, users: a, user_groups: b } : { kind, endpoints: a, endpoint_groups: b };
|
|
331
|
+
}
|
|
332
|
+
else {
|
|
333
|
+
if (before.kind !== kind) {
|
|
334
|
+
target = before;
|
|
335
|
+
notAssigned = request;
|
|
336
|
+
}
|
|
337
|
+
else {
|
|
338
|
+
const [a, b] = beforeLists.map((ids, i) => ids.filter((id) => !requestLists[i].includes(id)));
|
|
339
|
+
target = kind === "user" ? { kind, users: a, user_groups: b } : { kind, endpoints: a, endpoint_groups: b };
|
|
340
|
+
const [x, y] = requestLists.map((ids, i) => ids.filter((id) => !beforeLists[i].includes(id)));
|
|
341
|
+
if (x.length + y.length > 0) {
|
|
342
|
+
notAssigned = kind === "user" ? { kind, users: x, user_groups: y } : { kind, endpoints: x, endpoint_groups: y };
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
const summary = {
|
|
347
|
+
policy_id: policyId,
|
|
348
|
+
name: policy.name,
|
|
349
|
+
type: policy.type,
|
|
350
|
+
mode,
|
|
351
|
+
assignment_before: before,
|
|
352
|
+
...(notAssigned ? { not_assigned: notAssigned } : {}),
|
|
353
|
+
};
|
|
354
|
+
if (sameAssignment(target, before)) {
|
|
355
|
+
return { status: "unchanged", ...summary, message: "Nothing to change, so nothing was written." };
|
|
356
|
+
}
|
|
357
|
+
await client.tenantRequest(tenantId, `/endpoint/v1/policies/${policyId}`, {
|
|
358
|
+
method: "PATCH",
|
|
359
|
+
body: { appliesTo: toAppliesTo(target) },
|
|
360
|
+
});
|
|
361
|
+
return {
|
|
362
|
+
status: "updated",
|
|
363
|
+
...summary,
|
|
364
|
+
assignment_sent: target,
|
|
365
|
+
...(await readBack(client, tenantId, policyId, { assignment: target })),
|
|
366
|
+
};
|
|
153
367
|
}
|
|
154
368
|
export function registerPolicyTools(server, client, tenantResolver) {
|
|
155
369
|
// --- List Policies ---
|
|
@@ -273,12 +487,21 @@ device keys on a user policy turn it into a device policy (and back): the kind
|
|
|
273
487
|
follows which keys the assignment carries. To add or remove a few IDs without
|
|
274
488
|
restating the rest, use sophos_set_policy_assignments. Never mix user and
|
|
275
489
|
device keys; server policies (server-*) take only endpoints and
|
|
276
|
-
endpoint_groups
|
|
490
|
+
endpoint_groups, and computer policies only computer endpoints and groups (the
|
|
491
|
+
IDs are looked up). Each is refused before anything is written.
|
|
277
492
|
endpoint_groups is always sent with an endpoints key, because endpoint groups
|
|
278
493
|
on their own get a 500 from Sophos. After the write the policy is read back by
|
|
279
494
|
ID: assignment_stored is what Sophos holds and assignment_matches compares it
|
|
280
495
|
with assignment_sent.
|
|
281
496
|
|
|
497
|
+
Web profile: endpoint.web-control.web-profile-id only sticks when
|
|
498
|
+
filter-by-web-profile.enabled is true in the same write (otherwise Sophos
|
|
499
|
+
answers 200 and keeps the old value), so the tool adds it, and adds
|
|
500
|
+
web-profile.enabled true (web profiles rather than legacy settings) unless you
|
|
501
|
+
set it. Clearing the ID with "" adds filter-by-web-profile.enabled false, which
|
|
502
|
+
Sophos needs. The result reads them back: web_profile_stored and
|
|
503
|
+
web_profile_matches.
|
|
504
|
+
|
|
282
505
|
Args:
|
|
283
506
|
- policy_id (string): The policy ID to update.
|
|
284
507
|
- tenant_id (string, optional): Tenant ID. Required for partner/org callers.
|
|
@@ -321,6 +544,7 @@ Args:
|
|
|
321
544
|
}, withErrorHandling(async ({ policy_id, tenant_id, name, enabled, priority, enforced, settings, ...assignmentArgs }) => {
|
|
322
545
|
const resolvedTenantId = tenantResolver.resolveTenantId(tenant_id);
|
|
323
546
|
const kind = requestedAssignmentKind(assignmentArgs);
|
|
547
|
+
const webProfile = prepareWebProfileSettings(settings);
|
|
324
548
|
const body = {};
|
|
325
549
|
if (name !== undefined)
|
|
326
550
|
body.name = name;
|
|
@@ -330,8 +554,8 @@ Args:
|
|
|
330
554
|
body.priority = priority;
|
|
331
555
|
if (enforced !== undefined)
|
|
332
556
|
body.enforced = enforced;
|
|
333
|
-
if (settings !== undefined)
|
|
334
|
-
body.settings = settings;
|
|
557
|
+
if (webProfile.settings !== undefined)
|
|
558
|
+
body.settings = webProfile.settings;
|
|
335
559
|
if (Object.keys(body).length === 0 && !kind) {
|
|
336
560
|
return jsonResult({
|
|
337
561
|
error: "No fields to update. Provide at least one of: name, enabled, priority, enforced, settings, users, user_groups, endpoints, endpoint_groups.",
|
|
@@ -339,10 +563,8 @@ Args:
|
|
|
339
563
|
}
|
|
340
564
|
let sent;
|
|
341
565
|
if (kind) {
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
assertUserAssignable(current.type);
|
|
345
|
-
}
|
|
566
|
+
const current = await client.tenantRequest(resolvedTenantId, `/endpoint/v1/policies/${policy_id}`);
|
|
567
|
+
await validateAssignment(client, resolvedTenantId, current.type, kind, assignmentArgs);
|
|
346
568
|
sent = assignmentFromArgs(kind, assignmentArgs);
|
|
347
569
|
body.appliesTo = toAppliesTo(sent);
|
|
348
570
|
}
|
|
@@ -350,9 +572,8 @@ Args:
|
|
|
350
572
|
return jsonResult({
|
|
351
573
|
status: "updated",
|
|
352
574
|
policy: formatPolicy(updated),
|
|
353
|
-
...(sent
|
|
354
|
-
|
|
355
|
-
: {}),
|
|
575
|
+
...(sent ? { assignment_sent: sent } : {}),
|
|
576
|
+
...(await readBack(client, resolvedTenantId, policy_id, { assignment: sent, webProfile: webProfile.sent })),
|
|
356
577
|
});
|
|
357
578
|
}));
|
|
358
579
|
// --- Clone Policy ---
|
|
@@ -364,10 +585,24 @@ Creates a copy of the source policy with a new name. The cloned policy starts
|
|
|
364
585
|
as disabled and inherits all settings from the source. Useful for creating
|
|
365
586
|
variants of existing policies.
|
|
366
587
|
|
|
588
|
+
Without assignment arguments the clone keeps the source's assignment (and starts
|
|
589
|
+
disabled even when the source is enabled; measured 13/10/2026).
|
|
590
|
+
|
|
591
|
+
Assignment (optional): users, user_groups, endpoints and endpoint_groups (plain
|
|
592
|
+
ID arrays) become the clone's whole assignment, through the same path as
|
|
593
|
+
sophos_set_policy_assignments with mode replace. The same rules apply and are
|
|
594
|
+
checked against the source policy's type before the clone is made: never mix
|
|
595
|
+
user and device keys, server policies take only server endpoints and groups,
|
|
596
|
+
computer policies only computer ones. The result shows what the clone inherited
|
|
597
|
+
(assignment_before) and what Sophos stored (assignment_stored). If the clone is
|
|
598
|
+
made but the assignment write fails, the result still gives the clone's ID,
|
|
599
|
+
with assignment_error.
|
|
600
|
+
|
|
367
601
|
Args:
|
|
368
602
|
- source_policy_id (string): The policy ID to clone.
|
|
369
603
|
- name (string): Name for the new cloned policy.
|
|
370
|
-
- tenant_id (string, optional): Tenant ID. Required for partner/org callers
|
|
604
|
+
- tenant_id (string, optional): Tenant ID. Required for partner/org callers.
|
|
605
|
+
- users, user_groups, endpoints, endpoint_groups (string arrays, optional): The clone's whole assignment.`,
|
|
371
606
|
inputSchema: {
|
|
372
607
|
source_policy_id: z.string().uuid().describe("Policy ID to clone from"),
|
|
373
608
|
name: z.string().describe("Name for the cloned policy"),
|
|
@@ -376,6 +611,7 @@ Args:
|
|
|
376
611
|
.uuid()
|
|
377
612
|
.optional()
|
|
378
613
|
.describe("Tenant ID. Required for partner/org callers."),
|
|
614
|
+
...assignmentInputSchema,
|
|
379
615
|
},
|
|
380
616
|
annotations: {
|
|
381
617
|
readOnlyHint: false,
|
|
@@ -383,13 +619,29 @@ Args:
|
|
|
383
619
|
idempotentHint: false,
|
|
384
620
|
openWorldHint: true,
|
|
385
621
|
},
|
|
386
|
-
}, withErrorHandling(async ({ source_policy_id, name, tenant_id }) => {
|
|
622
|
+
}, withErrorHandling(async ({ source_policy_id, name, tenant_id, ...assignmentArgs }) => {
|
|
387
623
|
const resolvedTenantId = tenantResolver.resolveTenantId(tenant_id);
|
|
624
|
+
const kind = requestedAssignmentKind(assignmentArgs);
|
|
625
|
+
if (kind) {
|
|
626
|
+
const source = await client.tenantRequest(resolvedTenantId, `/endpoint/v1/policies/${source_policy_id}`);
|
|
627
|
+
await validateAssignment(client, resolvedTenantId, source.type, kind, assignmentArgs);
|
|
628
|
+
}
|
|
388
629
|
const created = await client.tenantRequest(resolvedTenantId, `/endpoint/v1/policies/${source_policy_id}/clone`, { method: "POST", body: { name } });
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
630
|
+
const result = { status: "cloned", policy: formatPolicy(created) };
|
|
631
|
+
if (!kind)
|
|
632
|
+
return jsonResult(result);
|
|
633
|
+
try {
|
|
634
|
+
const assignment = await setPolicyAssignments(client, resolvedTenantId, created.id, "replace", assignmentArgs, {
|
|
635
|
+
targetsChecked: true,
|
|
636
|
+
});
|
|
637
|
+
return jsonResult({ ...result, assignment });
|
|
638
|
+
}
|
|
639
|
+
catch (error) {
|
|
640
|
+
return jsonResult({
|
|
641
|
+
...result,
|
|
642
|
+
assignment_error: `${message(error)} The clone ${created.id} exists without the requested assignment.`,
|
|
643
|
+
});
|
|
644
|
+
}
|
|
393
645
|
}));
|
|
394
646
|
// --- Create Policy ---
|
|
395
647
|
server.registerTool("sophos_create_policy", {
|
|
@@ -402,10 +654,22 @@ policy) or to endpoints and endpoint groups (a device policy), never both.
|
|
|
402
654
|
There is no type field: the kind follows which keys you send. A computer policy
|
|
403
655
|
created with no assignment is an unassigned user policy. Server policies
|
|
404
656
|
(server-*) take only endpoints and endpoint_groups. A mix, or user keys on a
|
|
405
|
-
server policy, is refused before anything is sent.
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
657
|
+
server policy, is refused before anything is sent. Endpoint and group IDs are
|
|
658
|
+
looked up first: a server endpoint or group on a computer policy (which Sophos
|
|
659
|
+
accepts but never applies) or the reverse is refused, as is an ID the tenant
|
|
660
|
+
does not have. endpoint_groups is always sent with an endpoints key, because
|
|
661
|
+
endpoint groups on their own get a 500 from Sophos. With an assignment, the new
|
|
662
|
+
policy is read back by ID: assignment_stored is what Sophos holds and
|
|
663
|
+
assignment_matches compares it with assignment_sent.
|
|
664
|
+
|
|
665
|
+
Web control (web-control, server-web-control): Sophos defaults a policy created
|
|
666
|
+
through the API to endpoint.web-control.web-profile.enabled true (web profiles,
|
|
667
|
+
not legacy settings) even with no profile. This tool sets it explicitly from
|
|
668
|
+
what you send: true when settings carry a web-profile-id, false (legacy
|
|
669
|
+
settings) otherwise, unless you set it yourself. A web-profile-id only sticks
|
|
670
|
+
with filter-by-web-profile.enabled true in the same write, so the tool adds
|
|
671
|
+
that too. The new policy is read back: web_profile_stored and
|
|
672
|
+
web_profile_matches.
|
|
409
673
|
|
|
410
674
|
Listing lag: the new policy can take up to about 25 seconds to appear in
|
|
411
675
|
sophos_list_policies (measured 1.6 to 21.8 s). sophos_get_policy by ID works at
|
|
@@ -432,13 +696,16 @@ Args:
|
|
|
432
696
|
}, withErrorHandling(async ({ tenant_id, name, type, enabled, priority, settings, ...assignmentArgs }) => {
|
|
433
697
|
const resolvedTenantId = tenantResolver.resolveTenantId(tenant_id);
|
|
434
698
|
const kind = requestedAssignmentKind(assignmentArgs, type);
|
|
699
|
+
const webProfile = prepareWebProfileSettings(settings, type);
|
|
435
700
|
const body = { name, type };
|
|
436
701
|
if (enabled !== undefined)
|
|
437
702
|
body.enabled = enabled;
|
|
438
703
|
if (priority !== undefined)
|
|
439
704
|
body.priority = priority;
|
|
440
|
-
if (settings !== undefined)
|
|
441
|
-
body.settings = settings;
|
|
705
|
+
if (webProfile.settings !== undefined)
|
|
706
|
+
body.settings = webProfile.settings;
|
|
707
|
+
if (kind)
|
|
708
|
+
await validateAssignment(client, resolvedTenantId, type, kind, assignmentArgs);
|
|
442
709
|
const sent = kind ? assignmentFromArgs(kind, assignmentArgs) : undefined;
|
|
443
710
|
if (sent)
|
|
444
711
|
body.appliesTo = toAppliesTo(sent);
|
|
@@ -446,9 +713,8 @@ Args:
|
|
|
446
713
|
return jsonResult({
|
|
447
714
|
status: "created",
|
|
448
715
|
policy: formatPolicy(created),
|
|
449
|
-
...(sent
|
|
450
|
-
|
|
451
|
-
: {}),
|
|
716
|
+
...(sent ? { assignment_sent: sent } : {}),
|
|
717
|
+
...(await readBack(client, resolvedTenantId, created.id, { assignment: sent, webProfile: webProfile.sent })),
|
|
452
718
|
});
|
|
453
719
|
}));
|
|
454
720
|
// --- Delete Policy ---
|
|
@@ -488,7 +754,10 @@ keys the assignment carries, so replace with device keys turns a user policy
|
|
|
488
754
|
into a device policy, and back. Never mix user and device keys in one call.
|
|
489
755
|
add refuses a kind change while the policy still has assignments of the other
|
|
490
756
|
kind; use replace for that. Server policies (server-*) take only endpoints and
|
|
491
|
-
endpoint_groups.
|
|
757
|
+
endpoint_groups. Endpoint and group IDs being added are looked up: a server
|
|
758
|
+
endpoint or group on a computer policy (which Sophos accepts but never applies)
|
|
759
|
+
or the reverse is refused, as is an ID the tenant does not have. Refusals
|
|
760
|
+
happen before anything is written.
|
|
492
761
|
|
|
493
762
|
The policy is read first, written with one PATCH (none when nothing would
|
|
494
763
|
change), then read back by ID. The result shows assignment_before,
|
|
@@ -513,65 +782,7 @@ Args:
|
|
|
513
782
|
annotations: { readOnlyHint: false, destructiveHint: true, idempotentHint: true, openWorldHint: true },
|
|
514
783
|
}, withErrorHandling(async ({ policy_id, mode, tenant_id, ...assignmentArgs }) => {
|
|
515
784
|
const resolvedTenantId = tenantResolver.resolveTenantId(tenant_id);
|
|
516
|
-
|
|
517
|
-
if (!kind) {
|
|
518
|
-
throw new Error("Pass at least one of users, user_groups, endpoints or endpoint_groups. Nothing was sent.");
|
|
519
|
-
}
|
|
520
|
-
const policy = await client.tenantRequest(resolvedTenantId, `/endpoint/v1/policies/${policy_id}`);
|
|
521
|
-
if (kind === "user")
|
|
522
|
-
assertUserAssignable(policy.type);
|
|
523
|
-
const before = storedAssignment(policy.appliesTo) ?? emptyAssignment(policy.type?.startsWith("server-") ? "device" : "user");
|
|
524
|
-
const request = assignmentFromArgs(kind, assignmentArgs);
|
|
525
|
-
const requestLists = assignmentLists(request);
|
|
526
|
-
const beforeLists = before.kind === kind ? assignmentLists(before) : [[], []];
|
|
527
|
-
let target;
|
|
528
|
-
let notAssigned;
|
|
529
|
-
if (mode === "replace") {
|
|
530
|
-
target = request;
|
|
531
|
-
}
|
|
532
|
-
else if (mode === "add") {
|
|
533
|
-
if (before.kind !== kind && assignmentSize(before) > 0) {
|
|
534
|
-
throw new Error(`Policy ${policy_id} is a ${before.kind} policy with ${assignmentSize(before)} assignment(s), and a policy cannot mix user and device assignments. Use mode "replace" to make it a ${kind} policy, which drops the current assignments. Nothing was written.`);
|
|
535
|
-
}
|
|
536
|
-
const [a, b] = requestLists.map((ids, i) => uniq([...beforeLists[i], ...ids]));
|
|
537
|
-
target = kind === "user" ? { kind, users: a, user_groups: b } : { kind, endpoints: a, endpoint_groups: b };
|
|
538
|
-
}
|
|
539
|
-
else {
|
|
540
|
-
if (before.kind !== kind) {
|
|
541
|
-
target = before;
|
|
542
|
-
notAssigned = request;
|
|
543
|
-
}
|
|
544
|
-
else {
|
|
545
|
-
const [a, b] = beforeLists.map((ids, i) => ids.filter((id) => !requestLists[i].includes(id)));
|
|
546
|
-
target = kind === "user" ? { kind, users: a, user_groups: b } : { kind, endpoints: a, endpoint_groups: b };
|
|
547
|
-
const [x, y] = requestLists.map((ids, i) => ids.filter((id) => !beforeLists[i].includes(id)));
|
|
548
|
-
if (x.length + y.length > 0) {
|
|
549
|
-
notAssigned =
|
|
550
|
-
kind === "user" ? { kind, users: x, user_groups: y } : { kind, endpoints: x, endpoint_groups: y };
|
|
551
|
-
}
|
|
552
|
-
}
|
|
553
|
-
}
|
|
554
|
-
const summary = {
|
|
555
|
-
policy_id,
|
|
556
|
-
name: policy.name,
|
|
557
|
-
type: policy.type,
|
|
558
|
-
mode,
|
|
559
|
-
assignment_before: before,
|
|
560
|
-
...(notAssigned ? { not_assigned: notAssigned } : {}),
|
|
561
|
-
};
|
|
562
|
-
if (sameAssignment(target, before)) {
|
|
563
|
-
return jsonResult({ status: "unchanged", ...summary, message: "Nothing to change, so nothing was written." });
|
|
564
|
-
}
|
|
565
|
-
await client.tenantRequest(resolvedTenantId, `/endpoint/v1/policies/${policy_id}`, {
|
|
566
|
-
method: "PATCH",
|
|
567
|
-
body: { appliesTo: toAppliesTo(target) },
|
|
568
|
-
});
|
|
569
|
-
return jsonResult({
|
|
570
|
-
status: "updated",
|
|
571
|
-
...summary,
|
|
572
|
-
assignment_sent: target,
|
|
573
|
-
...(await readBackAssignment(client, resolvedTenantId, policy_id, target)),
|
|
574
|
-
});
|
|
785
|
+
return jsonResult(await setPolicyAssignments(client, resolvedTenantId, policy_id, mode, assignmentArgs));
|
|
575
786
|
}));
|
|
576
787
|
}
|
|
577
788
|
function formatPolicy(p) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policies.js","sourceRoot":"","sources":["../../src/tools/policies.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"policies.js","sourceRoot":"","sources":["../../src/tools/policies.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web-filtering.d.ts","sourceRoot":"","sources":["../../src/tools/web-filtering.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"web-filtering.d.ts","sourceRoot":"","sources":["../../src/tools/web-filtering.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AA2DnE,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,YAAY,EACpB,cAAc,EAAE,cAAc,GAC7B,IAAI,CA2mBN"}
|
|
@@ -20,12 +20,6 @@ const siteListActionSchema = z.object({
|
|
|
20
20
|
action: z.enum(["allow", "block", "warn"]).describe("Action"),
|
|
21
21
|
priority: z.coerce.number().int().describe("Priority"),
|
|
22
22
|
});
|
|
23
|
-
const consumerSchema = z.object({
|
|
24
|
-
type: z
|
|
25
|
-
.enum(["computerWebControlPolicy", "serverWebControlPolicy"])
|
|
26
|
-
.describe("Consumer policy type"),
|
|
27
|
-
id: z.string().describe("Consumer policy ID"),
|
|
28
|
-
});
|
|
29
23
|
const tenantIdSchema = z
|
|
30
24
|
.string()
|
|
31
25
|
.uuid()
|
|
@@ -62,8 +56,6 @@ function buildProfileBody(args) {
|
|
|
62
56
|
body.filterBySiteList = args.filter_by_site_list;
|
|
63
57
|
if (args.site_list_actions)
|
|
64
58
|
body.siteListActions = args.site_list_actions;
|
|
65
|
-
if (args.consumers)
|
|
66
|
-
body.consumers = args.consumers;
|
|
67
59
|
return body;
|
|
68
60
|
}
|
|
69
61
|
export function registerWebFilteringTools(server, client, tenantResolver) {
|
|
@@ -117,6 +109,12 @@ Args:
|
|
|
117
109
|
title: "Create Web Filtering Profile",
|
|
118
110
|
description: `Create a web filtering profile.
|
|
119
111
|
|
|
112
|
+
A profile is linked to a policy from the policy side only: set
|
|
113
|
+
endpoint.web-control.web-profile-id in a web control policy's settings with
|
|
114
|
+
sophos_update_policy or sophos_create_policy. Sophos ignores consumers on a
|
|
115
|
+
profile write (accepted, nothing linked; measured 13/10/2026), so this tool
|
|
116
|
+
does not send it. The profile's consumers list is read-only.
|
|
117
|
+
|
|
120
118
|
Args:
|
|
121
119
|
- name (string): Profile name.
|
|
122
120
|
- description (string, optional): Profile description.
|
|
@@ -126,7 +124,6 @@ Args:
|
|
|
126
124
|
- category_actions (array, optional): [{name, action: allow|block|warn}].
|
|
127
125
|
- filter_by_site_list (boolean, optional): Enable site list filtering.
|
|
128
126
|
- site_list_actions (array, optional): [{id, action: allow|block|warn, priority}].
|
|
129
|
-
- consumers (array, optional): [{type: computerWebControlPolicy|serverWebControlPolicy, id}].
|
|
130
127
|
- tenant_id (string, optional): Tenant ID. Required for partner/org callers.`,
|
|
131
128
|
inputSchema: {
|
|
132
129
|
name: z.string().describe("Profile name"),
|
|
@@ -149,10 +146,6 @@ Args:
|
|
|
149
146
|
.array(siteListActionSchema)
|
|
150
147
|
.optional()
|
|
151
148
|
.describe("Site list actions"),
|
|
152
|
-
consumers: z
|
|
153
|
-
.array(consumerSchema)
|
|
154
|
-
.optional()
|
|
155
|
-
.describe("Web control policies consuming this profile"),
|
|
156
149
|
tenant_id: tenantIdSchema,
|
|
157
150
|
},
|
|
158
151
|
annotations: {
|
|
@@ -172,7 +165,9 @@ Args:
|
|
|
172
165
|
description: `Update (replace) a web filtering profile.
|
|
173
166
|
|
|
174
167
|
PUT semantics: the supplied fields replace the stored profile, so fetch the
|
|
175
|
-
profile first and send the complete desired state.
|
|
168
|
+
profile first and send the complete desired state. consumers is not sent:
|
|
169
|
+
Sophos ignores it on a profile write, and policies link to a profile through
|
|
170
|
+
their own web-profile-id setting (sophos_update_policy).
|
|
176
171
|
|
|
177
172
|
Args: same as sophos_create_web_filtering_profile, plus:
|
|
178
173
|
- profile_id (string): Web filtering profile ID.`,
|
|
@@ -198,10 +193,6 @@ Args: same as sophos_create_web_filtering_profile, plus:
|
|
|
198
193
|
.array(siteListActionSchema)
|
|
199
194
|
.optional()
|
|
200
195
|
.describe("Site list actions"),
|
|
201
|
-
consumers: z
|
|
202
|
-
.array(consumerSchema)
|
|
203
|
-
.optional()
|
|
204
|
-
.describe("Web control policies consuming this profile"),
|
|
205
196
|
tenant_id: tenantIdSchema,
|
|
206
197
|
},
|
|
207
198
|
annotations: {
|
|
@@ -280,7 +271,10 @@ Args:
|
|
|
280
271
|
}, withErrorHandling(async ({ tenant_id }) => {
|
|
281
272
|
const resolvedTenantId = tenantResolver.resolveTenantId(tenant_id);
|
|
282
273
|
const data = await client.tenantRequest(resolvedTenantId, "/web-filters/v1/profiles/metadata",
|
|
283
|
-
//
|
|
274
|
+
// Accept-Language must be absent or a bare language tag such as "en" or "fr"
|
|
275
|
+
// (labels come back in that language). "*", "en-US" and lists get a 400
|
|
276
|
+
// "Invalid format of argument" (measured 13/10/2026), and Node's fetch sends
|
|
277
|
+
// "*" when no header is set, so "en" is sent explicitly.
|
|
284
278
|
{ headers: { "Accept-Language": "en" } });
|
|
285
279
|
return jsonResult(data);
|
|
286
280
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web-filtering.js","sourceRoot":"","sources":["../../src/tools/web-filtering.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"web-filtering.js","sourceRoot":"","sources":["../../src/tools/web-filtering.ts"],"names":[],"mappings":"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"}
|