@p0security/cli 0.18.6 → 0.18.8

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 (48) hide show
  1. package/CONTRIBUTING.md +1 -1
  2. package/build/dist/commands/__tests__/login.test.js +2 -0
  3. package/build/dist/commands/__tests__/login.test.js.map +1 -1
  4. package/build/dist/commands/aws/index.js +3 -0
  5. package/build/dist/commands/aws/index.js.map +1 -1
  6. package/build/dist/commands/aws/role.js +6 -1
  7. package/build/dist/commands/aws/role.js.map +1 -1
  8. package/build/dist/commands/index.js +1 -3
  9. package/build/dist/commands/index.js.map +1 -1
  10. package/build/dist/commands/scp.js +2 -6
  11. package/build/dist/commands/scp.js.map +1 -1
  12. package/build/dist/commands/shared/index.js +4 -1
  13. package/build/dist/commands/shared/index.js.map +1 -1
  14. package/build/dist/commands/shared/ssh.d.ts +0 -1
  15. package/build/dist/commands/shared/ssh.js.map +1 -1
  16. package/build/dist/commands/ssh-proxy.js +1 -0
  17. package/build/dist/commands/ssh-proxy.js.map +1 -1
  18. package/build/dist/commands/ssh-resolve.js +2 -2
  19. package/build/dist/commands/ssh-resolve.js.map +1 -1
  20. package/build/dist/commands/ssh.js +2 -1
  21. package/build/dist/commands/ssh.js.map +1 -1
  22. package/build/dist/drivers/api.d.ts +8 -0
  23. package/build/dist/drivers/api.js +29 -2
  24. package/build/dist/drivers/api.js.map +1 -1
  25. package/build/dist/drivers/auth/index.js +9 -0
  26. package/build/dist/drivers/auth/index.js.map +1 -1
  27. package/build/dist/index.d.ts +10 -0
  28. package/build/dist/index.js +35 -12
  29. package/build/dist/index.js.map +1 -1
  30. package/build/dist/middlewares/version.js +1 -1
  31. package/build/dist/middlewares/version.js.map +1 -1
  32. package/build/dist/opentelemetry/buffered-exporter.d.ts +34 -0
  33. package/build/dist/opentelemetry/buffered-exporter.js +83 -0
  34. package/build/dist/opentelemetry/buffered-exporter.js.map +1 -0
  35. package/build/dist/opentelemetry/instrumentation.d.ts +4 -0
  36. package/build/dist/opentelemetry/instrumentation.js +77 -0
  37. package/build/dist/opentelemetry/instrumentation.js.map +1 -0
  38. package/build/dist/plugins/ssh/index.d.ts +2 -0
  39. package/build/dist/plugins/ssh/index.js +34 -7
  40. package/build/dist/plugins/ssh/index.js.map +1 -1
  41. package/build/dist/version.d.ts +2 -2
  42. package/build/dist/version.js +6 -15
  43. package/build/dist/version.js.map +1 -1
  44. package/build/tsconfig.tsbuildinfo +1 -1
  45. package/package.json +8 -2
  46. package/build/dist/commands/ssh-keygen.d.ts +0 -2
  47. package/build/dist/commands/ssh-keygen.js +0 -28
  48. package/build/dist/commands/ssh-keygen.js.map +0 -1
@@ -0,0 +1,34 @@
1
+ /** Copyright © 2024-present P0 Security
2
+
3
+ This file is part of @p0security/cli
4
+
5
+ @p0security/cli is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 3 of the License.
6
+
7
+ @p0security/cli is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
8
+
9
+ You should have received a copy of the GNU General Public License along with @p0security/cli. If not, see <https://www.gnu.org/licenses/>.
10
+ **/
11
+ import { ExportResult } from "@opentelemetry/core";
12
+ import { SpanExporter, ReadableSpan } from "@opentelemetry/sdk-trace-base";
13
+ /**
14
+ * A SpanExporter that buffers spans in memory until a delegate exporter is available.
15
+ *
16
+ * This is useful when trace spans are created before authentication
17
+ * and the actual exporter (e.g., OTLP exporter with access token)
18
+ * can only be initialized after login.
19
+ *
20
+ * Spans exported before the delegate is set are stored in an internal buffer.
21
+ * Once the delegate exporter is injected via `setDelegateAndExport()`,
22
+ * all buffered spans are flushed to the delegate. Future spans are exported directly.
23
+ *
24
+ * @implements {import('@opentelemetry/sdk-trace-base').SpanExporter}
25
+ */
26
+ export declare class BufferedSpanExporter implements SpanExporter {
27
+ private buffer;
28
+ private delegate;
29
+ private isShutdown;
30
+ export(spans: ReadableSpan[], resultCallback: (result: ExportResult) => void): void;
31
+ forceFlush(): Promise<void>;
32
+ shutdown(): Promise<void>;
33
+ setDelegateAndExport(exporter: SpanExporter): void;
34
+ }
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.BufferedSpanExporter = void 0;
13
+ /** Copyright © 2024-present P0 Security
14
+
15
+ This file is part of @p0security/cli
16
+
17
+ @p0security/cli is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 3 of the License.
18
+
19
+ @p0security/cli is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
20
+
21
+ You should have received a copy of the GNU General Public License along with @p0security/cli. If not, see <https://www.gnu.org/licenses/>.
22
+ **/
23
+ const core_1 = require("@opentelemetry/core");
24
+ /**
25
+ * A SpanExporter that buffers spans in memory until a delegate exporter is available.
26
+ *
27
+ * This is useful when trace spans are created before authentication
28
+ * and the actual exporter (e.g., OTLP exporter with access token)
29
+ * can only be initialized after login.
30
+ *
31
+ * Spans exported before the delegate is set are stored in an internal buffer.
32
+ * Once the delegate exporter is injected via `setDelegateAndExport()`,
33
+ * all buffered spans are flushed to the delegate. Future spans are exported directly.
34
+ *
35
+ * @implements {import('@opentelemetry/sdk-trace-base').SpanExporter}
36
+ */
37
+ class BufferedSpanExporter {
38
+ constructor() {
39
+ this.buffer = [];
40
+ this.delegate = undefined;
41
+ this.isShutdown = false;
42
+ }
43
+ export(spans, resultCallback) {
44
+ if (this.isShutdown) {
45
+ resultCallback({ code: core_1.ExportResultCode.FAILED });
46
+ return;
47
+ }
48
+ if (this.delegate) {
49
+ this.delegate.export(spans, resultCallback);
50
+ }
51
+ else {
52
+ this.buffer.push(...spans);
53
+ resultCallback({ code: core_1.ExportResultCode.SUCCESS });
54
+ }
55
+ }
56
+ forceFlush() {
57
+ var _a, _b;
58
+ return __awaiter(this, void 0, void 0, function* () {
59
+ if (this.delegate) {
60
+ return (_b = (_a = this.delegate).forceFlush) === null || _b === void 0 ? void 0 : _b.call(_a);
61
+ }
62
+ });
63
+ }
64
+ shutdown() {
65
+ return __awaiter(this, void 0, void 0, function* () {
66
+ this.isShutdown = true;
67
+ if (this.delegate) {
68
+ return this.delegate.shutdown();
69
+ }
70
+ });
71
+ }
72
+ setDelegateAndExport(exporter) {
73
+ if (this.isShutdown)
74
+ return;
75
+ this.delegate = exporter;
76
+ if (this.buffer.length > 0) {
77
+ const toFlush = this.buffer.splice(0);
78
+ this.delegate.export(toFlush, () => { });
79
+ }
80
+ }
81
+ }
82
+ exports.BufferedSpanExporter = BufferedSpanExporter;
83
+ //# sourceMappingURL=buffered-exporter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buffered-exporter.js","sourceRoot":"","sources":["../../../src/opentelemetry/buffered-exporter.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;GASG;AACH,8CAAqE;AAGrE;;;;;;;;;;;;GAYG;AACH,MAAa,oBAAoB;IAAjC;QACU,WAAM,GAAmB,EAAE,CAAC;QAC5B,aAAQ,GAA6B,SAAS,CAAC;QAC/C,eAAU,GAAG,KAAK,CAAC;IA2C7B,CAAC;IAzCC,MAAM,CACJ,KAAqB,EACrB,cAA8C;QAE9C,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,cAAc,CAAC,EAAE,IAAI,EAAE,uBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC;YAClD,OAAO;SACR;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;SAC7C;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;YAC3B,cAAc,CAAC,EAAE,IAAI,EAAE,uBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC;SACpD;IACH,CAAC;IAEK,UAAU;;;YACd,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,OAAO,MAAA,MAAA,IAAI,CAAC,QAAQ,EAAC,UAAU,kDAAI,CAAC;aACrC;;KAEF;IAEK,QAAQ;;YACZ,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;aACjC;QACH,CAAC;KAAA;IAED,oBAAoB,CAAC,QAAsB;QACzC,IAAI,IAAI,CAAC,UAAU;YAAE,OAAO;QAE5B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAEzB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACtC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;SACzC;IACH,CAAC;CACF;AA9CD,oDA8CC"}
@@ -0,0 +1,4 @@
1
+ import { BufferedSpanExporter } from "./buffered-exporter";
2
+ export declare const bufferedExporter: BufferedSpanExporter;
3
+ export declare const setExporterAfterLogin: (url: string, token: string) => Promise<void>;
4
+ export declare const startTracing: () => void;
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.startTracing = exports.setExporterAfterLogin = exports.bufferedExporter = void 0;
13
+ /** Copyright © 2024-present P0 Security
14
+
15
+ This file is part of @p0security/cli
16
+
17
+ @p0security/cli is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 3 of the License.
18
+
19
+ @p0security/cli is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
20
+
21
+ You should have received a copy of the GNU General Public License along with @p0security/cli. If not, see <https://www.gnu.org/licenses/>.
22
+ **/
23
+ const version_1 = require("../version");
24
+ const buffered_exporter_1 = require("./buffered-exporter");
25
+ const auto_instrumentations_node_1 = require("@opentelemetry/auto-instrumentations-node");
26
+ const exporter_trace_otlp_http_1 = require("@opentelemetry/exporter-trace-otlp-http");
27
+ const resources_1 = require("@opentelemetry/resources");
28
+ const sdk_node_1 = require("@opentelemetry/sdk-node");
29
+ const semantic_conventions_1 = require("@opentelemetry/semantic-conventions");
30
+ exports.bufferedExporter = new buffered_exporter_1.BufferedSpanExporter();
31
+ const sdk = new sdk_node_1.NodeSDK({
32
+ resource: (0, resources_1.resourceFromAttributes)({
33
+ [semantic_conventions_1.ATTR_SERVICE_NAME]: version_1.p0VersionInfo.name,
34
+ [semantic_conventions_1.ATTR_SERVICE_VERSION]: version_1.p0VersionInfo.version,
35
+ }),
36
+ traceExporter: exports.bufferedExporter,
37
+ instrumentations: [
38
+ // Disable instrumentations to decrease span volume
39
+ (0, auto_instrumentations_node_1.getNodeAutoInstrumentations)({
40
+ "@opentelemetry/instrumentation-net": {
41
+ enabled: false,
42
+ },
43
+ "@opentelemetry/instrumentation-dns": {
44
+ enabled: false,
45
+ },
46
+ // Spans such as `grpc.google.firestore.v1.Firestore/Listen` are part of long running background tasks
47
+ "@opentelemetry/instrumentation-grpc": {
48
+ ignoreGrpcMethods: ["Listen"],
49
+ },
50
+ }),
51
+ ],
52
+ });
53
+ const setExporterAfterLogin = (url, token) => __awaiter(void 0, void 0, void 0, function* () {
54
+ const realExporter = new exporter_trace_otlp_http_1.OTLPTraceExporter({
55
+ url,
56
+ headers: {
57
+ Authorization: `Bearer ${token}`,
58
+ },
59
+ });
60
+ exports.bufferedExporter.setDelegateAndExport(realExporter);
61
+ });
62
+ exports.setExporterAfterLogin = setExporterAfterLogin;
63
+ const startTracing = () => {
64
+ sdk.start();
65
+ };
66
+ exports.startTracing = startTracing;
67
+ const shutdownSdk = () => {
68
+ void sdk.shutdown().finally(() => {
69
+ process.exit();
70
+ });
71
+ };
72
+ // These handlers are necessary to ensure spans are flushed when the CLI exits.
73
+ process.on("SIGINT", shutdownSdk);
74
+ process.on("SIGTERM", shutdownSdk);
75
+ process.on("beforeExit", shutdownSdk);
76
+ process.on("uncaughtException", shutdownSdk);
77
+ //# sourceMappingURL=instrumentation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instrumentation.js","sourceRoot":"","sources":["../../../src/opentelemetry/instrumentation.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;GASG;AACH,wCAA2C;AAC3C,2DAA2D;AAC3D,0FAAwF;AACxF,sFAA4E;AAC5E,wDAAkE;AAClE,sDAAkD;AAClD,8EAG6C;AAEhC,QAAA,gBAAgB,GAAG,IAAI,wCAAoB,EAAE,CAAC;AAE3D,MAAM,GAAG,GAAG,IAAI,kBAAO,CAAC;IACtB,QAAQ,EAAE,IAAA,kCAAsB,EAAC;QAC/B,CAAC,wCAAiB,CAAC,EAAE,uBAAa,CAAC,IAAI;QACvC,CAAC,2CAAoB,CAAC,EAAE,uBAAa,CAAC,OAAO;KAC9C,CAAC;IACF,aAAa,EAAE,wBAAgB;IAC/B,gBAAgB,EAAE;QAChB,mDAAmD;QACnD,IAAA,wDAA2B,EAAC;YAC1B,oCAAoC,EAAE;gBACpC,OAAO,EAAE,KAAK;aACf;YACD,oCAAoC,EAAE;gBACpC,OAAO,EAAE,KAAK;aACf;YACD,sGAAsG;YACtG,qCAAqC,EAAE;gBACrC,iBAAiB,EAAE,CAAC,QAAQ,CAAC;aAC9B;SACF,CAAC;KACH;CACF,CAAC,CAAC;AAEI,MAAM,qBAAqB,GAAG,CAAO,GAAW,EAAE,KAAa,EAAE,EAAE;IACxE,MAAM,YAAY,GAAG,IAAI,4CAAiB,CAAC;QACzC,GAAG;QACH,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,KAAK,EAAE;SACjC;KACF,CAAC,CAAC;IAEH,wBAAgB,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC;AACtD,CAAC,CAAA,CAAC;AATW,QAAA,qBAAqB,yBAShC;AAEK,MAAM,YAAY,GAAG,GAAG,EAAE;IAC/B,GAAG,CAAC,KAAK,EAAE,CAAC;AACd,CAAC,CAAC;AAFW,QAAA,YAAY,gBAEvB;AAEF,MAAM,WAAW,GAAG,GAAG,EAAE;IACvB,KAAK,GAAG,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;QAC/B,OAAO,CAAC,IAAI,EAAE,CAAC;IACjB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,+EAA+E;AAC/E,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;AAClC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;AACnC,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;AACtC,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC"}
@@ -14,6 +14,7 @@ import { SshProvider, SshRequest } from "../../types/ssh";
14
14
  export declare const sshOrScp: (args: {
15
15
  authn: Authn;
16
16
  request: SshRequest;
17
+ requestId: string;
17
18
  cmdArgs: CommandArgs;
18
19
  privateKey: string;
19
20
  sshProvider: SshProvider<any, any, any, any>;
@@ -21,6 +22,7 @@ export declare const sshOrScp: (args: {
21
22
  export declare const sshProxy: (args: {
22
23
  authn: Authn;
23
24
  request: SshRequest;
25
+ requestId: string;
24
26
  cmdArgs: SshProxyCommandArgs;
25
27
  privateKey: string;
26
28
  sshProvider: SshProvider<any, any, any, any>;
@@ -22,11 +22,14 @@ You should have received a copy of the GNU General Public License along with @p0
22
22
  **/
23
23
  const ssh_1 = require("../../commands/shared/ssh");
24
24
  const keys_1 = require("../../common/keys");
25
+ const api_1 = require("../../drivers/api");
25
26
  const config_1 = require("../../drivers/config");
26
27
  const stdio_1 = require("../../drivers/stdio");
27
28
  const util_1 = require("../../util");
28
29
  const node_child_process_1 = require("node:child_process");
30
+ const node_crypto_1 = require("node:crypto");
29
31
  const RETRY_DELAY_MS = 5000;
32
+ const AUTHENTICATION_SUCCESS_PATTERN = /Authenticated to [^\s]+ \(via proxy\) using "publickey"/;
30
33
  /** Checks if access has propagated through AWS to the SSM agent
31
34
  *
32
35
  * AWS takes about 8 minutes, GCP takes under 1 minute
@@ -81,6 +84,7 @@ const accessPropagationGuard = (invalidAccessPatterns, validAccessPatterns, logi
81
84
  * @param options SSH spawn options
82
85
  */
83
86
  const parseAndPrintSshOutputToStderr = (chunkString, options) => {
87
+ var _a;
84
88
  const lines = chunkString.split("\n");
85
89
  const isPreTest = options.isAccessPropagationPreTest;
86
90
  for (const line of lines) {
@@ -88,9 +92,10 @@ const parseAndPrintSshOutputToStderr = (chunkString, options) => {
88
92
  (0, stdio_1.print2)(line);
89
93
  }
90
94
  else {
91
- if (!isPreTest && line.includes("Authenticated to")) {
95
+ if (!isPreTest && AUTHENTICATION_SUCCESS_PATTERN.test(line)) {
92
96
  // We want to let the user know that they successfully authenticated
93
97
  (0, stdio_1.print2)(line);
98
+ (_a = options.audit) === null || _a === void 0 ? void 0 : _a.call(options, "start");
94
99
  }
95
100
  else if (!isPreTest && line.includes("port forwarding failed")) {
96
101
  // We also want to let the user know if port forwarding failed
@@ -125,7 +130,8 @@ function spawnSshNode(options) {
125
130
  catch (_a) {
126
131
  // Ignore errors
127
132
  }
128
- process.exit();
133
+ // Resolving the promise so that we don't hang the process forever.
134
+ resolve(0);
129
135
  });
130
136
  });
131
137
  // TODO ENG-2284 support login with Google Cloud: currently return a boolean to indicate if the exception was a Google login error.
@@ -135,7 +141,7 @@ function spawnSshNode(options) {
135
141
  const onAbort = () => { var _a, _b; return reject((_b = (_a = options.abortController) === null || _a === void 0 ? void 0 : _a.signal.reason) !== null && _b !== void 0 ? _b : "SSH session aborted"); };
136
142
  (_a = options.abortController) === null || _a === void 0 ? void 0 : _a.signal.addEventListener("abort", onAbort);
137
143
  const exitListener = child.on("exit", (code) => {
138
- var _a, _b;
144
+ var _a, _b, _c;
139
145
  exitListener.unref();
140
146
  // In the case of ephemeral AccessDenied exceptions due to unpropagated
141
147
  // permissions, continually retry access until success
@@ -155,8 +161,10 @@ function spawnSshNode(options) {
155
161
  reject((_b = provider.loginRequiredMessage) !== null && _b !== void 0 ? _b : `Please log in to the ${provider.friendlyName} CLI to SSH`);
156
162
  return;
157
163
  }
158
- if (!options.isAccessPropagationPreTest)
164
+ if (!options.isAccessPropagationPreTest) {
165
+ (_c = options.audit) === null || _c === void 0 ? void 0 : _c.call(options, "end");
159
166
  (0, stdio_1.print2)(`SSH session terminated`);
167
+ }
160
168
  if (options.isAccessPropagationPreTest && isAccessPropagated()) {
161
169
  // override the exit code to 0 if the expected error was found, this means access is ready.
162
170
  resolve(0);
@@ -246,7 +254,7 @@ const addScpArgs = (args) => {
246
254
  sshOptions.push("-o", "ServerAliveInterval=300");
247
255
  }
248
256
  const recursiveOptionExists = sshOptions.some((opt) => opt === "-r");
249
- if (!recursiveOptionExists && args.recursive) {
257
+ if (!recursiveOptionExists) {
250
258
  sshOptions.push("-r");
251
259
  }
252
260
  };
@@ -285,7 +293,8 @@ const preTestAccessPropagationIfNeeded = (sshProvider, request, cmdArgs, proxyCo
285
293
  });
286
294
  const sshOrScp = (args) => __awaiter(void 0, void 0, void 0, function* () {
287
295
  var _a;
288
- const { authn, request, cmdArgs, privateKey, sshProvider } = args;
296
+ const sshSessionId = (0, node_crypto_1.randomUUID)();
297
+ const { authn, request, requestId, cmdArgs, privateKey, sshProvider } = args;
289
298
  const { debug } = cmdArgs;
290
299
  if (!privateKey) {
291
300
  throw `Failed to load a private key for this request. ${(0, config_1.getContactMessage)()}`;
@@ -315,6 +324,13 @@ const sshOrScp = (args) => __awaiter(void 0, void 0, void 0, function* () {
315
324
  return exitCode; // Only exit if there was an error when pre-testing
316
325
  }
317
326
  return yield spawnSshNode({
327
+ audit: (action) => void (0, api_1.auditSshSessionActivity)({
328
+ authn,
329
+ requestId,
330
+ sshSessionId,
331
+ debug,
332
+ action: `ssh.session.${action}`,
333
+ }),
318
334
  credential,
319
335
  abortController,
320
336
  command,
@@ -332,7 +348,7 @@ const sshOrScp = (args) => __awaiter(void 0, void 0, void 0, function* () {
332
348
  exports.sshOrScp = sshOrScp;
333
349
  const sshProxy = (args) => __awaiter(void 0, void 0, void 0, function* () {
334
350
  var _b, _c;
335
- const { authn, sshProvider, request, debug } = args;
351
+ const { authn, sshProvider, request, requestId, debug } = args;
336
352
  const credential = yield sshProvider.cloudProviderLogin(authn, request);
337
353
  const abortController = new AbortController();
338
354
  const setupData = yield ((_b = sshProvider.setupProxy) === null || _b === void 0 ? void 0 : _b.call(sshProvider, request, {
@@ -346,7 +362,17 @@ const sshProxy = (args) => __awaiter(void 0, void 0, void 0, function* () {
346
362
  }
347
363
  const proxyArgs = proxyCommand.slice(1);
348
364
  const endTime = Date.now() + sshProvider.propagationTimeoutMs;
365
+ const auditArgs = {
366
+ authn,
367
+ requestId,
368
+ debug,
369
+ sshSessionId: (0, node_crypto_1.randomUUID)(),
370
+ };
349
371
  try {
372
+ // ssh-proxy doesn't do any pre-test propagation and can't intercept
373
+ // messages from the parent ssh command making it impossible for us
374
+ // to check for stdout/stderr for session start/end messages.
375
+ void (0, api_1.auditSshSessionActivity)(Object.assign(Object.assign({}, auditArgs), { action: `ssh.session.start` }));
350
376
  return yield spawnSshNode({
351
377
  credential,
352
378
  abortController,
@@ -359,6 +385,7 @@ const sshProxy = (args) => __awaiter(void 0, void 0, void 0, function* () {
359
385
  });
360
386
  }
361
387
  finally {
388
+ yield (0, api_1.auditSshSessionActivity)(Object.assign(Object.assign({}, auditArgs), { action: `ssh.session.end` }));
362
389
  yield (setupData === null || setupData === void 0 ? void 0 : setupData.teardown());
363
390
  }
364
391
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/ssh/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/ssh/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export declare const p0VersionInfo: Promise<{
1
+ export declare const p0VersionInfo: {
2
2
  name: string;
3
3
  version: string;
4
- }>;
4
+ };
@@ -1,13 +1,4 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
12
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
4
  };
@@ -23,15 +14,15 @@ This file is part of @p0security/cli
23
14
 
24
15
  You should have received a copy of the GNU General Public License along with @p0security/cli. If not, see <https://www.gnu.org/licenses/>.
25
16
  **/
26
- const promises_1 = __importDefault(require("node:fs/promises"));
17
+ const node_fs_1 = __importDefault(require("node:fs"));
27
18
  const node_sea_1 = require("node:sea");
28
- const loadCurrentVersion = () => __awaiter(void 0, void 0, void 0, function* () {
19
+ const loadCurrentVersion = () => {
29
20
  try {
30
21
  if ((0, node_sea_1.isSea)()) {
31
22
  // When building with the standalone CLI, we need to manually include the package.json as a
32
23
  // static asset in sea-config.json, as it is not included in the build by default.
33
- const packageJsonBytes = (0, node_sea_1.getAssetAsBlob)("package.json");
34
- const json = JSON.parse(yield packageJsonBytes.text());
24
+ const packageJsonText = (0, node_sea_1.getAsset)("package.json", "utf-8");
25
+ const json = JSON.parse(packageJsonText);
35
26
  const { name, version } = json;
36
27
  return { name, version };
37
28
  }
@@ -41,13 +32,13 @@ const loadCurrentVersion = () => __awaiter(void 0, void 0, void 0, function* ()
41
32
  const packageJsonPath = process.env.TS_JEST
42
33
  ? `${__dirname}/../package.json`
43
34
  : `${__dirname}/../../package.json`;
44
- const { name, version } = JSON.parse((yield promises_1.default.readFile(packageJsonPath)).toString("utf-8"));
35
+ const { name, version } = JSON.parse(node_fs_1.default.readFileSync(packageJsonPath).toString("utf-8"));
45
36
  return { name, version };
46
37
  }
47
38
  catch (_a) {
48
39
  return { name: "@p0security/cli", version: "unknown" };
49
40
  }
50
- });
41
+ };
51
42
  // p0VersionInfo is a promise that resolves to the current version info
52
43
  // The importer needs to await this promise to actually read the version number
53
44
  // e.g. `const { name, version } = await p0VersionInfo;`
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA;;;;;;;;;GASG;AACH,gEAAkC;AAClC,uCAAiD;AAEjD,MAAM,kBAAkB,GAAG,GAGxB,EAAE;IACH,IAAI;QACF,IAAI,IAAA,gBAAK,GAAE,EAAE;YACX,2FAA2F;YAC3F,kFAAkF;YAClF,MAAM,gBAAgB,GAAG,IAAA,yBAAc,EAAC,cAAc,CAAC,CAAC;YACxD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC;YACvD,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;YAC/B,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;SAC1B;QAED,8DAA8D;QAC9D,6DAA6D;QAC7D,mEAAmE;QACnE,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO;YACzC,CAAC,CAAC,GAAG,SAAS,kBAAkB;YAChC,CAAC,CAAC,GAAG,SAAS,qBAAqB,CAAC;QACtC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAClC,CAAC,MAAM,kBAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CACvD,CAAC;QAEF,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;KAC1B;IAAC,WAAM;QACN,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;KACxD;AACH,CAAC,CAAA,CAAC;AAEF,uEAAuE;AACvE,+EAA+E;AAC/E,wDAAwD;AACxD,EAAE;AACF,mEAAmE;AACnE,oCAAoC;AACvB,QAAA,aAAa,GAAG,kBAAkB,EAAE,CAAC"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":";;;;;;AAAA;;;;;;;;;GASG;AACH,sDAAyB;AACzB,uCAA2C;AAE3C,MAAM,kBAAkB,GAAG,GAGzB,EAAE;IACF,IAAI;QACF,IAAI,IAAA,gBAAK,GAAE,EAAE;YACX,2FAA2F;YAC3F,kFAAkF;YAClF,MAAM,eAAe,GAAG,IAAA,mBAAQ,EAAC,cAAc,EAAE,OAAO,CAAC,CAAC;YAC1D,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YACzC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;YAC/B,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;SAC1B;QAED,8DAA8D;QAC9D,6DAA6D;QAC7D,mEAAmE;QACnE,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO;YACzC,CAAC,CAAC,GAAG,SAAS,kBAAkB;YAChC,CAAC,CAAC,GAAG,SAAS,qBAAqB,CAAC;QACtC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAClC,iBAAE,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CACnD,CAAC;QAEF,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;KAC1B;IAAC,WAAM;QACN,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;KACxD;AACH,CAAC,CAAC;AAEF,uEAAuE;AACvE,+EAA+E;AAC/E,wDAAwD;AACxD,EAAE;AACF,mEAAmE;AACnE,oCAAoC;AACvB,QAAA,aAAa,GAAG,kBAAkB,EAAE,CAAC"}