ssh-mcp-pro 1.2.3 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (200) hide show
  1. package/CHANGELOG.md +55 -0
  2. package/README.md +12 -2
  3. package/dist/agent-bin.js +5 -2
  4. package/dist/agent-bin.js.map +1 -1
  5. package/dist/cli.d.ts +1 -0
  6. package/dist/cli.d.ts.map +1 -1
  7. package/dist/cli.js +38 -47
  8. package/dist/cli.js.map +1 -1
  9. package/dist/config-security-env.d.ts +4 -0
  10. package/dist/config-security-env.d.ts.map +1 -0
  11. package/dist/config-security-env.js +64 -0
  12. package/dist/config-security-env.js.map +1 -0
  13. package/dist/config.d.ts +2 -2
  14. package/dist/config.d.ts.map +1 -1
  15. package/dist/config.js +4 -67
  16. package/dist/config.js.map +1 -1
  17. package/dist/connector-profile.d.ts +1 -1
  18. package/dist/connector-profile.d.ts.map +1 -1
  19. package/dist/detect.d.ts.map +1 -1
  20. package/dist/detect.js +226 -192
  21. package/dist/detect.js.map +1 -1
  22. package/dist/ensure-package-service.d.ts +9 -0
  23. package/dist/ensure-package-service.d.ts.map +1 -0
  24. package/dist/ensure-package-service.js +146 -0
  25. package/dist/ensure-package-service.js.map +1 -0
  26. package/dist/ensure-pkg.js +4 -4
  27. package/dist/ensure-pkg.js.map +1 -1
  28. package/dist/ensure.d.ts.map +1 -1
  29. package/dist/ensure.js +15 -144
  30. package/dist/ensure.js.map +1 -1
  31. package/dist/fs-sftp.js +1 -1
  32. package/dist/fs-sftp.js.map +1 -1
  33. package/dist/fs-stat.d.ts +10 -0
  34. package/dist/fs-stat.d.ts.map +1 -0
  35. package/dist/fs-stat.js +62 -0
  36. package/dist/fs-stat.js.map +1 -0
  37. package/dist/fs-tools.d.ts.map +1 -1
  38. package/dist/fs-tools.js +6 -58
  39. package/dist/fs-tools.js.map +1 -1
  40. package/dist/http-security.d.ts.map +1 -1
  41. package/dist/http-security.js +6 -6
  42. package/dist/http-security.js.map +1 -1
  43. package/dist/http-server-runtime.d.ts.map +1 -1
  44. package/dist/http-server-runtime.js +41 -7
  45. package/dist/http-server-runtime.js.map +1 -1
  46. package/dist/index.js +6 -23
  47. package/dist/index.js.map +1 -1
  48. package/dist/mcp-http-web.d.ts +8 -0
  49. package/dist/mcp-http-web.d.ts.map +1 -0
  50. package/dist/mcp-http-web.js +35 -0
  51. package/dist/mcp-http-web.js.map +1 -0
  52. package/dist/mcp.d.ts +6 -2
  53. package/dist/mcp.d.ts.map +1 -1
  54. package/dist/mcp.js +22 -14
  55. package/dist/mcp.js.map +1 -1
  56. package/dist/policy.d.ts +8 -0
  57. package/dist/policy.d.ts.map +1 -1
  58. package/dist/policy.js +147 -105
  59. package/dist/policy.js.map +1 -1
  60. package/dist/process.d.ts.map +1 -1
  61. package/dist/process.js +11 -7
  62. package/dist/process.js.map +1 -1
  63. package/dist/remote/agent-activity-log.d.ts +26 -0
  64. package/dist/remote/agent-activity-log.d.ts.map +1 -0
  65. package/dist/remote/agent-activity-log.js +211 -0
  66. package/dist/remote/agent-activity-log.js.map +1 -0
  67. package/dist/remote/agent-cli.d.ts.map +1 -1
  68. package/dist/remote/agent-cli.js +92 -25
  69. package/dist/remote/agent-cli.js.map +1 -1
  70. package/dist/remote/agent-executor.d.ts.map +1 -1
  71. package/dist/remote/agent-executor.js +22 -10
  72. package/dist/remote/agent-executor.js.map +1 -1
  73. package/dist/remote/agent-handler.d.ts +2 -0
  74. package/dist/remote/agent-handler.d.ts.map +1 -1
  75. package/dist/remote/agent-handler.js +4 -0
  76. package/dist/remote/agent-handler.js.map +1 -1
  77. package/dist/remote/config.d.ts.map +1 -1
  78. package/dist/remote/config.js +12 -1
  79. package/dist/remote/config.js.map +1 -1
  80. package/dist/remote/control-plane.d.ts +12 -0
  81. package/dist/remote/control-plane.d.ts.map +1 -1
  82. package/dist/remote/control-plane.js +164 -56
  83. package/dist/remote/control-plane.js.map +1 -1
  84. package/dist/remote/crypto.d.ts +9 -4
  85. package/dist/remote/crypto.d.ts.map +1 -1
  86. package/dist/remote/crypto.js +41 -9
  87. package/dist/remote/crypto.js.map +1 -1
  88. package/dist/remote/http-util.d.ts.map +1 -1
  89. package/dist/remote/http-util.js +14 -7
  90. package/dist/remote/http-util.js.map +1 -1
  91. package/dist/remote/mcp-tools.d.ts +7 -0
  92. package/dist/remote/mcp-tools.d.ts.map +1 -1
  93. package/dist/remote/mcp-tools.js +28 -0
  94. package/dist/remote/mcp-tools.js.map +1 -1
  95. package/dist/remote/oauth-handler.d.ts +30 -3
  96. package/dist/remote/oauth-handler.d.ts.map +1 -1
  97. package/dist/remote/oauth-handler.js +232 -18
  98. package/dist/remote/oauth-handler.js.map +1 -1
  99. package/dist/remote/policy.js +2 -2
  100. package/dist/remote/policy.js.map +1 -1
  101. package/dist/remote/schemas.d.ts +9 -9
  102. package/dist/remote/schemas.js +6 -6
  103. package/dist/remote/schemas.js.map +1 -1
  104. package/dist/remote/store.d.ts +38 -1
  105. package/dist/remote/store.d.ts.map +1 -1
  106. package/dist/remote/store.js +149 -11
  107. package/dist/remote/store.js.map +1 -1
  108. package/dist/remote/types.d.ts +14 -0
  109. package/dist/remote/types.d.ts.map +1 -1
  110. package/dist/remote/types.js.map +1 -1
  111. package/dist/remote/web-dashboard-client-config.d.ts +77 -0
  112. package/dist/remote/web-dashboard-client-config.d.ts.map +1 -0
  113. package/dist/remote/web-dashboard-client-config.js +81 -0
  114. package/dist/remote/web-dashboard-client-config.js.map +1 -0
  115. package/dist/remote/web-dashboard-html.d.ts +2 -0
  116. package/dist/remote/web-dashboard-html.d.ts.map +1 -0
  117. package/dist/remote/web-dashboard-html.js +433 -0
  118. package/dist/remote/web-dashboard-html.js.map +1 -0
  119. package/dist/remote/web-dashboard-oauth-users.d.ts +4 -0
  120. package/dist/remote/web-dashboard-oauth-users.d.ts.map +1 -0
  121. package/dist/remote/web-dashboard-oauth-users.js +78 -0
  122. package/dist/remote/web-dashboard-oauth-users.js.map +1 -0
  123. package/dist/remote/web-dashboard-static.d.ts +4 -0
  124. package/dist/remote/web-dashboard-static.d.ts.map +1 -0
  125. package/dist/remote/web-dashboard-static.js +19 -0
  126. package/dist/remote/web-dashboard-static.js.map +1 -0
  127. package/dist/remote/web-dashboard-styles.d.ts +2 -0
  128. package/dist/remote/web-dashboard-styles.d.ts.map +1 -0
  129. package/dist/remote/web-dashboard-styles.js +187 -0
  130. package/dist/remote/web-dashboard-styles.js.map +1 -0
  131. package/dist/remote/web-dashboard.d.ts +62 -0
  132. package/dist/remote/web-dashboard.d.ts.map +1 -0
  133. package/dist/remote/web-dashboard.js +467 -0
  134. package/dist/remote/web-dashboard.js.map +1 -0
  135. package/dist/retry.d.ts.map +1 -1
  136. package/dist/retry.js +6 -3
  137. package/dist/retry.js.map +1 -1
  138. package/dist/safety.d.ts.map +1 -1
  139. package/dist/safety.js +56 -6
  140. package/dist/safety.js.map +1 -1
  141. package/dist/session-auth.js +7 -7
  142. package/dist/session-auth.js.map +1 -1
  143. package/dist/session.d.ts +1 -0
  144. package/dist/session.d.ts.map +1 -1
  145. package/dist/session.js +44 -40
  146. package/dist/session.js.map +1 -1
  147. package/dist/shell.d.ts.map +1 -1
  148. package/dist/shell.js +5 -4
  149. package/dist/shell.js.map +1 -1
  150. package/dist/ssh-config.d.ts +2 -2
  151. package/dist/ssh-config.d.ts.map +1 -1
  152. package/dist/ssh-config.js +24 -20
  153. package/dist/ssh-config.js.map +1 -1
  154. package/dist/telemetry.d.ts.map +1 -1
  155. package/dist/telemetry.js +9 -2
  156. package/dist/telemetry.js.map +1 -1
  157. package/dist/tools/connector.provider.d.ts +1 -1
  158. package/dist/tools/connector.provider.d.ts.map +1 -1
  159. package/dist/tools/ensure.provider.d.ts +1 -1
  160. package/dist/tools/ensure.provider.d.ts.map +1 -1
  161. package/dist/tools/fs.provider.d.ts +1 -1
  162. package/dist/tools/fs.provider.d.ts.map +1 -1
  163. package/dist/tools/metadata.d.ts +1 -1
  164. package/dist/tools/metadata.d.ts.map +1 -1
  165. package/dist/tools/output-schemas.d.ts +27 -135
  166. package/dist/tools/output-schemas.d.ts.map +1 -1
  167. package/dist/tools/process.provider.d.ts +1 -1
  168. package/dist/tools/process.provider.d.ts.map +1 -1
  169. package/dist/tools/registry.d.ts +1 -1
  170. package/dist/tools/registry.d.ts.map +1 -1
  171. package/dist/tools/registry.js +16 -13
  172. package/dist/tools/registry.js.map +1 -1
  173. package/dist/tools/session.provider.d.ts +1 -1
  174. package/dist/tools/session.provider.d.ts.map +1 -1
  175. package/dist/tools/system.provider.d.ts +1 -1
  176. package/dist/tools/system.provider.d.ts.map +1 -1
  177. package/dist/tools/transfer.provider.d.ts +1 -1
  178. package/dist/tools/transfer.provider.d.ts.map +1 -1
  179. package/dist/tools/tunnel.provider.d.ts +1 -1
  180. package/dist/tools/tunnel.provider.d.ts.map +1 -1
  181. package/dist/tools/types.d.ts +1 -1
  182. package/dist/tools/types.d.ts.map +1 -1
  183. package/dist/transfer.js +2 -2
  184. package/dist/transfer.js.map +1 -1
  185. package/dist/types.js +1 -1
  186. package/dist/types.js.map +1 -1
  187. package/docs/adding-a-device.md +39 -17
  188. package/docs/agent-activity-monitor.md +34 -0
  189. package/docs/coolify.md +29 -0
  190. package/docs/development/dependency-management.md +1 -1
  191. package/docs/development/mcp-protocol-2026.md +33 -0
  192. package/docs/doppler-guide.md +34 -0
  193. package/docs/reference/compatibility.md +1 -1
  194. package/docs/security/dependency-audit-exceptions.md +3 -7
  195. package/docs/security/hosted-data-inventory.md +81 -0
  196. package/docs/sonarcloud-analysis.md +9 -0
  197. package/mcp.json +1 -1
  198. package/package.json +26 -21
  199. package/registry/ssh-mcp-pro/mcp.json +1 -1
  200. package/server.json +3 -3
package/dist/mcp.js CHANGED
@@ -1,12 +1,11 @@
1
- import { Server } from "@modelcontextprotocol/sdk/server/index.js";
2
- import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
3
- import { CallToolRequestSchema, GetPromptRequestSchema, ListResourcesRequestSchema, ListPromptsRequestSchema, ReadResourceRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
1
+ import { serveStdio } from "@modelcontextprotocol/server/stdio";
2
+ import { McpServer } from "@modelcontextprotocol/server";
4
3
  import { logger } from "./logging.js";
5
4
  import { listResources, readResource } from "./resources.js";
6
5
  import { getMCPPrompt, listMCPPrompts } from "./prompts.js";
7
6
  import { withSpan } from "./telemetry.js";
8
7
  import { createToolRegistry } from "./tools/index.js";
9
- export const SERVER_VERSION = "1.2.3"; // x-release-please-version
8
+ export const SERVER_VERSION = "1.4.0"; // x-release-please-version
10
9
  export const SERVER_NAME = "io.github.oaslananka/ssh-mcp-pro";
11
10
  function getSessionIdFromArgs(args) {
12
11
  if (typeof args !== "object" || args === null || Array.isArray(args)) {
@@ -41,13 +40,14 @@ function rateLimitErrorResult(toolName, rateCheck, scope, sessionId) {
41
40
  }
42
41
  export class SSHMCPServer {
43
42
  container;
43
+ mcpServer;
44
44
  server;
45
45
  registry;
46
46
  toolProfile;
47
47
  constructor(container) {
48
48
  this.container = container;
49
49
  this.toolProfile = container.config.get("connector").toolProfile;
50
- this.server = new Server({
50
+ this.mcpServer = new McpServer({
51
51
  name: SERVER_NAME,
52
52
  version: SERVER_VERSION,
53
53
  }, {
@@ -57,12 +57,13 @@ export class SSHMCPServer {
57
57
  prompts: {},
58
58
  },
59
59
  });
60
+ this.server = this.mcpServer.server;
60
61
  this.registry = createToolRegistry(container);
61
62
  this.setupHandlers();
62
63
  this.setupErrorHandling();
63
64
  }
64
65
  setupHandlers() {
65
- this.server.setRequestHandler(ListResourcesRequestSchema, async () => withSpan("mcp.list_resources", async (span) => {
66
+ this.server.setRequestHandler("resources/list", async () => withSpan("mcp.list_resources", (span) => {
66
67
  span.setAttribute("mcp.request.kind", "list_resources");
67
68
  span.setAttribute("mcp.tool_profile", this.toolProfile);
68
69
  return listResources(this.toolProfile);
@@ -71,7 +72,7 @@ export class SSHMCPServer {
71
72
  "mcp.request.kind": "list_resources",
72
73
  },
73
74
  }));
74
- this.server.setRequestHandler(ReadResourceRequestSchema, async (request) => withSpan("mcp.read_resource", async (span) => {
75
+ this.server.setRequestHandler("resources/read", async (request) => withSpan("mcp.read_resource", async (span) => {
75
76
  span.setAttribute("mcp.request.kind", "read_resource");
76
77
  span.setAttribute("mcp.resource.uri", request.params.uri);
77
78
  span.setAttribute("mcp.tool_profile", this.toolProfile);
@@ -82,7 +83,7 @@ export class SSHMCPServer {
82
83
  "mcp.resource.uri": request.params.uri,
83
84
  },
84
85
  }));
85
- this.server.setRequestHandler(ListPromptsRequestSchema, async () => withSpan("mcp.list_prompts", async (span) => {
86
+ this.server.setRequestHandler("prompts/list", async () => withSpan("mcp.list_prompts", (span) => {
86
87
  span.setAttribute("mcp.request.kind", "list_prompts");
87
88
  span.setAttribute("mcp.tool_profile", this.toolProfile);
88
89
  return listMCPPrompts(this.toolProfile);
@@ -91,7 +92,7 @@ export class SSHMCPServer {
91
92
  "mcp.request.kind": "list_prompts",
92
93
  },
93
94
  }));
94
- this.server.setRequestHandler(GetPromptRequestSchema, async (request) => withSpan("mcp.get_prompt", async (span) => {
95
+ this.server.setRequestHandler("prompts/get", async (request) => withSpan("mcp.get_prompt", (span) => {
95
96
  span.setAttribute("mcp.request.kind", "get_prompt");
96
97
  span.setAttribute("mcp.prompt.name", request.params.name);
97
98
  span.setAttribute("mcp.tool_profile", this.toolProfile);
@@ -102,10 +103,10 @@ export class SSHMCPServer {
102
103
  "mcp.prompt.name": request.params.name,
103
104
  },
104
105
  }));
105
- this.server.setRequestHandler(ListToolsRequestSchema, async () => ({
106
+ this.server.setRequestHandler("tools/list", async () => ({
106
107
  tools: this.registry.getAllTools(),
107
108
  }));
108
- this.server.setRequestHandler(CallToolRequestSchema, async (request) => withSpan("mcp.call_tool", async (span) => {
109
+ this.server.setRequestHandler("tools/call", async (request) => withSpan("mcp.call_tool", async (span) => {
109
110
  const { name, arguments: args } = request.params;
110
111
  span.setAttribute("mcp.request.kind", "call_tool");
111
112
  span.setAttribute("mcp.tool.name", name);
@@ -147,12 +148,19 @@ export class SSHMCPServer {
147
148
  });
148
149
  };
149
150
  }
151
+ /** Expose the configured SDK server to per-request 2026-era transport factories. */
152
+ getSdkServer() {
153
+ return this.mcpServer;
154
+ }
150
155
  async run() {
151
- const transport = new StdioServerTransport();
152
- await this.connect(transport);
156
+ // One SDK-managed connection serves both modern discover and legacy initialize.
157
+ serveStdio(() => new SSHMCPServer(this.container).getSdkServer(), {
158
+ onerror: (error) => logger.error("stdio MCP error", { error: error.message }),
159
+ });
160
+ logger.info("SSH MCP Server started successfully");
153
161
  }
154
162
  async connect(transport) {
155
- await this.server.connect(transport);
163
+ await this.mcpServer.connect(transport);
156
164
  logger.info("SSH MCP Server started successfully");
157
165
  }
158
166
  }
package/dist/mcp.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
package/dist/policy.d.ts CHANGED
@@ -57,6 +57,14 @@ export declare class PolicyEngine {
57
57
  constructor(config: PolicyConfig, observer?: PolicyDecisionObserver | undefined);
58
58
  getEffectivePolicy(): PolicyConfig;
59
59
  evaluate(context: PolicyContext): PolicyDecision;
60
+ private checkTunnelPolicy;
61
+ private checkTunnelBindHost;
62
+ private checkTunnelRemoteHost;
63
+ private checkTunnelPorts;
64
+ private checkCommandPolicy;
65
+ private checkPathPolicy;
66
+ private checkLocalPaths;
67
+ private checkRemotePaths;
60
68
  assertAllowed(context: PolicyContext): PolicyDecision;
61
69
  check(context: PolicyContext): PolicyDecision;
62
70
  explain(context: PolicyContext): PolicyDecision;
@@ -1 +1 @@
1
- {"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../src/policy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../src/policy.ts"],"names":[],"mappings":"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"}
package/dist/policy.js CHANGED
@@ -63,7 +63,8 @@ function resolveLocalExistingPrefix(normalizedPath) {
63
63
  while (true) {
64
64
  try {
65
65
  const resolvedPrefix = fs.realpathSync.native(candidate);
66
- return path.join(resolvedPrefix, ...pendingSegments.reverse());
66
+ pendingSegments.reverse();
67
+ return path.join(resolvedPrefix, ...pendingSegments);
67
68
  }
68
69
  catch {
69
70
  const parent = path.dirname(candidate);
@@ -79,7 +80,7 @@ export function normalizeRemotePosixPath(pathValue) {
79
80
  if (pathValue.includes("\0")) {
80
81
  throw new Error("Path contains NUL byte");
81
82
  }
82
- const unixSeparators = pathValue.replace(/\\/g, "/");
83
+ const unixSeparators = pathValue.replaceAll("\\", "/");
83
84
  const absolutePath = unixSeparators.startsWith("/") ? unixSeparators : `/${unixSeparators}`;
84
85
  const normalized = posixPath.normalize(absolutePath);
85
86
  return stripTrailingSeparators(normalized, "/", "/");
@@ -155,70 +156,9 @@ export class PolicyEngine {
155
156
  });
156
157
  }
157
158
  }
158
- if (context.action === "tunnel.local" || context.action === "tunnel.remote") {
159
- const bindHost = context.localBindHost;
160
- if (bindHost &&
161
- (this.config.tunnelDenyBindHosts ?? []).length > 0 &&
162
- matchesPolicyValue(bindHost, this.config.tunnelDenyBindHosts)) {
163
- return denied({
164
- mode,
165
- action: context.action,
166
- reason: `Tunnel bind host ${bindHost} is denied by policy`,
167
- hint: "Choose an allowed bind host or adjust tunnelDenyBindHosts.",
168
- });
169
- }
170
- if (bindHost &&
171
- (this.config.tunnelAllowBindHosts ?? []).length > 0 &&
172
- !matchesPolicyValue(bindHost, this.config.tunnelAllowBindHosts)) {
173
- return denied({
174
- mode,
175
- action: context.action,
176
- reason: `Tunnel bind host ${bindHost} is outside allowed policy`,
177
- hint: "Choose an allowed bind host or adjust tunnelAllowBindHosts.",
178
- });
179
- }
180
- const remoteHost = context.remoteHost;
181
- if (remoteHost &&
182
- (this.config.tunnelDenyRemoteHosts ?? []).length > 0 &&
183
- matchesPolicyValue(remoteHost, this.config.tunnelDenyRemoteHosts)) {
184
- return denied({
185
- mode,
186
- action: context.action,
187
- reason: `Tunnel remote host ${remoteHost} is denied by policy`,
188
- hint: "Choose an allowed remote host or adjust tunnelDenyRemoteHosts.",
189
- });
190
- }
191
- if (remoteHost &&
192
- (this.config.tunnelAllowRemoteHosts ?? []).length > 0 &&
193
- !matchesPolicyValue(remoteHost, this.config.tunnelAllowRemoteHosts)) {
194
- return denied({
195
- mode,
196
- action: context.action,
197
- reason: `Tunnel remote host ${remoteHost} is outside allowed policy`,
198
- hint: "Choose an allowed remote host or adjust tunnelAllowRemoteHosts.",
199
- });
200
- }
201
- const ports = [context.localPort, context.remotePort].filter((port) => typeof port === "number");
202
- for (const port of ports) {
203
- if ((this.config.tunnelDenyPorts ?? []).length > 0 &&
204
- matchesPortPolicy(port, this.config.tunnelDenyPorts)) {
205
- return denied({
206
- mode,
207
- action: context.action,
208
- reason: `Tunnel port ${port} is denied by policy`,
209
- hint: "Choose a different port or adjust tunnelDenyPorts.",
210
- });
211
- }
212
- if ((this.config.tunnelAllowPorts ?? []).length > 0 &&
213
- !matchesPortPolicy(port, this.config.tunnelAllowPorts)) {
214
- return denied({
215
- mode,
216
- action: context.action,
217
- reason: `Tunnel port ${port} is outside allowed policy`,
218
- hint: "Choose an allowed port or adjust tunnelAllowPorts.",
219
- });
220
- }
221
- }
159
+ const tunnelDecision = this.checkTunnelPolicy(context, mode);
160
+ if (tunnelDecision) {
161
+ return tunnelDecision;
222
162
  }
223
163
  if (context.username === "root" && !this.config.allowRootLogin) {
224
164
  return denied({
@@ -236,6 +176,99 @@ export class PolicyEngine {
236
176
  hint: "Use an idempotent ensure_* tool or enable allowRawSudo explicitly.",
237
177
  });
238
178
  }
179
+ const commandDecision = this.checkCommandPolicy(context, mode);
180
+ if (commandDecision) {
181
+ return commandDecision;
182
+ }
183
+ return this.checkPathPolicy(context, mode);
184
+ }
185
+ checkTunnelPolicy(context, mode) {
186
+ if (context.action === "tunnel.local" || context.action === "tunnel.remote") {
187
+ const bindDecision = this.checkTunnelBindHost(context, mode);
188
+ if (bindDecision) {
189
+ return bindDecision;
190
+ }
191
+ const remoteDecision = this.checkTunnelRemoteHost(context, mode);
192
+ if (remoteDecision) {
193
+ return remoteDecision;
194
+ }
195
+ return this.checkTunnelPorts(context, mode);
196
+ }
197
+ return undefined;
198
+ }
199
+ checkTunnelBindHost(context, mode) {
200
+ const bindHost = context.localBindHost;
201
+ if (bindHost &&
202
+ (this.config.tunnelDenyBindHosts ?? []).length > 0 &&
203
+ matchesPolicyValue(bindHost, this.config.tunnelDenyBindHosts)) {
204
+ return denied({
205
+ mode,
206
+ action: context.action,
207
+ reason: `Tunnel bind host ${bindHost} is denied by policy`,
208
+ hint: "Choose an allowed bind host or adjust tunnelDenyBindHosts.",
209
+ });
210
+ }
211
+ if (bindHost &&
212
+ (this.config.tunnelAllowBindHosts ?? []).length > 0 &&
213
+ !matchesPolicyValue(bindHost, this.config.tunnelAllowBindHosts)) {
214
+ return denied({
215
+ mode,
216
+ action: context.action,
217
+ reason: `Tunnel bind host ${bindHost} is outside allowed policy`,
218
+ hint: "Choose an allowed bind host or adjust tunnelAllowBindHosts.",
219
+ });
220
+ }
221
+ return undefined;
222
+ }
223
+ checkTunnelRemoteHost(context, mode) {
224
+ const remoteHost = context.remoteHost;
225
+ if (remoteHost &&
226
+ (this.config.tunnelDenyRemoteHosts ?? []).length > 0 &&
227
+ matchesPolicyValue(remoteHost, this.config.tunnelDenyRemoteHosts)) {
228
+ return denied({
229
+ mode,
230
+ action: context.action,
231
+ reason: `Tunnel remote host ${remoteHost} is denied by policy`,
232
+ hint: "Choose an allowed remote host or adjust tunnelDenyRemoteHosts.",
233
+ });
234
+ }
235
+ if (remoteHost &&
236
+ (this.config.tunnelAllowRemoteHosts ?? []).length > 0 &&
237
+ !matchesPolicyValue(remoteHost, this.config.tunnelAllowRemoteHosts)) {
238
+ return denied({
239
+ mode,
240
+ action: context.action,
241
+ reason: `Tunnel remote host ${remoteHost} is outside allowed policy`,
242
+ hint: "Choose an allowed remote host or adjust tunnelAllowRemoteHosts.",
243
+ });
244
+ }
245
+ return undefined;
246
+ }
247
+ checkTunnelPorts(context, mode) {
248
+ const ports = [context.localPort, context.remotePort].filter((port) => typeof port === "number");
249
+ for (const port of ports) {
250
+ if ((this.config.tunnelDenyPorts ?? []).length > 0 &&
251
+ matchesPortPolicy(port, this.config.tunnelDenyPorts)) {
252
+ return denied({
253
+ mode,
254
+ action: context.action,
255
+ reason: `Tunnel port ${port} is denied by policy`,
256
+ hint: "Choose a different port or adjust tunnelDenyPorts.",
257
+ });
258
+ }
259
+ if ((this.config.tunnelAllowPorts ?? []).length > 0 &&
260
+ !matchesPortPolicy(port, this.config.tunnelAllowPorts)) {
261
+ return denied({
262
+ mode,
263
+ action: context.action,
264
+ reason: `Tunnel port ${port} is outside allowed policy`,
265
+ hint: "Choose an allowed port or adjust tunnelAllowPorts.",
266
+ });
267
+ }
268
+ }
269
+ return undefined;
270
+ }
271
+ checkCommandPolicy(context, mode) {
239
272
  if (context.command) {
240
273
  if (this.config.commandDeny.length > 0 &&
241
274
  matchesAny(context.command, this.config.commandDeny)) {
@@ -266,49 +299,58 @@ export class PolicyEngine {
266
299
  });
267
300
  }
268
301
  }
302
+ return undefined;
303
+ }
304
+ checkPathPolicy(context, mode) {
269
305
  const paths = [context.path, context.secondaryPath].filter((pathValue) => Boolean(pathValue));
270
306
  if (LOCAL_TRANSFER_ACTIONS.has(context.action)) {
271
- for (const pathValue of paths) {
272
- let normalizedPath;
273
- try {
274
- normalizedPath = normalizeLocalPolicyPath(pathValue);
275
- }
276
- catch {
277
- return denied({
278
- mode,
279
- action: context.action,
280
- reason: "Local path contains NUL byte",
281
- hint: "Choose a valid local path without NUL bytes.",
282
- });
283
- }
284
- if (this.localPathDenyPrefixes.some((prefix) => isPathUnder(normalizedPath, prefix, path.sep))) {
285
- return denied({
286
- mode,
287
- action: context.action,
288
- reason: `Local path ${pathValue} is denied by policy`,
289
- hint: "Choose a different local path or adjust localPathDenyPrefixes.",
290
- });
291
- }
292
- if (this.localPathAllowPrefixes.length === 0) {
293
- return denied({
294
- mode,
295
- action: context.action,
296
- reason: "Local transfer path policy has no allowed prefixes",
297
- hint: "Set localPathAllowPrefixes for MCP-server-host transfer paths.",
298
- });
299
- }
300
- const underAllowedPrefix = this.localPathAllowPrefixes.some((prefix) => isPathUnder(normalizedPath, prefix, path.sep));
301
- if (!underAllowedPrefix) {
302
- return denied({
303
- mode,
304
- action: context.action,
305
- reason: `Local path ${pathValue} is outside allowed prefixes`,
306
- hint: `Allowed local transfer prefixes: ${this.localPathAllowPrefixes.join(", ")}`,
307
- });
308
- }
307
+ return this.checkLocalPaths(context, mode, paths);
308
+ }
309
+ return this.checkRemotePaths(context, mode, paths);
310
+ }
311
+ checkLocalPaths(context, mode, paths) {
312
+ for (const pathValue of paths) {
313
+ let normalizedPath;
314
+ try {
315
+ normalizedPath = normalizeLocalPolicyPath(pathValue);
316
+ }
317
+ catch {
318
+ return denied({
319
+ mode,
320
+ action: context.action,
321
+ reason: "Local path contains NUL byte",
322
+ hint: "Choose a valid local path without NUL bytes.",
323
+ });
324
+ }
325
+ if (this.localPathDenyPrefixes.some((prefix) => isPathUnder(normalizedPath, prefix, path.sep))) {
326
+ return denied({
327
+ mode,
328
+ action: context.action,
329
+ reason: `Local path ${pathValue} is denied by policy`,
330
+ hint: "Choose a different local path or adjust localPathDenyPrefixes.",
331
+ });
332
+ }
333
+ if (this.localPathAllowPrefixes.length === 0) {
334
+ return denied({
335
+ mode,
336
+ action: context.action,
337
+ reason: "Local transfer path policy has no allowed prefixes",
338
+ hint: "Set localPathAllowPrefixes for MCP-server-host transfer paths.",
339
+ });
340
+ }
341
+ const underAllowedPrefix = this.localPathAllowPrefixes.some((prefix) => isPathUnder(normalizedPath, prefix, path.sep));
342
+ if (!underAllowedPrefix) {
343
+ return denied({
344
+ mode,
345
+ action: context.action,
346
+ reason: `Local path ${pathValue} is outside allowed prefixes`,
347
+ hint: `Allowed local transfer prefixes: ${this.localPathAllowPrefixes.join(", ")}`,
348
+ });
309
349
  }
310
- return allowed({ mode, action: context.action });
311
350
  }
351
+ return allowed({ mode, action: context.action });
352
+ }
353
+ checkRemotePaths(context, mode, paths) {
312
354
  for (const pathValue of paths) {
313
355
  let normalizedPath;
314
356
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"policy.js","sourceRoot":"","sources":["../src/policy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"policy.js","sourceRoot":"","sources":["../src/policy.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../src/process.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAG7C,MAAM,WAAW,cAAc;IAC7B,WAAW,CACT,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,MAAM,EACZ,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC5B,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,UAAU,CAAC,CAAC;IACvB,QAAQ,CACN,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,EACjB,GAAG,CAAC,EAAE,MAAM,EACZ,SAAS,CAAC,EAAE,MAAM,EAClB,aAAa,CAAC,EAAE,iBAAiB,GAChC,OAAO,CAAC,UAAU,CAAC,CAAC;IACvB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACpE,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACtD,aAAa,CACX,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,MAAM,EACZ,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC3B,OAAO,CAAC,UAAU,CAAC,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,YAAY,GAAG,WAAW,CAAC,CAAC;IACjE,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,kBAAkB,GAAG,uBAAuB,CAAC,CAAC;IACzE,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;CAC7C;AA+CD,wBAAgB,oBAAoB,CAAC,EACnC,cAAc,EACd,MAAM,EACN,MAAM,GACP,EAAE,kBAAkB,GAAG,cAAc,CAuPrC"}
1
+ {"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../src/process.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAG7C,MAAM,WAAW,cAAc;IAC7B,WAAW,CACT,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,MAAM,EACZ,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC5B,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,UAAU,CAAC,CAAC;IACvB,QAAQ,CACN,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,EACjB,GAAG,CAAC,EAAE,MAAM,EACZ,SAAS,CAAC,EAAE,MAAM,EAClB,aAAa,CAAC,EAAE,iBAAiB,GAChC,OAAO,CAAC,UAAU,CAAC,CAAC;IACvB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACpE,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACtD,aAAa,CACX,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,MAAM,EACZ,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC3B,OAAO,CAAC,UAAU,CAAC,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,YAAY,GAAG,WAAW,CAAC,CAAC;IACjE,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,kBAAkB,GAAG,uBAAuB,CAAC,CAAC;IACzE,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;CAC7C;AA2DD,wBAAgB,oBAAoB,CAAC,EACnC,cAAc,EACd,MAAM,EACN,MAAM,GACP,EAAE,kBAAkB,GAAG,cAAc,CAgPrC"}
package/dist/process.js CHANGED
@@ -40,6 +40,15 @@ async function execWithTimeout(work, timeoutMs, label) {
40
40
  }
41
41
  }
42
42
  }
43
+ function isSudoAuthenticationFailure(result) {
44
+ if ((result.code ?? 0) === 0 || !result.stderr) {
45
+ return false;
46
+ }
47
+ const stderrLower = result.stderr.toLowerCase();
48
+ return (stderrLower.includes("password") ||
49
+ stderrLower.includes("authentication") ||
50
+ stderrLower.includes("sorry"));
51
+ }
43
52
  export function createProcessService({ sessionManager, config, policy, }) {
44
53
  async function execCommand(sessionId, command, cwd, env, timeoutMs) {
45
54
  logger.debug("Executing command", { sessionId, command, cwd, timeoutMs });
@@ -131,13 +140,8 @@ export function createProcessService({ sessionManager, config, policy, }) {
131
140
  }
132
141
  const fullCommand = buildSudoCommand(command, osInfo, cwd);
133
142
  const result = await execWithTimeout(session.ssh.execCommand(fullCommand), effectiveTimeoutMs, "Sudo command");
134
- if ((result.code ?? 0) !== 0 && result.stderr) {
135
- const stderrLower = result.stderr.toLowerCase();
136
- if (stderrLower.includes("password") ||
137
- stderrLower.includes("authentication") ||
138
- stderrLower.includes("sorry")) {
139
- throw createSudoError("Sudo authentication failed", "Configure a restricted NOPASSWD sudoers profile for approved commands.");
140
- }
143
+ if (isSudoAuthenticationFailure(result)) {
144
+ throw createSudoError("Sudo authentication failed", "Configure a restricted NOPASSWD sudoers profile for approved commands.");
141
145
  }
142
146
  const execResult = {
143
147
  code: result.code ?? 0,
@@ -1 +1 @@
1
- {"version":3,"file":"process.js","sourceRoot":"","sources":["../src/process.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"process.js","sourceRoot":"","sources":["../src/process.ts"],"names":[],"mappings":"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"}