hikoutei 0.9.6 → 0.9.7
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/cli/checkpoint.d.ts +1 -87
- package/dist/cli/checkpoint.d.ts.map +1 -1
- package/dist/cli/checkpoint.js +6 -290
- package/dist/cli/checkpoint.js.map +1 -1
- package/dist/cli/envFileWriter.d.ts +85 -0
- package/dist/cli/envFileWriter.d.ts.map +1 -0
- package/dist/cli/envFileWriter.js +314 -0
- package/dist/cli/envFileWriter.js.map +1 -0
- package/dist/cli/keyMaterial.d.ts +102 -0
- package/dist/cli/keyMaterial.d.ts.map +1 -0
- package/dist/cli/keyMaterial.js +305 -0
- package/dist/cli/keyMaterial.js.map +1 -0
- package/dist/cli/setupFlow.d.ts +3 -91
- package/dist/cli/setupFlow.d.ts.map +1 -1
- package/dist/cli/setupFlow.js +8 -423
- package/dist/cli/setupFlow.js.map +1 -1
- package/dist/cli/setupPathCollision.d.ts +45 -0
- package/dist/cli/setupPathCollision.d.ts.map +1 -0
- package/dist/cli/setupPathCollision.js +143 -0
- package/dist/cli/setupPathCollision.js.map +1 -0
- package/package.json +1 -1
package/dist/cli/checkpoint.d.ts
CHANGED
|
@@ -530,92 +530,7 @@ export declare function fsyncParentDirectory(parentPath: string, fs: SetupStateW
|
|
|
530
530
|
* conflict, never a silent proceed.
|
|
531
531
|
*/
|
|
532
532
|
export declare function checkStateCompatibility(state: SetupState, input: StateCompatibilityInput): StateCompatibility;
|
|
533
|
-
|
|
534
|
-
* Parses and validates raw service-account key JSON (no filesystem access).
|
|
535
|
-
*
|
|
536
|
-
* Shared by the secure descriptor read and by tests. The key material is
|
|
537
|
-
* never returned; only the non-secret metadata is promoted. The validated
|
|
538
|
-
* in-memory key material is available to the credential reader
|
|
539
|
-
* (`readServiceAccountKeyCredentialSecurely`) for the SA verify phase.
|
|
540
|
-
*/
|
|
541
|
-
export declare function parseServiceAccountKeyJson(raw: string, sourceLabel: string): KeyMetadataResult;
|
|
542
|
-
/**
|
|
543
|
-
* Filesystem operations the secure key read uses; injectable for tests.
|
|
544
|
-
*/
|
|
545
|
-
export interface KeyFileFs {
|
|
546
|
-
lstatSync(path: string): Stats;
|
|
547
|
-
openSync(path: string, flags: number): number;
|
|
548
|
-
fchmodSync(fd: number, mode: number): void;
|
|
549
|
-
fstatSync(fd: number): Stats;
|
|
550
|
-
readFileSync(fd: number, encoding: "utf8"): string;
|
|
551
|
-
closeSync(fd: number): void;
|
|
552
|
-
}
|
|
553
|
-
/**
|
|
554
|
-
* Securely reads an existing service-account key file through ONE
|
|
555
|
-
* descriptor boundary and enforces owner-only mode 0600.
|
|
556
|
-
*
|
|
557
|
-
* A missing file is `absent`. An existing entry must be a regular file (a
|
|
558
|
-
* symlink is refused outright; directories, FIFOs, and sockets are refused
|
|
559
|
-
* too). The file is opened with `O_NOFOLLOW` (where the platform defines it
|
|
560
|
-
* — a symlink swapped in between the type check and the open fails with
|
|
561
|
-
* ELOOP/EMLINK and is refused) plus `O_NONBLOCK` (where the platform
|
|
562
|
-
* defines it — a FIFO swapped in between the type check and the open
|
|
563
|
-
* returns from the open instead of blocking), the descriptor is
|
|
564
|
-
* fstat-verified as a regular file with the SAME device/inode the lstat
|
|
565
|
-
* observed BEFORE any fchmod (a directory, FIFO, socket, device, or
|
|
566
|
-
* replaced-file entry is refused with zero chmod and zero read calls), and
|
|
567
|
-
* only then is mode 0600 applied THROUGH the open descriptor
|
|
568
|
-
* with `fchmod` and the resulting mode verified on the same descriptor
|
|
569
|
-
* before a single byte is read — never an existsSync/readFileSync
|
|
570
|
-
* check-then-use sequence, so an alias planted mid-read cannot receive the
|
|
571
|
-
* chmod or be read through. Only after the descriptor is secured is the
|
|
572
|
-
* content parsed and validated (JSON shape, RSA private key, project,
|
|
573
|
-
* client email, and non-secret key id). Any inspect/open/type/chmod/read/
|
|
574
|
-
* parse failure fails closed with a stable path-only message that never
|
|
575
|
-
* contains raw error text or key material, and the descriptor is closed
|
|
576
|
-
* exactly once (a close failure never overrides the verdict). Supported
|
|
577
|
-
* platforms (macOS/Linux) can
|
|
578
|
-
* enforce owner-only modes; Windows automatic setup is refused before this
|
|
579
|
-
* code runs.
|
|
580
|
-
*/
|
|
581
|
-
export declare function readServiceAccountKeySecurely(keyPath: string, fs?: KeyFileFs): SecureKeyReadResult;
|
|
582
|
-
/**
|
|
583
|
-
* Result of the secure, descriptor-based key credential read.
|
|
584
|
-
*
|
|
585
|
-
* Same descriptor boundary as `readServiceAccountKeySecurely`, but the
|
|
586
|
-
* validated `private_key` is promoted into process memory for the SA
|
|
587
|
-
* access verify phase: the verifier is given the credentials in memory and
|
|
588
|
-
* NEVER reopens the key pathname, so a mid-run replacement cannot redirect
|
|
589
|
-
* it. The key material exists only in memory for the run; it is never
|
|
590
|
-
* returned by the setup result, never written to the checkpoint or `.env`,
|
|
591
|
-
* and never included in any error message.
|
|
592
|
-
*/
|
|
593
|
-
export type SecureKeyCredentialReadResult = {
|
|
594
|
-
readonly status: "absent";
|
|
595
|
-
} | {
|
|
596
|
-
readonly status: "ok";
|
|
597
|
-
readonly credentials: {
|
|
598
|
-
readonly projectId: string;
|
|
599
|
-
readonly clientEmail: string;
|
|
600
|
-
readonly privateKey: string;
|
|
601
|
-
};
|
|
602
|
-
} | {
|
|
603
|
-
readonly status: "invalid";
|
|
604
|
-
readonly message: string;
|
|
605
|
-
};
|
|
606
|
-
/**
|
|
607
|
-
* Securely reads an existing service-account key file and promotes the
|
|
608
|
-
* validated credential into process memory.
|
|
609
|
-
*
|
|
610
|
-
* Identical descriptor security to `readServiceAccountKeySecurely`
|
|
611
|
-
* (regular file, no-follow, non-block, lstat/fstat inode binding, owner-only
|
|
612
|
-
* 0600 through the descriptor before any read, sanitized failures), but
|
|
613
|
-
* the returned credentials carry the validated `privateKey` so the SA
|
|
614
|
-
* access verifier can authenticate from memory. The private key is only in
|
|
615
|
-
* process memory for the run and never appears in results, messages, the
|
|
616
|
-
* checkpoint, or the `.env` file.
|
|
617
|
-
*/
|
|
618
|
-
export declare function readServiceAccountKeyCredentialSecurely(keyPath: string, fs?: KeyFileFs): SecureKeyCredentialReadResult;
|
|
533
|
+
export { parseServiceAccountKeyJson, readServiceAccountKeySecurely, readServiceAccountKeyCredentialSecurely, type KeyFileFs, } from "./keyMaterial.js";
|
|
619
534
|
/** Filesystem operations the exclusive setup lock uses; injectable for tests. */
|
|
620
535
|
export interface LockFs {
|
|
621
536
|
mkdirSync(path: string, options: {
|
|
@@ -714,5 +629,4 @@ export declare function acquireSetupLock(lockPath: string, fs?: LockFs): SetupLo
|
|
|
714
629
|
export declare function releaseSetupLock(lockPath: string, identity: LockIdentity, fs?: LockFs): void;
|
|
715
630
|
/** Generates a fresh creation marker for one setup run. */
|
|
716
631
|
export declare function generateCreationMarker(): string;
|
|
717
|
-
export {};
|
|
718
632
|
//# sourceMappingURL=checkpoint.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkpoint.d.ts","sourceRoot":"","sources":["../../src/cli/checkpoint.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+FG;AAGH,OAAO,EAcL,KAAK,KAAK,EACX,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"checkpoint.d.ts","sourceRoot":"","sources":["../../src/cli/checkpoint.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/checkpoint.js
CHANGED
|
@@ -94,9 +94,10 @@
|
|
|
94
94
|
* (device/inode verified), so a replacement acquired after release is never
|
|
95
95
|
* deleted.
|
|
96
96
|
*/
|
|
97
|
-
import {
|
|
97
|
+
import { randomUUID } from "node:crypto";
|
|
98
98
|
import { closeSync, constants, fchmodSync, fstatSync, fsyncSync, lstatSync, mkdirSync, openSync, readFileSync, renameSync, rmdirSync, unlinkSync, writeSync, } from "node:fs";
|
|
99
99
|
import { dirname } from "node:path";
|
|
100
|
+
import { noFollowFlag, nonBlockFlag } from "./envFileWriter.js";
|
|
100
101
|
/** Default checkpoint file name, resolved against the current directory. */
|
|
101
102
|
export const SETUP_STATE_FILE_NAME = ".hikoutei-setup-state.json";
|
|
102
103
|
/**
|
|
@@ -879,299 +880,14 @@ export function checkStateCompatibility(state, input) {
|
|
|
879
880
|
}
|
|
880
881
|
return { status: "ok" };
|
|
881
882
|
}
|
|
882
|
-
/**
|
|
883
|
-
* Parses and validates raw service-account key JSON (no filesystem access).
|
|
884
|
-
*
|
|
885
|
-
* Shared by the secure descriptor read and by tests. The key material is
|
|
886
|
-
* never returned; only the non-secret metadata is promoted. The validated
|
|
887
|
-
* in-memory key material is available to the credential reader
|
|
888
|
-
* (`readServiceAccountKeyCredentialSecurely`) for the SA verify phase.
|
|
889
|
-
*/
|
|
890
|
-
export function parseServiceAccountKeyJson(raw, sourceLabel) {
|
|
891
|
-
const result = parseServiceAccountKeyPayload(raw, sourceLabel);
|
|
892
|
-
if (result.status === "invalid") {
|
|
893
|
-
return result;
|
|
894
|
-
}
|
|
895
|
-
const { projectId, clientEmail, keyId } = result.payload;
|
|
896
|
-
return { status: "ok", metadata: { projectId, clientEmail, keyId } };
|
|
897
|
-
}
|
|
898
|
-
/**
|
|
899
|
-
* Parses and validates raw service-account key JSON, keeping the validated
|
|
900
|
-
* private key in memory for the credential reader.
|
|
901
|
-
*
|
|
902
|
-
* The shared validation core of `parseServiceAccountKeyJson`: JSON shape,
|
|
903
|
-
* RSA private key, project, client email, and non-secret key id. The
|
|
904
|
-
* private key is only ever promoted into process memory (never into a
|
|
905
|
-
* result, message, or the checkpoint); the metadata reader discards it and
|
|
906
|
-
* the credential reader hands it to the SA access verifier for one run.
|
|
907
|
-
*/
|
|
908
|
-
function parseServiceAccountKeyPayload(raw, sourceLabel) {
|
|
909
|
-
let parsed;
|
|
910
|
-
try {
|
|
911
|
-
parsed = JSON.parse(raw);
|
|
912
|
-
}
|
|
913
|
-
catch {
|
|
914
|
-
// Never forward the parse exception text: Node's JSON.parse failures
|
|
915
|
-
// can include a snippet of the input, and a key file is untrusted
|
|
916
|
-
// (it may contain arbitrary text in place of key material).
|
|
917
|
-
return { status: "invalid", message: `${sourceLabel} is not valid JSON` };
|
|
918
|
-
}
|
|
919
|
-
if (!isRecord(parsed)) {
|
|
920
|
-
return { status: "invalid", message: `${sourceLabel} is not a service-account key file` };
|
|
921
|
-
}
|
|
922
|
-
const { type, project_id, client_email, private_key, private_key_id } = parsed;
|
|
923
|
-
if (type !== "service_account" ||
|
|
924
|
-
typeof project_id !== "string" ||
|
|
925
|
-
project_id === "" ||
|
|
926
|
-
typeof client_email !== "string" ||
|
|
927
|
-
client_email === "" ||
|
|
928
|
-
typeof private_key !== "string" ||
|
|
929
|
-
private_key === "" ||
|
|
930
|
-
typeof private_key_id !== "string" ||
|
|
931
|
-
!SERVICE_ACCOUNT_KEY_ID_PATTERN.test(private_key_id)) {
|
|
932
|
-
return { status: "invalid", message: `${sourceLabel} is not a service-account key file` };
|
|
933
|
-
}
|
|
934
|
-
if (!isValidRsaPrivateKey(private_key)) {
|
|
935
|
-
return { status: "invalid", message: `${sourceLabel} contains an invalid or non-RSA private key` };
|
|
936
|
-
}
|
|
937
|
-
return {
|
|
938
|
-
status: "ok",
|
|
939
|
-
payload: {
|
|
940
|
-
projectId: project_id,
|
|
941
|
-
clientEmail: client_email,
|
|
942
|
-
keyId: private_key_id,
|
|
943
|
-
privateKey: private_key,
|
|
944
|
-
},
|
|
945
|
-
};
|
|
946
|
-
}
|
|
947
|
-
const defaultKeyFileFs = {
|
|
948
|
-
lstatSync,
|
|
949
|
-
openSync,
|
|
950
|
-
fchmodSync,
|
|
951
|
-
fstatSync,
|
|
952
|
-
readFileSync,
|
|
953
|
-
closeSync,
|
|
954
|
-
};
|
|
955
|
-
/**
|
|
956
|
-
* Securely reads an existing service-account key file through ONE
|
|
957
|
-
* descriptor boundary and enforces owner-only mode 0600.
|
|
958
|
-
*
|
|
959
|
-
* A missing file is `absent`. An existing entry must be a regular file (a
|
|
960
|
-
* symlink is refused outright; directories, FIFOs, and sockets are refused
|
|
961
|
-
* too). The file is opened with `O_NOFOLLOW` (where the platform defines it
|
|
962
|
-
* — a symlink swapped in between the type check and the open fails with
|
|
963
|
-
* ELOOP/EMLINK and is refused) plus `O_NONBLOCK` (where the platform
|
|
964
|
-
* defines it — a FIFO swapped in between the type check and the open
|
|
965
|
-
* returns from the open instead of blocking), the descriptor is
|
|
966
|
-
* fstat-verified as a regular file with the SAME device/inode the lstat
|
|
967
|
-
* observed BEFORE any fchmod (a directory, FIFO, socket, device, or
|
|
968
|
-
* replaced-file entry is refused with zero chmod and zero read calls), and
|
|
969
|
-
* only then is mode 0600 applied THROUGH the open descriptor
|
|
970
|
-
* with `fchmod` and the resulting mode verified on the same descriptor
|
|
971
|
-
* before a single byte is read — never an existsSync/readFileSync
|
|
972
|
-
* check-then-use sequence, so an alias planted mid-read cannot receive the
|
|
973
|
-
* chmod or be read through. Only after the descriptor is secured is the
|
|
974
|
-
* content parsed and validated (JSON shape, RSA private key, project,
|
|
975
|
-
* client email, and non-secret key id). Any inspect/open/type/chmod/read/
|
|
976
|
-
* parse failure fails closed with a stable path-only message that never
|
|
977
|
-
* contains raw error text or key material, and the descriptor is closed
|
|
978
|
-
* exactly once (a close failure never overrides the verdict). Supported
|
|
979
|
-
* platforms (macOS/Linux) can
|
|
980
|
-
* enforce owner-only modes; Windows automatic setup is refused before this
|
|
981
|
-
* code runs.
|
|
982
|
-
*/
|
|
983
|
-
export function readServiceAccountKeySecurely(keyPath, fs = defaultKeyFileFs) {
|
|
984
|
-
const result = readServiceAccountKeyPayloadSecurely(keyPath, fs);
|
|
985
|
-
if (result.status === "absent" || result.status === "invalid") {
|
|
986
|
-
return result;
|
|
987
|
-
}
|
|
988
|
-
const { projectId, clientEmail, keyId } = result.payload;
|
|
989
|
-
return { status: "ok", metadata: { projectId, clientEmail, keyId } };
|
|
990
|
-
}
|
|
991
|
-
/**
|
|
992
|
-
* Securely reads an existing service-account key file and promotes the
|
|
993
|
-
* validated credential into process memory.
|
|
994
|
-
*
|
|
995
|
-
* Identical descriptor security to `readServiceAccountKeySecurely`
|
|
996
|
-
* (regular file, no-follow, non-block, lstat/fstat inode binding, owner-only
|
|
997
|
-
* 0600 through the descriptor before any read, sanitized failures), but
|
|
998
|
-
* the returned credentials carry the validated `privateKey` so the SA
|
|
999
|
-
* access verifier can authenticate from memory. The private key is only in
|
|
1000
|
-
* process memory for the run and never appears in results, messages, the
|
|
1001
|
-
* checkpoint, or the `.env` file.
|
|
1002
|
-
*/
|
|
1003
|
-
export function readServiceAccountKeyCredentialSecurely(keyPath, fs = defaultKeyFileFs) {
|
|
1004
|
-
const result = readServiceAccountKeyPayloadSecurely(keyPath, fs);
|
|
1005
|
-
if (result.status === "absent" || result.status === "invalid") {
|
|
1006
|
-
return result;
|
|
1007
|
-
}
|
|
1008
|
-
const { projectId, clientEmail, privateKey } = result.payload;
|
|
1009
|
-
return { status: "ok", credentials: { projectId, clientEmail, privateKey } };
|
|
1010
|
-
}
|
|
1011
|
-
/**
|
|
1012
|
-
* The secure descriptor read shared by the metadata and credential
|
|
1013
|
-
* readers; see `readServiceAccountKeySecurely` for the full contract.
|
|
1014
|
-
*/
|
|
1015
|
-
function readServiceAccountKeyPayloadSecurely(keyPath, fs) {
|
|
1016
|
-
let lst;
|
|
1017
|
-
try {
|
|
1018
|
-
lst = fs.lstatSync(keyPath);
|
|
1019
|
-
}
|
|
1020
|
-
catch (error) {
|
|
1021
|
-
if (isNodeError(error) && error.code === "ENOENT") {
|
|
1022
|
-
return { status: "absent" };
|
|
1023
|
-
}
|
|
1024
|
-
// Generic path-only diagnostic: arbitrary thrown text from this
|
|
1025
|
-
// injected/filesystem stage (which may carry token or key sentinels)
|
|
1026
|
-
// must never reach the result.
|
|
1027
|
-
return { status: "invalid", message: `could not inspect ${keyPath}` };
|
|
1028
|
-
}
|
|
1029
|
-
if (lst === undefined) {
|
|
1030
|
-
// Unreachable: lstatSync either assigned or the catch returned above.
|
|
1031
|
-
return { status: "invalid", message: `could not inspect ${keyPath}` };
|
|
1032
|
-
}
|
|
1033
|
-
if (lst.isSymbolicLink()) {
|
|
1034
|
-
return {
|
|
1035
|
-
status: "invalid",
|
|
1036
|
-
message: `refusing to follow a symlink at ${keyPath}; remove it and retry`,
|
|
1037
|
-
};
|
|
1038
|
-
}
|
|
1039
|
-
if (!lst.isFile()) {
|
|
1040
|
-
return {
|
|
1041
|
-
status: "invalid",
|
|
1042
|
-
message: `${keyPath} is not a regular file; remove it and retry`,
|
|
1043
|
-
};
|
|
1044
|
-
}
|
|
1045
|
-
let fd;
|
|
1046
|
-
try {
|
|
1047
|
-
fd = fs.openSync(keyPath, constants.O_RDONLY | noFollowFlag() | nonBlockFlag());
|
|
1048
|
-
}
|
|
1049
|
-
catch (error) {
|
|
1050
|
-
if (isNodeError(error) && (error.code === "ELOOP" || error.code === "EMLINK")) {
|
|
1051
|
-
return {
|
|
1052
|
-
status: "invalid",
|
|
1053
|
-
message: `refusing to follow a symlink at ${keyPath}; remove it and retry`,
|
|
1054
|
-
};
|
|
1055
|
-
}
|
|
1056
|
-
// Generic path-only diagnostic: arbitrary thrown text from this
|
|
1057
|
-
// injected/filesystem stage (which may carry token or key sentinels)
|
|
1058
|
-
// must never reach the result. There is no descriptor to close here.
|
|
1059
|
-
return { status: "invalid", message: `could not open ${keyPath}` };
|
|
1060
|
-
}
|
|
1061
|
-
try {
|
|
1062
|
-
// The descriptor is fstat-verified as a REGULAR FILE immediately after
|
|
1063
|
-
// the open and BEFORE any fchmod: a directory, FIFO, socket, or device
|
|
1064
|
-
// swapped in between the lstat check and the open (O_NONBLOCK made the
|
|
1065
|
-
// open return instead of blocking on a FIFO) is refused with zero
|
|
1066
|
-
// chmod and zero read calls, so a directory replacement never receives
|
|
1067
|
-
// a mode change through this descriptor.
|
|
1068
|
-
let stat;
|
|
1069
|
-
try {
|
|
1070
|
-
stat = fs.fstatSync(fd);
|
|
1071
|
-
}
|
|
1072
|
-
catch {
|
|
1073
|
-
// Generic path-only diagnostic: arbitrary thrown text from this
|
|
1074
|
-
// injected/filesystem stage must never reach the result.
|
|
1075
|
-
return {
|
|
1076
|
-
status: "invalid",
|
|
1077
|
-
message: `could not verify owner-only permissions on ${keyPath}`,
|
|
1078
|
-
};
|
|
1079
|
-
}
|
|
1080
|
-
if (!stat.isFile()) {
|
|
1081
|
-
return {
|
|
1082
|
-
status: "invalid",
|
|
1083
|
-
message: `${keyPath} is not a regular file; remove it and retry`,
|
|
1084
|
-
};
|
|
1085
|
-
}
|
|
1086
|
-
if (lst.dev !== stat.dev || lst.ino !== stat.ino) {
|
|
1087
|
-
// The descriptor is NOT the file the lstat verified: the entry was
|
|
1088
|
-
// replaced between the type check and the open. Refuse BEFORE any
|
|
1089
|
-
// fchmod or read — a swapped alias must never receive the chmod or
|
|
1090
|
-
// contribute key material.
|
|
1091
|
-
return {
|
|
1092
|
-
status: "invalid",
|
|
1093
|
-
message: `${keyPath} changed while being read; remove it and retry`,
|
|
1094
|
-
};
|
|
1095
|
-
}
|
|
1096
|
-
// Only a verified regular file is secured: mode 0600 is applied
|
|
1097
|
-
// THROUGH the open descriptor and the resulting mode is verified on
|
|
1098
|
-
// the same descriptor before a single byte is read.
|
|
1099
|
-
try {
|
|
1100
|
-
fs.fchmodSync(fd, SERVICE_ACCOUNT_KEY_FILE_MODE);
|
|
1101
|
-
}
|
|
1102
|
-
catch {
|
|
1103
|
-
// Generic path-only diagnostic: arbitrary thrown text from this
|
|
1104
|
-
// injected/filesystem stage (or the injected chmod failure) must
|
|
1105
|
-
// never reach the result.
|
|
1106
|
-
return {
|
|
1107
|
-
status: "invalid",
|
|
1108
|
-
message: `could not secure ${keyPath} to owner-only mode`,
|
|
1109
|
-
};
|
|
1110
|
-
}
|
|
1111
|
-
try {
|
|
1112
|
-
stat = fs.fstatSync(fd);
|
|
1113
|
-
}
|
|
1114
|
-
catch {
|
|
1115
|
-
// Generic path-only diagnostic: arbitrary thrown text from this
|
|
1116
|
-
// injected/filesystem stage must never reach the result.
|
|
1117
|
-
return {
|
|
1118
|
-
status: "invalid",
|
|
1119
|
-
message: `could not verify owner-only permissions on ${keyPath}`,
|
|
1120
|
-
};
|
|
1121
|
-
}
|
|
1122
|
-
const mode = Number(stat.mode);
|
|
1123
|
-
if (!stat.isFile() || (mode & 0o777) !== SERVICE_ACCOUNT_KEY_FILE_MODE) {
|
|
1124
|
-
return {
|
|
1125
|
-
status: "invalid",
|
|
1126
|
-
message: `could not verify owner-only permissions on ${keyPath}`,
|
|
1127
|
-
};
|
|
1128
|
-
}
|
|
1129
|
-
let raw;
|
|
1130
|
-
try {
|
|
1131
|
-
raw = fs.readFileSync(fd, "utf8");
|
|
1132
|
-
}
|
|
1133
|
-
catch {
|
|
1134
|
-
// Generic path-only diagnostic: the file is untrusted, so its read
|
|
1135
|
-
// failure text is never forwarded.
|
|
1136
|
-
return { status: "invalid", message: `could not read ${keyPath}` };
|
|
1137
|
-
}
|
|
1138
|
-
return parseServiceAccountKeyPayload(raw, keyPath);
|
|
1139
|
-
}
|
|
1140
|
-
finally {
|
|
1141
|
-
try {
|
|
1142
|
-
fs.closeSync(fd);
|
|
1143
|
-
}
|
|
1144
|
-
catch {
|
|
1145
|
-
// The validation result is the one to report.
|
|
1146
|
-
}
|
|
1147
|
-
}
|
|
1148
|
-
}
|
|
1149
|
-
/** `O_NOFOLLOW` where the platform defines it, else 0. */
|
|
1150
|
-
function noFollowFlag() {
|
|
1151
|
-
return constants.O_NOFOLLOW ?? 0;
|
|
1152
|
-
}
|
|
1153
883
|
/** `O_DIRECTORY` where the platform defines it, else 0. */
|
|
1154
884
|
function directoryFlag() {
|
|
1155
885
|
return constants.O_DIRECTORY ?? 0;
|
|
1156
886
|
}
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
|
|
1160
|
-
}
|
|
1161
|
-
/**
|
|
1162
|
-
* True when the PEM parses as an RSA private key.
|
|
1163
|
-
*
|
|
1164
|
-
* The parsed key object is discarded immediately; only the type verdict is
|
|
1165
|
-
* returned and the key material never leaves this function.
|
|
1166
|
-
*/
|
|
1167
|
-
function isValidRsaPrivateKey(pem) {
|
|
1168
|
-
try {
|
|
1169
|
-
return createPrivateKey(pem).asymmetricKeyType === "rsa";
|
|
1170
|
-
}
|
|
1171
|
-
catch {
|
|
1172
|
-
return false;
|
|
1173
|
-
}
|
|
1174
|
-
}
|
|
887
|
+
// Key-material security logic moved verbatim to `keyMaterial.ts`.
|
|
888
|
+
// Compat re-exports: tests and keyProvision import these names from the
|
|
889
|
+
// checkpoint module path, so the paths stay stable for existing importers.
|
|
890
|
+
export { parseServiceAccountKeyJson, readServiceAccountKeySecurely, readServiceAccountKeyCredentialSecurely, } from "./keyMaterial.js";
|
|
1175
891
|
const defaultLockFs = {
|
|
1176
892
|
mkdirSync,
|
|
1177
893
|
openSync,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkpoint.js","sourceRoot":"","sources":["../../src/cli/checkpoint.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"checkpoint.js","sourceRoot":"","sources":["../../src/cli/checkpoint.ts"],"names":[],"mappings":"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"}
|