isc-transforms-mcp 1.0.22 → 1.0.23

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/dist/allowlist.js CHANGED
@@ -28,9 +28,16 @@ const RULES = [
28
28
  { method: "PATCH", pathPrefix: "/v2024/form-instances", modes: ["write"] } // patch-form-instance
29
29
  ];
30
30
  export function isAllowed(mode, method, path) {
31
- return RULES.some(r => r.method === method &&
32
- path.startsWith(r.pathPrefix) &&
33
- r.modes.includes(mode));
31
+ return RULES.some(r => {
32
+ if (r.method !== method || !r.modes.includes(mode))
33
+ return false;
34
+ if (!path.startsWith(r.pathPrefix))
35
+ return false;
36
+ // Ensure prefix is followed by end-of-string, '/', or '?' to prevent
37
+ // matching unintended paths (e.g. /v3/transforms-evil matching /v3/transforms)
38
+ const rest = path.slice(r.pathPrefix.length);
39
+ return rest === "" || rest[0] === "/" || rest[0] === "?";
40
+ });
34
41
  }
35
42
  export function getAllowlist() {
36
43
  return RULES;
package/dist/redact.js CHANGED
@@ -4,7 +4,14 @@ const SECRET_KEYS = new Set([
4
4
  "refresh_token",
5
5
  "client_secret",
6
6
  "secret",
7
- "token"
7
+ "token",
8
+ "password",
9
+ "api_key",
10
+ "apikey",
11
+ "bearer",
12
+ "pat_client_secret",
13
+ "credential",
14
+ "credentials",
8
15
  ]);
9
16
  export function redactDeep(obj) {
10
17
  return redactAny(obj);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "isc-transforms-mcp",
3
- "version": "1.0.22",
3
+ "version": "1.0.23",
4
4
  "type": "module",
5
5
  "description": "MCP server for SailPoint Identity Security Cloud (ISC) Transform authoring — scaffold, strict lint, catalog, and safe upsert to live tenants.",
6
6
  "author": {
@@ -59,12 +59,15 @@
59
59
  "@modelcontextprotocol/sdk": "^1.0.0",
60
60
  "ajv": "^8.18.0",
61
61
  "ajv-formats": "^3.0.1",
62
+ "cors": "^2.8.6",
62
63
  "dotenv": "^16.4.5",
63
64
  "express": "^4.22.1",
65
+ "express-rate-limit": "^8.3.1",
64
66
  "fast-json-patch": "^3.1.1",
65
67
  "zod": "^3.23.8"
66
68
  },
67
69
  "devDependencies": {
70
+ "@types/cors": "^2.8.19",
68
71
  "@types/express": "^4.17.25",
69
72
  "@types/node": "^22.10.0",
70
73
  "tsx": "^4.19.2",