@p0security/cli 0.20.3 → 0.20.6

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 CHANGED
@@ -153,12 +153,14 @@ Options:
153
153
  -w, --wait Block until the request is completed [boolean]
154
154
  ```
155
155
 
156
- If you don't know the name of the role you need, you can use the `p0 ls` command. `p0 ls` accepts the same arguments that you provide to `p0 request` and lists the available options for access within your selected resource. For example, to view the available Google Cloud roles, run
156
+ If you don't know the name of the role you need, you can use the `p0 ls` command. `p0 ls` accepts the same arguments that you provide to `p0 request` and lists the available options for access within your selected resource. For example, to view the available Google Cloud roles with a name containing "bigquery", run
157
157
 
158
158
  ```
159
159
  p0 ls gcloud role names --like bigquery
160
160
  ```
161
161
 
162
+ **NOTE:** When using the `--like` option to perform fuzzy matching, results will only be returned if they match all provided search terms; individual search terms must be alphanumeric strings, and multiple search terms must be separated by non-alphanumeric characters. For example, to search for all roles that match both "big" and "admin", the expected command could be `--like 'big-admin'` or `--like 'big,admin'`.
163
+
162
164
  Now, to request `bigquery.admin`, run:
163
165
 
164
166
  ```
@@ -61,8 +61,7 @@ const commands = [
61
61
  print_bearer_token_1.printBearerTokenCommand,
62
62
  ];
63
63
  const buildArgv = () => __awaiter(void 0, void 0, void 0, function* () {
64
- const { version } = version_2.p0VersionInfo;
65
- const argv = (0, yargs_1.default)((0, helpers_1.hideBin)(process.argv)).version(version);
64
+ const argv = (0, yargs_1.default)((0, helpers_1.hideBin)(process.argv)).version((0, version_2.stringifyVersionInfo)(version_2.p0VersionInfo));
66
65
  // Override the default yargs showHelp() function to include a custom help message at the end
67
66
  const originalShowHelp = argv.showHelp.bind(argv);
68
67
  argv.showHelp = (arg) => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/index.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,7 @@ const auth_1 = require("../drivers/auth");
24
24
  const ssh_1 = require("../plugins/ssh");
25
25
  const ssh_2 = require("../types/ssh");
26
26
  const ssh_3 = require("./shared/ssh");
27
+ const ssh_cleanup_1 = require("./shared/ssh-cleanup");
27
28
  const scpCommand = (yargs) => yargs.command("scp <source> <destination>",
28
29
  // TODO (ENG-1930): support scp across multiple remote hosts.
29
30
  "SCP copies files between a local and remote host.", (yargs) => yargs
@@ -72,6 +73,8 @@ exports.scpCommand = scpCommand;
72
73
  * Implicitly gains access to the SSH resource if required.
73
74
  */
74
75
  const scpAction = (args) => __awaiter(void 0, void 0, void 0, function* () {
76
+ // Clean up any stale SSH config files before proceeding
77
+ yield (0, ssh_cleanup_1.cleanupStaleSshConfigs)(args.debug);
75
78
  const authn = yield (0, auth_1.authenticate)(args);
76
79
  const sshOptions = Array.isArray(args["--"])
77
80
  ? args["--"].map(String)
@@ -1 +1 @@
1
- {"version":3,"file":"scp.js","sourceRoot":"","sources":["../../../src/commands/scp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scp.js","sourceRoot":"","sources":["../../../src/commands/scp.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Cleanup stale SSH config files that were not properly deleted
3
+ *
4
+ * This function removes config files in the ssh/configs directory that are older
5
+ * than STALE_CONFIG_THRESHOLD_MS. These files should normally be cleaned up
6
+ * by ssh-proxy, but may be left behind if:
7
+ * - The SSH connection was never established
8
+ * - ssh-proxy crashed before cleanup
9
+ * - The user cancelled the connection
10
+ *
11
+ * @param debug - Whether to print debug information
12
+ */
13
+ export declare const cleanupStaleSshConfigs: (debug?: boolean) => Promise<void>;
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ var __importDefault = (this && this.__importDefault) || function (mod) {
35
+ return (mod && mod.__esModule) ? mod : { "default": mod };
36
+ };
37
+ Object.defineProperty(exports, "__esModule", { value: true });
38
+ exports.cleanupStaleSshConfigs = void 0;
39
+ /** Copyright © 2024-present P0 Security
40
+
41
+ This file is part of @p0security/cli
42
+
43
+ @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.
44
+
45
+ @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.
46
+
47
+ You should have received a copy of the GNU General Public License along with @p0security/cli. If not, see <https://www.gnu.org/licenses/>.
48
+ **/
49
+ const stdio_1 = require("../../drivers/stdio");
50
+ const util_1 = require("../../util");
51
+ const fs = __importStar(require("fs/promises"));
52
+ const path_1 = __importDefault(require("path"));
53
+ // Clean up SSH config files older than this threshold (in milliseconds)
54
+ // Default: 24 hours
55
+ const STALE_CONFIG_THRESHOLD_MS = 24 * 60 * 60 * 1000;
56
+ /**
57
+ * Cleanup stale SSH config files that were not properly deleted
58
+ *
59
+ * This function removes config files in the ssh/configs directory that are older
60
+ * than STALE_CONFIG_THRESHOLD_MS. These files should normally be cleaned up
61
+ * by ssh-proxy, but may be left behind if:
62
+ * - The SSH connection was never established
63
+ * - ssh-proxy crashed before cleanup
64
+ * - The user cancelled the connection
65
+ *
66
+ * @param debug - Whether to print debug information
67
+ */
68
+ const cleanupStaleSshConfigs = (debug) => __awaiter(void 0, void 0, void 0, function* () {
69
+ try {
70
+ const configsDir = path_1.default.join(util_1.P0_PATH, "ssh", "configs");
71
+ // Check if the directory exists
72
+ try {
73
+ yield fs.access(configsDir);
74
+ }
75
+ catch (_a) {
76
+ // Directory doesn't exist, nothing to clean up
77
+ return;
78
+ }
79
+ const files = yield fs.readdir(configsDir);
80
+ const configFiles = files.filter((file) => file.endsWith(".config"));
81
+ const now = Date.now();
82
+ let cleanedCount = 0;
83
+ for (const file of configFiles) {
84
+ const filePath = path_1.default.join(configsDir, file);
85
+ try {
86
+ const stats = yield fs.stat(filePath);
87
+ const ageMs = now - stats.mtimeMs;
88
+ if (ageMs > STALE_CONFIG_THRESHOLD_MS) {
89
+ yield fs.rm(filePath);
90
+ cleanedCount++;
91
+ if (debug) {
92
+ const ageHours = ageMs / 1000 / 60 / 60;
93
+ (0, stdio_1.print2)(`Cleaned up stale SSH config file: ${file} (age: ${ageHours.toFixed(1)} hours)`);
94
+ }
95
+ }
96
+ }
97
+ catch (err) {
98
+ if (debug) {
99
+ (0, stdio_1.print2)(`Warning: Failed to process ${file}: ${String(err)}`);
100
+ }
101
+ }
102
+ }
103
+ if (debug && cleanedCount > 0) {
104
+ (0, stdio_1.print2)(`Cleaned up ${cleanedCount} stale SSH config file(s)`);
105
+ }
106
+ }
107
+ catch (err) {
108
+ if (debug) {
109
+ (0, stdio_1.print2)(`Warning: Failed to cleanup stale SSH configs: ${String(err)}`);
110
+ }
111
+ }
112
+ });
113
+ exports.cleanupStaleSshConfigs = cleanupStaleSshConfigs;
114
+ //# sourceMappingURL=ssh-cleanup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ssh-cleanup.js","sourceRoot":"","sources":["../../../../src/commands/shared/ssh-cleanup.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;GASG;AACH,+CAA6C;AAC7C,qCAAqC;AACrC,gDAAkC;AAClC,gDAAwB;AAExB,wEAAwE;AACxE,oBAAoB;AACpB,MAAM,yBAAyB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAEtD;;;;;;;;;;;GAWG;AACI,MAAM,sBAAsB,GAAG,CAAO,KAAe,EAAE,EAAE;IAC9D,IAAI;QACF,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,cAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QAExD,gCAAgC;QAChC,IAAI;YACF,MAAM,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;SAC7B;QAAC,WAAM;YACN,+CAA+C;YAC/C,OAAO;SACR;QAED,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC3C,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;QAErE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,YAAY,GAAG,CAAC,CAAC;QAErB,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE;YAC9B,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YAE7C,IAAI;gBACF,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACtC,MAAM,KAAK,GAAG,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC;gBAElC,IAAI,KAAK,GAAG,yBAAyB,EAAE;oBACrC,MAAM,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;oBACtB,YAAY,EAAE,CAAC;oBACf,IAAI,KAAK,EAAE;wBACT,MAAM,QAAQ,GAAG,KAAK,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC;wBACxC,IAAA,cAAM,EACJ,qCAAqC,IAAI,UAAU,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAChF,CAAC;qBACH;iBACF;aACF;YAAC,OAAO,GAAG,EAAE;gBACZ,IAAI,KAAK,EAAE;oBACT,IAAA,cAAM,EAAC,8BAA8B,IAAI,KAAK,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;iBAC9D;aACF;SACF;QAED,IAAI,KAAK,IAAI,YAAY,GAAG,CAAC,EAAE;YAC7B,IAAA,cAAM,EAAC,cAAc,YAAY,2BAA2B,CAAC,CAAC;SAC/D;KACF;IAAC,OAAO,GAAG,EAAE;QACZ,IAAI,KAAK,EAAE;YACT,IAAA,cAAM,EAAC,iDAAiD,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;SACxE;KACF;AACH,CAAC,CAAA,CAAC;AAlDW,QAAA,sBAAsB,0BAkDjC"}
@@ -48,9 +48,11 @@ You should have received a copy of the GNU General Public License along with @p0
48
48
  **/
49
49
  const destination_1 = require("../common/destination");
50
50
  const auth_1 = require("../drivers/auth");
51
+ const stdio_1 = require("../drivers/stdio");
51
52
  const ssh_1 = require("../plugins/ssh");
52
53
  const util_1 = require("../util");
53
54
  const ssh_2 = require("./shared/ssh");
55
+ const ssh_cleanup_1 = require("./shared/ssh-cleanup");
54
56
  const fs = __importStar(require("fs/promises"));
55
57
  const path_1 = __importDefault(require("path"));
56
58
  const sshProxyCommand = (yargs) => yargs.command("ssh-proxy <destination>", false, (yargs) => yargs
@@ -90,6 +92,8 @@ const sshProxyCommand = (yargs) => yargs.command("ssh-proxy <destination>", fals
90
92
  exports.sshProxyCommand = sshProxyCommand;
91
93
  const sshProxyAction = (args) => __awaiter(void 0, void 0, void 0, function* () {
92
94
  var _a;
95
+ // Clean up any stale SSH config files before proceeding
96
+ yield (0, ssh_cleanup_1.cleanupStaleSshConfigs)(args.debug);
93
97
  // Prefix is required because the backend uses it to determine that this is an AWS request
94
98
  const authn = yield (0, auth_1.authenticate)(args);
95
99
  // TODO(ENG-3142): Azure SSH currently doesn't support specifying a port; throw an error if one is set.
@@ -104,13 +108,27 @@ const sshProxyAction = (args) => __awaiter(void 0, void 0, void 0, function* ()
104
108
  const configFile = (0, destination_1.sanitizeAsFileName)(args.destination);
105
109
  const configLocation = path_1.default.join(util_1.P0_PATH, "ssh", "configs", `${configFile}.config`);
106
110
  if (args.debug) {
107
- ("Deleting request JSON file");
111
+ (0, stdio_1.print2)("Deleting request JSON file");
112
+ }
113
+ try {
114
+ yield fs.rm(args.requestJson);
115
+ }
116
+ catch (err) {
117
+ if (args.debug) {
118
+ (0, stdio_1.print2)(`Warning: Failed to delete request JSON file: ${String(err)}`);
119
+ }
108
120
  }
109
- yield fs.rm(args.requestJson);
110
121
  if (args.debug) {
111
- ("Deleting ssh Config file");
122
+ (0, stdio_1.print2)("Deleting ssh Config file");
123
+ }
124
+ try {
125
+ yield fs.rm(configLocation);
126
+ }
127
+ catch (err) {
128
+ if (args.debug) {
129
+ (0, stdio_1.print2)(`Warning: Failed to delete ssh config file: ${String(err)}`);
130
+ }
112
131
  }
113
- yield fs.rm(configLocation);
114
132
  yield (0, ssh_1.sshProxy)({
115
133
  authn,
116
134
  cmdArgs: args,
@@ -1 +1 @@
1
- {"version":3,"file":"ssh-proxy.js","sourceRoot":"","sources":["../../../src/commands/ssh-proxy.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;GASG;AACH,uDAA2D;AAC3D,0CAA+C;AAC/C,wCAA0C;AAC1C,kCAAkC;AAClC,sCAAkE;AAClE,gDAAkC;AAClC,gDAAwB;AAGjB,MAAM,eAAe,GAAG,CAAC,KAAiB,EAAE,EAAE,CACnD,KAAK,CAAC,OAAO,CACX,yBAAyB,EACzB,KAAK,EACL,CAAC,KAAK,EAAE,EAAE,CACR,KAAK;KACF,UAAU,CAAC,aAAa,EAAE;IACzB,IAAI,EAAE,QAAQ;IACd,YAAY,EAAE,IAAI;CACnB,CAAC;KACD,MAAM,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,QAAQ;IACd,YAAY,EAAE,IAAI;CACnB,CAAC;KACD,MAAM,CAAC,UAAU,EAAE;IAClB,WAAW,EAAE,IAAI;IACjB,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,iDAAiD;IAC3D,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,CAAC;IAElD,YAAY,EAAE,IAAI;CACnB,CAAC;KACD,MAAM,CAAC,cAAc,EAAE;IACtB,KAAK,EAAE,GAAG;IACV,WAAW,EAAE,IAAI;IACjB,IAAI,EAAE,QAAQ;IACd,QAAQ,EACN,4DAA4D;IAC9D,YAAY,EAAE,IAAI;CACnB,CAAC;KACD,MAAM,CAAC,aAAa,EAAE;IACrB,WAAW,EAAE,IAAI;IACjB,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,gCAAgC;IAC1C,YAAY,EAAE,IAAI;CACnB,CAAC;KACD,MAAM,CAAC,OAAO,EAAE;IACf,IAAI,EAAE,SAAS;IACf,QAAQ,EAAE,0BAA0B;CACrC,CAAC;KACD,KAAK,CAAC,4BAA4B,CAAC,EAExC,cAAc,CACf,CAAC;AA3CS,QAAA,eAAe,mBA2CxB;AAEJ,MAAM,cAAc,GAAG,CACrB,IAAmD,EACnD,EAAE;;IACF,0FAA0F;IAC1F,MAAM,KAAK,GAAG,MAAM,IAAA,mBAAY,EAAC,IAAI,CAAC,CAAC;IAEvC,uGAAuG;IACvG,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;QAClD,MAAM,wHAAwH,CAAC;KAChI;IAED,MAAM,WAAW,GAAG,mBAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAEjD,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAChE,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAExC,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAEhE,2FAA2F;IAC3F,MAAM,UAAU,GAAG,IAAA,gCAAkB,EAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAExD,MAAM,cAAc,GAAG,cAAI,CAAC,IAAI,CAC9B,cAAO,EACP,KAAK,EACL,SAAS,EACT,GAAG,UAAU,SAAS,CACvB,CAAC;IAEF,IAAI,IAAI,CAAC,KAAK,EAAE;QACd,CAAC,4BAA4B,CAAC,CAAC;KAChC;IACD,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAE9B,IAAI,IAAI,CAAC,KAAK,EAAE;QACd,CAAC,0BAA0B,CAAC,CAAC;KAC9B;IACD,MAAM,EAAE,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC;IAE5B,MAAM,IAAA,cAAQ,EAAC;QACb,KAAK;QACL,OAAO,EAAE,IAAI;QACb,OAAO;QACP,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,UAAU;QACV,KAAK,EAAE,MAAA,IAAI,CAAC,KAAK,mCAAI,KAAK;QAC1B,WAAW;QACX,IAAI,EAAE,IAAI,CAAC,IAAI;KAChB,CAAC,CAAC;AACL,CAAC,CAAA,CAAC"}
1
+ {"version":3,"file":"ssh-proxy.js","sourceRoot":"","sources":["../../../src/commands/ssh-proxy.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;GASG;AACH,uDAA2D;AAC3D,0CAA+C;AAC/C,4CAA0C;AAC1C,wCAA0C;AAC1C,kCAAkC;AAClC,sCAAkE;AAClE,sDAA8D;AAC9D,gDAAkC;AAClC,gDAAwB;AAGjB,MAAM,eAAe,GAAG,CAAC,KAAiB,EAAE,EAAE,CACnD,KAAK,CAAC,OAAO,CACX,yBAAyB,EACzB,KAAK,EACL,CAAC,KAAK,EAAE,EAAE,CACR,KAAK;KACF,UAAU,CAAC,aAAa,EAAE;IACzB,IAAI,EAAE,QAAQ;IACd,YAAY,EAAE,IAAI;CACnB,CAAC;KACD,MAAM,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,QAAQ;IACd,YAAY,EAAE,IAAI;CACnB,CAAC;KACD,MAAM,CAAC,UAAU,EAAE;IAClB,WAAW,EAAE,IAAI;IACjB,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,iDAAiD;IAC3D,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,CAAC;IAElD,YAAY,EAAE,IAAI;CACnB,CAAC;KACD,MAAM,CAAC,cAAc,EAAE;IACtB,KAAK,EAAE,GAAG;IACV,WAAW,EAAE,IAAI;IACjB,IAAI,EAAE,QAAQ;IACd,QAAQ,EACN,4DAA4D;IAC9D,YAAY,EAAE,IAAI;CACnB,CAAC;KACD,MAAM,CAAC,aAAa,EAAE;IACrB,WAAW,EAAE,IAAI;IACjB,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,gCAAgC;IAC1C,YAAY,EAAE,IAAI;CACnB,CAAC;KACD,MAAM,CAAC,OAAO,EAAE;IACf,IAAI,EAAE,SAAS;IACf,QAAQ,EAAE,0BAA0B;CACrC,CAAC;KACD,KAAK,CAAC,4BAA4B,CAAC,EAExC,cAAc,CACf,CAAC;AA3CS,QAAA,eAAe,mBA2CxB;AAEJ,MAAM,cAAc,GAAG,CACrB,IAAmD,EACnD,EAAE;;IACF,wDAAwD;IACxD,MAAM,IAAA,oCAAsB,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEzC,0FAA0F;IAC1F,MAAM,KAAK,GAAG,MAAM,IAAA,mBAAY,EAAC,IAAI,CAAC,CAAC;IAEvC,uGAAuG;IACvG,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;QAClD,MAAM,wHAAwH,CAAC;KAChI;IAED,MAAM,WAAW,GAAG,mBAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAEjD,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAChE,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAExC,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAEhE,2FAA2F;IAC3F,MAAM,UAAU,GAAG,IAAA,gCAAkB,EAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAExD,MAAM,cAAc,GAAG,cAAI,CAAC,IAAI,CAC9B,cAAO,EACP,KAAK,EACL,SAAS,EACT,GAAG,UAAU,SAAS,CACvB,CAAC;IAEF,IAAI,IAAI,CAAC,KAAK,EAAE;QACd,IAAA,cAAM,EAAC,4BAA4B,CAAC,CAAC;KACtC;IACD,IAAI;QACF,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;KAC/B;IAAC,OAAO,GAAG,EAAE;QACZ,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,IAAA,cAAM,EAAC,gDAAgD,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;SACvE;KACF;IAED,IAAI,IAAI,CAAC,KAAK,EAAE;QACd,IAAA,cAAM,EAAC,0BAA0B,CAAC,CAAC;KACpC;IACD,IAAI;QACF,MAAM,EAAE,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC;KAC7B;IAAC,OAAO,GAAG,EAAE;QACZ,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,IAAA,cAAM,EAAC,8CAA8C,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;SACrE;KACF;IAED,MAAM,IAAA,cAAQ,EAAC;QACb,KAAK;QACL,OAAO,EAAE,IAAI;QACb,OAAO;QACP,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,UAAU;QACV,KAAK,EAAE,MAAA,IAAI,CAAC,KAAK,mCAAI,KAAK;QAC1B,WAAW;QACX,IAAI,EAAE,IAAI,CAAC,IAAI;KAChB,CAAC,CAAC;AACL,CAAC,CAAA,CAAC"}
@@ -29,6 +29,7 @@ const auth_1 = require("../drivers/auth");
29
29
  const stdio_1 = require("../drivers/stdio");
30
30
  const util_1 = require("../util");
31
31
  const ssh_1 = require("./shared/ssh");
32
+ const ssh_cleanup_1 = require("./shared/ssh-cleanup");
32
33
  const fs_1 = __importDefault(require("fs"));
33
34
  const path_1 = __importDefault(require("path"));
34
35
  const tmp_promise_1 = __importDefault(require("tmp-promise"));
@@ -73,6 +74,8 @@ exports.sshResolveCommand = sshResolveCommand;
73
74
  */
74
75
  const sshResolveAction = (args) => __awaiter(void 0, void 0, void 0, function* () {
75
76
  var _a, _b, _c, _d;
77
+ // Clean up any stale SSH config files before proceeding
78
+ yield (0, ssh_cleanup_1.cleanupStaleSshConfigs)(args.debug);
76
79
  const silentlyExit = (0, util_1.conditionalAbortBeforeThrow)((_a = args.quiet) !== null && _a !== void 0 ? _a : false);
77
80
  const requestErrorHandler = (err) => {
78
81
  if (typeof err === "string" &&
@@ -1 +1 @@
1
- {"version":3,"file":"ssh-resolve.js","sourceRoot":"","sources":["../../../src/commands/ssh-resolve.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ssh-resolve.js","sourceRoot":"","sources":["../../../src/commands/ssh-resolve.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,7 @@ const auth_1 = require("../drivers/auth");
24
24
  const ssh_1 = require("../plugins/ssh");
25
25
  const util_1 = require("../util");
26
26
  const ssh_2 = require("./shared/ssh");
27
+ const ssh_cleanup_1 = require("./shared/ssh-cleanup");
27
28
  const sshCommand = (yargs) => yargs.command("ssh <destination> [command [arguments..]]", "SSH into a virtual machine", (yargs) => yargs
28
29
  .positional("destination", {
29
30
  type: "string",
@@ -80,6 +81,8 @@ exports.sshCommand = sshCommand;
80
81
  * - AWS EC2 via SSM with Okta SAML
81
82
  */
82
83
  const sshAction = (args) => __awaiter(void 0, void 0, void 0, function* () {
84
+ // Clean up any stale SSH config files before proceeding
85
+ yield (0, ssh_cleanup_1.cleanupStaleSshConfigs)(args.debug);
83
86
  // Prefix is required because the backend uses it to determine that this is an AWS request
84
87
  const authn = yield (0, auth_1.authenticate)(args);
85
88
  const sshOptions = Array.isArray(args["--"])
@@ -1 +1 @@
1
- {"version":3,"file":"ssh.js","sourceRoot":"","sources":["../../../src/commands/ssh.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ssh.js","sourceRoot":"","sources":["../../../src/commands/ssh.ts"],"names":[],"mappings":"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"}
@@ -29,7 +29,6 @@ const util_1 = require("../util");
29
29
  const version_1 = require("../version");
30
30
  const promises_1 = __importDefault(require("node:fs/promises"));
31
31
  const node_path_1 = __importDefault(require("node:path"));
32
- const node_sea_1 = require("node:sea");
33
32
  const semver_1 = __importDefault(require("semver"));
34
33
  const LATEST_VERSION_FILE = "last-version-check";
35
34
  // We don't want to add any significant overhead to p0 commands with the version check,
@@ -106,7 +105,7 @@ const checkVersion = (yargs) => __awaiter(void 0, void 0, void 0, function* () {
106
105
  (0, stdio_1.print2)("Your version: " + current.padStart(15));
107
106
  }
108
107
  if (semver_1.default.lt(current, latest)) {
109
- if ((0, node_sea_1.isSea)()) {
108
+ if (version_1.p0VersionInfo.build.standalone) {
110
109
  (0, stdio_1.print2)(`╔═══════════════════════════════════════════════╗
111
110
  ║ A new version is available ║
112
111
  ║ ║
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../../src/middlewares/version.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../../src/middlewares/version.ts"],"names":[],"mappings":"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"}
@@ -78,7 +78,7 @@ exports.awsSshProvider = {
78
78
  submitPublicKey(authn, request, requestId, publicKey, debug) {
79
79
  return __awaiter(this, void 0, void 0, function* () {
80
80
  if (request.generated.publicKey) {
81
- if (request.generated.publicKey !== publicKey) {
81
+ if (request.generated.publicKey.trim() !== publicKey.trim()) {
82
82
  throw "Public key mismatch. Please revoke the request and try again.";
83
83
  }
84
84
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ssh.js","sourceRoot":"","sources":["../../../../src/plugins/aws/ssh.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ssh.js","sourceRoot":"","sources":["../../../../src/plugins/aws/ssh.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,14 @@
1
- export declare const p0VersionInfo: {
1
+ type VersionInfo = {
2
2
  name: string;
3
3
  version: string;
4
+ build: {
5
+ standalone: false;
6
+ } | {
7
+ standalone: true;
8
+ os: string;
9
+ arch: string;
10
+ };
4
11
  };
12
+ export declare const stringifyVersionInfo: (info: VersionInfo) => string;
13
+ export declare const p0VersionInfo: VersionInfo;
14
+ export {};
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.p0VersionInfo = void 0;
6
+ exports.p0VersionInfo = exports.stringifyVersionInfo = void 0;
7
7
  /** Copyright © 2024-present P0 Security
8
8
 
9
9
  This file is part of @p0security/cli
@@ -15,6 +15,7 @@ This file is part of @p0security/cli
15
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/>.
16
16
  **/
17
17
  const node_fs_1 = __importDefault(require("node:fs"));
18
+ const node_os_1 = __importDefault(require("node:os"));
18
19
  const node_sea_1 = require("node:sea");
19
20
  const loadCurrentVersion = () => {
20
21
  try {
@@ -23,8 +24,16 @@ const loadCurrentVersion = () => {
23
24
  // static asset in sea-config.json, as it is not included in the build by default.
24
25
  const packageJsonText = (0, node_sea_1.getAsset)("package.json", "utf-8");
25
26
  const json = JSON.parse(packageJsonText);
26
- const { name, version } = json;
27
- return { name, version };
27
+ const { name, version, $build } = json;
28
+ return {
29
+ name,
30
+ version,
31
+ build: {
32
+ standalone: true,
33
+ os: ($build === null || $build === void 0 ? void 0 : $build.os) || node_os_1.default.platform(),
34
+ arch: ($build === null || $build === void 0 ? void 0 : $build.arch) || node_os_1.default.arch(),
35
+ },
36
+ };
28
37
  }
29
38
  // Note that package.json is installed at <root>/package.json,
30
39
  // whereas this gets compiled to <root>/build/dist/version.js
@@ -33,12 +42,30 @@ const loadCurrentVersion = () => {
33
42
  ? `${__dirname}/../package.json`
34
43
  : `${__dirname}/../../package.json`;
35
44
  const { name, version } = JSON.parse(node_fs_1.default.readFileSync(packageJsonPath).toString("utf-8"));
36
- return { name, version };
45
+ return {
46
+ name,
47
+ version,
48
+ build: { standalone: false },
49
+ };
37
50
  }
38
51
  catch (_a) {
39
- return { name: "@p0security/cli", version: "unknown" };
52
+ return {
53
+ name: "@p0security/cli",
54
+ version: "unknown",
55
+ build: { standalone: false },
56
+ };
40
57
  }
41
58
  };
59
+ const stringifyVersionInfo = (info) => {
60
+ const { version, build } = info;
61
+ if (build.standalone) {
62
+ return `P0 Security CLI ${version} (built for ${build.os}/${build.arch})`;
63
+ }
64
+ else {
65
+ return `P0 Security CLI ${version}`;
66
+ }
67
+ };
68
+ exports.stringifyVersionInfo = stringifyVersionInfo;
42
69
  // p0VersionInfo is a promise that resolves to the current version info
43
70
  // The importer needs to await this promise to actually read the version number
44
71
  // 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,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,GACnB,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM;YAC7B,CAAC,CAAC,GAAG,SAAS,kBAAkB;YAChC,CAAC,CAAC,GAAG,SAAS,qBAAqB,CAAC;QACxC,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"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":";;;;;;AAAA;;;;;;;;;GASG;AACH,sDAAyB;AACzB,sDAAyB;AACzB,uCAA2C;AAQ3C,MAAM,kBAAkB,GAAG,GAAgB,EAAE;IAC3C,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,MAAM,EAAE,GAAG,IAAI,CAAC;YAEvC,OAAO;gBACL,IAAI;gBACJ,OAAO;gBACP,KAAK,EAAE;oBACL,UAAU,EAAE,IAAI;oBAChB,EAAE,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,EAAE,KAAI,iBAAE,CAAC,QAAQ,EAAE;oBAC/B,IAAI,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,KAAI,iBAAE,CAAC,IAAI,EAAE;iBAChC;aACF,CAAC;SACH;QAED,8DAA8D;QAC9D,6DAA6D;QAC7D,mEAAmE;QACnE,MAAM,eAAe,GACnB,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM;YAC7B,CAAC,CAAC,GAAG,SAAS,kBAAkB;YAChC,CAAC,CAAC,GAAG,SAAS,qBAAqB,CAAC;QACxC,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;YACL,IAAI;YACJ,OAAO;YACP,KAAK,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE;SAC7B,CAAC;KACH;IAAC,WAAM;QACN,OAAO;YACL,IAAI,EAAE,iBAAiB;YACvB,OAAO,EAAE,SAAS;YAClB,KAAK,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE;SAC7B,CAAC;KACH;AACH,CAAC,CAAC;AAEK,MAAM,oBAAoB,GAAG,CAAC,IAAiB,EAAU,EAAE;IAChE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IAChC,IAAI,KAAK,CAAC,UAAU,EAAE;QACpB,OAAO,mBAAmB,OAAO,eAAe,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC;KAC3E;SAAM;QACL,OAAO,mBAAmB,OAAO,EAAE,CAAC;KACrC;AACH,CAAC,CAAC;AAPW,QAAA,oBAAoB,wBAO/B;AAEF,uEAAuE;AACvE,+EAA+E;AAC/E,wDAAwD;AACxD,EAAE;AACF,mEAAmE;AACnE,oCAAoC;AACvB,QAAA,aAAa,GAAG,kBAAkB,EAAE,CAAC"}