@intentic/keyring 1.366.0 → 1.367.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.
- package/README.md +14 -2
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/service/helper.d.ts.map +1 -1
- package/dist/service/helper.js +47 -11
- package/dist/service/helper.js.map +1 -1
- package/dist/service/proof-gate.d.ts +14 -0
- package/dist/service/proof-gate.d.ts.map +1 -0
- package/dist/service/proof-gate.js +33 -0
- package/dist/service/proof-gate.js.map +1 -0
- package/dist/service/remote.d.ts +1 -0
- package/dist/service/remote.d.ts.map +1 -1
- package/dist/service/remote.js +1 -1
- package/dist/service/remote.js.map +1 -1
- package/dist/service/reset.d.ts +6 -0
- package/dist/service/reset.d.ts.map +1 -0
- package/dist/service/reset.js +30 -0
- package/dist/service/reset.js.map +1 -0
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -21,7 +21,8 @@ flowchart LR
|
|
|
21
21
|
intentic-machine is the agent's hands on the computer: it runs the agent's `run_command`, reads files, types. A vault
|
|
22
22
|
key kept in its memory would be one bug in its scope checks away from the agent, and it updates itself on a timer at a
|
|
23
23
|
sandbox maintainer's word. The keyring does only what a vault does, updates only when a person says so
|
|
24
|
-
(`intentic-machine keyring upgrade` asks the running keyring, which asks the person
|
|
24
|
+
(`intentic-machine keyring upgrade` asks the running keyring, which asks the person; where it has nobody to ask, no
|
|
25
|
+
session helper let in, the administrator's yes the update needs anyway stands for it), and trusts no caller on its pipe
|
|
25
26
|
for who it is. The vault itself is held by a service running as a system account of its own, so no process of the user,
|
|
26
27
|
the agent's own commands included, can read the vault file or the memory that holds its key (see "The protected
|
|
27
28
|
service" below). Every caller on the pipe is a process of the same user, so the pipe is not the boundary; three things
|
|
@@ -129,7 +130,9 @@ Two processes share the work (`src/service/`):
|
|
|
129
130
|
intentic-machine and intentic-askpass work as they did, and it is the service's hands: it shows the prompts and the
|
|
130
131
|
type-once box and does the typing. It proves a person is at the session once per sign-in before the service sends it
|
|
131
132
|
anything; before setup there is no vault and nothing to prove with, so it is let in to enrol Windows Hello, and only
|
|
132
|
-
while no vault exists.
|
|
133
|
+
while no vault exists. A proof the person turns down, or leaves unanswered, is not asked again on a timer: the helper
|
|
134
|
+
waits until a request needs a person (an unlock answered "nobody is signed in to ask"), puts its proof up then, and
|
|
135
|
+
tells the requester where to look (`src/service/proof-gate.ts`).
|
|
133
136
|
- **The door** is a loopback port on Windows (a pipe the service created would refuse the user's writes) and a unix
|
|
134
137
|
socket on Linux, beside a random token in a door file only that user can read. The token keeps other users out; it
|
|
135
138
|
does not keep out the user's own programs, which is why every value still needs a sandbox's grant or a person's yes.
|
|
@@ -190,6 +193,15 @@ the field `passphrase`. Asked for in the passphrase box ("Type your recovery key
|
|
|
190
193
|
spaces or dashes, with I, L and O read as 1, 1 and 0; anything else is tried as typed, so a passphrase from before
|
|
191
194
|
still opens a vault it made.
|
|
192
195
|
|
|
196
|
+
### Starting over
|
|
197
|
+
|
|
198
|
+
A lost recovery key leaves a vault nobody can open. `intentic-machine keyring reset` (the Passwords app's "Lost your
|
|
199
|
+
recovery key?", offered while locked) asks an administrator's yes and runs `src/service/reset.ts`'s script: the service
|
|
200
|
+
stopped, every file in its vault folder moved into a `set-aside-<time>` folder inside it, the service started with no
|
|
201
|
+
vault. Nothing is deleted, so the old key still opens the set-aside vault if it turns up; setup then makes a new vault
|
|
202
|
+
and a new key. The script is the agent's to run, not a verb of the keyring binary, so a keyring too old to have one can
|
|
203
|
+
still be started over.
|
|
204
|
+
|
|
193
205
|
## The type-once box
|
|
194
206
|
|
|
195
207
|
When nothing in the vault answers a prompt (ssh asking for a password nobody saved, a program's password field, an
|
package/dist/index.d.ts
CHANGED
|
@@ -7,5 +7,7 @@ export { linuxServicePaths, linuxServiceInstalled, type LinuxServicePaths } from
|
|
|
7
7
|
export { currentSid } from "./service/windows/sid-windows.js";
|
|
8
8
|
export { helloHere, NOT_ON_MAC, serviceInstalledHere, servicePlatform, serviceUserId, type ServicePlatform } from "./service/user.js";
|
|
9
9
|
export { asRecoveryKey, newRecoveryKey } from "./service/recovery.js";
|
|
10
|
+
export { NO_SESSION } from "./service/remote.js";
|
|
11
|
+
export { linuxResetScript, setAsideName, windowsResetScript } from "./service/reset.js";
|
|
10
12
|
export { realRunner } from "./run.js";
|
|
11
13
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAC7F,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,KAAK,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACxF,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,KAAK,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAC5H,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,KAAK,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAClH,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,oBAAoB,EAAE,eAAe,EAAE,aAAa,EAAE,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACtI,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAC7F,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,KAAK,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACxF,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,KAAK,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAC5H,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,KAAK,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAClH,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,oBAAoB,EAAE,eAAe,EAAE,aAAa,EAAE,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACtI,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxF,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -7,5 +7,7 @@ export { linuxServicePaths, linuxServiceInstalled } from "./service/linux/paths-
|
|
|
7
7
|
export { currentSid } from "./service/windows/sid-windows.js";
|
|
8
8
|
export { helloHere, NOT_ON_MAC, serviceInstalledHere, servicePlatform, serviceUserId } from "./service/user.js";
|
|
9
9
|
export { asRecoveryKey, newRecoveryKey } from "./service/recovery.js";
|
|
10
|
+
export { NO_SESSION } from "./service/remote.js";
|
|
11
|
+
export { linuxResetScript, setAsideName, windowsResetScript } from "./service/reset.js";
|
|
10
12
|
export { realRunner } from "./run.js";
|
|
11
13
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAqB,MAAM,cAAc,CAAC;AAC7F,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAA6B,MAAM,aAAa,CAAC;AACxF,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAA4B,MAAM,oCAAoC,CAAC;AAC5H,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAA0B,MAAM,gCAAgC,CAAC;AAClH,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,oBAAoB,EAAE,eAAe,EAAE,aAAa,EAAwB,MAAM,mBAAmB,CAAC;AACtI,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAqB,MAAM,cAAc,CAAC;AAC7F,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAA6B,MAAM,aAAa,CAAC;AACxF,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAA4B,MAAM,oCAAoC,CAAC;AAC5H,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAA0B,MAAM,gCAAgC,CAAC;AAClH,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,oBAAoB,EAAE,eAAe,EAAE,aAAa,EAAwB,MAAM,mBAAmB,CAAC;AACtI,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxF,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../../src/service/helper.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../../src/service/helper.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEtG,OAAO,EAAc,KAAK,MAAM,EAAE,MAAM,WAAW,CAAC;AAEpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAGlD,OAAO,EAAE,KAAK,SAAS,EAAkD,KAAK,UAAU,EAAoB,KAAK,WAAW,EAAE,KAAK,KAAK,EAAE,MAAM,WAAW,CAAC;AAoB5J,MAAM,WAAW,eAAe;IAE5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IAEtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,KAAK;IAElB,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;IAEtC,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,CAAC;IAExC,QAAQ,CAAC,MAAM,EAAE,YAAY,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CAC3B;AA+BD,eAAO,MAAM,UAAU,UAAiB,KAAK,QAAQ,UAAU,KAAG,OAAO,CAAC,WAAW,CAyBpF,CAAC;AAQF,eAAO,MAAM,QAAQ,cAAqB,SAAS,SAAS,KAAK,QAAO,MAAM,KAAiB,OAAO,CAAC,KAAK,CAgB3G,CAAC;AAyDF,eAAO,MAAM,UAAU,eAAsB,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,eAAe,CAAC,WAAU,MAAM,KAAgB,OAAO,CAAC,IAAI,CAyDpI,CAAC"}
|
package/dist/service/helper.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { readFile } from "node:fs/promises";
|
|
2
2
|
import { connect } from "node:net";
|
|
3
3
|
import { sleep } from "@intentic/base/async";
|
|
4
|
+
import { z } from "zod";
|
|
4
5
|
import { claimPidFile } from "@intentic/local-agent";
|
|
5
6
|
import { keyringPaths } from "../address.js";
|
|
6
7
|
import { KEYRING_RESPONSES } from "../protocol.js";
|
|
@@ -11,6 +12,7 @@ import { appsWatchFor } from "../watch/apps.js";
|
|
|
11
12
|
import { ChallengeSchema, DoorFileSchema, HelperCallSchema } from "./door.js";
|
|
12
13
|
import { LineSocket } from "./lines.js";
|
|
13
14
|
import { asRecoveryKey } from "./recovery.js";
|
|
15
|
+
import { neededPerson, ProofGate, proofAsked } from "./proof-gate.js";
|
|
14
16
|
import { RECOVERY_HINT } from "./remote.js";
|
|
15
17
|
const RETRY_MS = 5_000;
|
|
16
18
|
const REQUEST_DEADLINE_MS = 135_000;
|
|
@@ -85,26 +87,41 @@ export const proofFor = async (challenge, hands, pid = process.pid) => {
|
|
|
85
87
|
return { method: "unset" };
|
|
86
88
|
}
|
|
87
89
|
};
|
|
88
|
-
const
|
|
90
|
+
const VerdictSchema = z.object({ ok: z.boolean() });
|
|
91
|
+
const VERDICT_DEADLINE_MS = 30_000;
|
|
92
|
+
const holdTheLine = async (door, hands, gate, log, asked) => {
|
|
89
93
|
const lines = new LineSocket(dial(door));
|
|
90
94
|
lines.send({ door: door.token, as: "helper" });
|
|
91
95
|
const challenge = await lines.nextOf(ChallengeSchema, 30_000);
|
|
92
96
|
if (challenge === undefined) {
|
|
93
97
|
lines.end();
|
|
94
|
-
return;
|
|
98
|
+
return "gone";
|
|
95
99
|
}
|
|
100
|
+
asked(challenge.method);
|
|
96
101
|
const proof = await proofFor(challenge, hands);
|
|
97
102
|
lines.send(proof);
|
|
103
|
+
const verdict = await lines.nextOf(VerdictSchema, VERDICT_DEADLINE_MS);
|
|
104
|
+
if (verdict?.ok !== true) {
|
|
105
|
+
lines.end();
|
|
106
|
+
log(proof.method === "declined" ? "the person did not prove this session" : `the service refused this session's ${proof.method} proof`);
|
|
107
|
+
return "turned-down";
|
|
108
|
+
}
|
|
109
|
+
gate.settle(true);
|
|
98
110
|
log(`proved this session with ${proof.method}`);
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
if (
|
|
103
|
-
|
|
111
|
+
try {
|
|
112
|
+
for (;;) {
|
|
113
|
+
const call = await lines.nextOf(HelperCallSchema, 24 * 60 * 60_000);
|
|
114
|
+
if (call === undefined) {
|
|
115
|
+
if (lines.closed) {
|
|
116
|
+
return "gone";
|
|
117
|
+
}
|
|
118
|
+
continue;
|
|
104
119
|
}
|
|
105
|
-
|
|
120
|
+
lines.send({ id: call.id, reply: await answerCall(hands, call) });
|
|
106
121
|
}
|
|
107
|
-
|
|
122
|
+
}
|
|
123
|
+
finally {
|
|
124
|
+
gate.settle(false);
|
|
108
125
|
}
|
|
109
126
|
};
|
|
110
127
|
const keepAppsWatch = async (ask, watch) => {
|
|
@@ -134,23 +151,42 @@ export const runSession = async (platformOf, runner = realRunner) => {
|
|
|
134
151
|
const door = await readDoor(platform.doorFile);
|
|
135
152
|
return door === undefined ? undefined : await throughDoor(door, request).catch(() => undefined);
|
|
136
153
|
};
|
|
154
|
+
const gate = new ProofGate();
|
|
155
|
+
let method;
|
|
137
156
|
await serveKeyring({
|
|
138
157
|
handle: async (request) => {
|
|
139
158
|
const door = await readDoor(platform.doorFile);
|
|
140
|
-
|
|
159
|
+
if (door === undefined) {
|
|
160
|
+
return { ok: false, code: "no-keyring", refusal: platform.noService };
|
|
161
|
+
}
|
|
162
|
+
const answer = await throughDoor(door, request);
|
|
163
|
+
if (gate.proven || !neededPerson(answer)) {
|
|
164
|
+
return answer;
|
|
165
|
+
}
|
|
166
|
+
log(`${request.op} needed a person: asking this session to prove itself again`);
|
|
167
|
+
gate.want();
|
|
168
|
+
return { ...answer, refusal: proofAsked(method) };
|
|
141
169
|
},
|
|
142
170
|
}, own.address, log);
|
|
143
171
|
void keepAppsWatch(ask, appsWatchFor(runner, ask, log));
|
|
144
172
|
for (;;) {
|
|
145
173
|
const door = await readDoor(platform.doorFile);
|
|
174
|
+
let outcome = "gone";
|
|
146
175
|
if (door !== undefined) {
|
|
147
176
|
try {
|
|
148
|
-
await holdTheLine(door, platform.hands, log)
|
|
177
|
+
outcome = await holdTheLine(door, platform.hands, gate, log, (asked) => {
|
|
178
|
+
method = asked;
|
|
179
|
+
});
|
|
149
180
|
}
|
|
150
181
|
catch (error) {
|
|
151
182
|
log(`lost the service: ${error instanceof Error ? error.message : "unknown error"}`);
|
|
152
183
|
}
|
|
153
184
|
}
|
|
185
|
+
if (outcome === "turned-down") {
|
|
186
|
+
log("not asking again until something needs a person here");
|
|
187
|
+
await gate.whenWanted();
|
|
188
|
+
continue;
|
|
189
|
+
}
|
|
154
190
|
await sleep(RETRY_MS);
|
|
155
191
|
}
|
|
156
192
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helper.js","sourceRoot":"","sources":["../../src/service/helper.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"helper.js","sourceRoot":"","sources":["../../src/service/helper.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { KeyringOp, KeyringResponse } from "../protocol.js";
|
|
2
|
+
import type { Challenge } from "./door.js";
|
|
3
|
+
export declare class ProofGate {
|
|
4
|
+
#private;
|
|
5
|
+
get proven(): boolean;
|
|
6
|
+
settle(proven: boolean): void;
|
|
7
|
+
whenWanted(): Promise<void>;
|
|
8
|
+
want(): void;
|
|
9
|
+
}
|
|
10
|
+
export declare const neededPerson: (answer: KeyringResponse<KeyringOp>) => answer is Extract<KeyringResponse<KeyringOp>, {
|
|
11
|
+
ok: false;
|
|
12
|
+
}>;
|
|
13
|
+
export declare const proofAsked: (method: Challenge["method"] | undefined) => string;
|
|
14
|
+
//# sourceMappingURL=proof-gate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proof-gate.d.ts","sourceRoot":"","sources":["../../src/service/proof-gate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAQ3C,qBAAa,SAAS;;IAMlB,IAAI,MAAM,IAAI,OAAO,CAEpB;IAGD,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAM5B;IAGK,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAQhC;IAGD,IAAI,IAAI,IAAI,CAGX;CACJ;AAGD,eAAO,MAAM,YAAY,WAAY,eAAe,CAAC,SAAS,CAAC,KAAG,MAAM,IAAI,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE;IAAE,EAAE,EAAE,KAAK,CAAA;CAAE,CAAsD,CAAC;AAGpL,eAAO,MAAM,UAAU,WAAY,SAAS,CAAC,QAAQ,CAAC,GAAG,SAAS,KAAG,MAGoD,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { NO_SESSION } from "./remote.js";
|
|
2
|
+
export class ProofGate {
|
|
3
|
+
#proven = false;
|
|
4
|
+
#wanted = false;
|
|
5
|
+
#wake;
|
|
6
|
+
get proven() {
|
|
7
|
+
return this.#proven;
|
|
8
|
+
}
|
|
9
|
+
settle(proven) {
|
|
10
|
+
this.#proven = proven;
|
|
11
|
+
if (proven) {
|
|
12
|
+
this.#wanted = false;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
async whenWanted() {
|
|
16
|
+
if (!this.#wanted) {
|
|
17
|
+
await new Promise((resolve) => {
|
|
18
|
+
this.#wake = resolve;
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
this.#wanted = false;
|
|
22
|
+
this.#wake = undefined;
|
|
23
|
+
}
|
|
24
|
+
want() {
|
|
25
|
+
this.#wanted = true;
|
|
26
|
+
this.#wake?.();
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
export const neededPerson = (answer) => !answer.ok && answer.refusal.includes(NO_SESSION);
|
|
30
|
+
export const proofAsked = (method) => method === "passphrase"
|
|
31
|
+
? "Passwords is asking for your recovery key, in a window on this computer's screen. Type it there, then try again."
|
|
32
|
+
: "Passwords is asking you to confirm it is you, in a window on this computer's screen. Do that, then try again.";
|
|
33
|
+
//# sourceMappingURL=proof-gate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proof-gate.js","sourceRoot":"","sources":["../../src/service/proof-gate.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAOzC,MAAM,OAAO,SAAS;IAClB,OAAO,GAAG,KAAK,CAAC;IAChB,OAAO,GAAG,KAAK,CAAC;IAChB,KAAK,CAA2B;IAGhC,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAGD,MAAM,CAAC,MAAe;QAClB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,MAAM,EAAE,CAAC;YAET,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACzB,CAAC;IACL,CAAC;IAGD,KAAK,CAAC,UAAU;QACZ,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAChB,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;gBAChC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC;YACzB,CAAC,CAAC,CAAC;QACP,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;IAC3B,CAAC;IAGD,IAAI;QACA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;IACnB,CAAC;CACJ;AAGD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,MAAkC,EAAgE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AAGpL,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,MAAuC,EAAU,EAAE,CAC1E,MAAM,KAAK,YAAY;IACnB,CAAC,CAAC,kHAAkH;IACpH,CAAC,CAAC,+GAA+G,CAAC"}
|
package/dist/service/remote.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ export declare class HelperLink {
|
|
|
10
10
|
get ready(): boolean;
|
|
11
11
|
call<T>(body: CallBody<HelperCall>, schema: z.ZodType<T>, deadlineMs: number): Promise<T | undefined>;
|
|
12
12
|
}
|
|
13
|
+
export declare const NO_SESSION = "nobody is signed in to ask: Passwords' session helper starts at sign-in";
|
|
13
14
|
export interface HelloPin {
|
|
14
15
|
readonly credential: string;
|
|
15
16
|
readonly publicKey: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote.d.ts","sourceRoot":"","sources":["../../src/service/remote.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAgB,YAAY,EAAE,WAAW,EAAe,gBAAgB,EAA6B,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAC5J,OAAO,KAAK,EAAoB,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAc7C,KAAK,QAAQ,CAAC,CAAC,SAAS,UAAU,IAAI,CAAC,SAAS,OAAO,GAAG,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC;AAEhF,qBAAa,UAAU;;IAMnB,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAG/B;IAED,IAAI,KAAK,IAAI,OAAO,CAEnB;IAGK,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAoB1G;CACJ;
|
|
1
|
+
{"version":3,"file":"remote.d.ts","sourceRoot":"","sources":["../../src/service/remote.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAgB,YAAY,EAAE,WAAW,EAAe,gBAAgB,EAA6B,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAC5J,OAAO,KAAK,EAAoB,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAc7C,KAAK,QAAQ,CAAC,CAAC,SAAS,UAAU,IAAI,CAAC,SAAS,OAAO,GAAG,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC;AAEhF,qBAAa,UAAU;;IAMnB,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAG/B;IAED,IAAI,KAAK,IAAI,OAAO,CAEnB;IAGK,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAoB1G;CACJ;AAED,eAAO,MAAM,UAAU,4EAA4E,CAAC;AAEpG,MAAM,WAAW,QAAQ;IACrB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC9B;AAKD,eAAO,MAAM,WAAW,SAAU,UAAU,OAAO,MAAM,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,KAAG,WA6CxF,CAAC;AAGF,eAAO,MAAM,aAAa,+FAA+F,CAAC;AAI1H,eAAO,MAAM,sBAAsB,SACxB,UAAU,KAAG,gBAOnB,CAAC;AAIN,eAAO,MAAM,iBAAiB,SACnB,UAAU,KAAG,WAQnB,CAAC;AAIN,eAAO,MAAM,kBAAkB,SACpB,UAAU,KAAG,YAInB,CAAC;AAEN,eAAO,MAAM,YAAY,SAAU,UAAU,KAAG,MAU9C,CAAC"}
|
package/dist/service/remote.js
CHANGED
|
@@ -39,7 +39,7 @@ export class HelperLink {
|
|
|
39
39
|
});
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
|
-
const NO_SESSION = "nobody is signed in to ask: Passwords' session helper starts at sign-in";
|
|
42
|
+
export const NO_SESSION = "nobody is signed in to ask: Passwords' session helper starts at sign-in";
|
|
43
43
|
export const remoteHello = (link, pin) => {
|
|
44
44
|
const sign = async (credential, challenge, title, message) => {
|
|
45
45
|
const reply = await link.call({ call: "sign", credential, challenge, title, message }, SignedSchema, PROMPT_DEADLINE_MS);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote.js","sourceRoot":"","sources":["../../src/service/remote.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,YAAY,EAAE,qBAAqB,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAO/J,MAAM,kBAAkB,GAAG,OAAO,CAAC;AAEnC,MAAM,qBAAqB,GAAG,MAAM,CAAC;AACrC,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAIlC,MAAM,OAAO,UAAU;IACnB,OAAO,CAAyB;IAChC,KAAK,GAAG,CAAC,CAAC;IACD,IAAI,GAAG,UAAU,EAAE,CAAC;IAG7B,MAAM,CAAC,MAAkB;QACrB,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IAC1B,CAAC;IAED,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IAC9D,CAAC;IAGD,KAAK,CAAC,IAAI,CAAI,IAA0B,EAAE,MAAoB,EAAE,UAAkB;QAC9E,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;YAC5B,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBACxC,OAAO,SAAS,CAAC;YACrB,CAAC;YACD,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;YACxB,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YAC7D,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;YAC7B,SAAS,CAAC;gBACN,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;gBACxD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACtB,OAAO,SAAS,CAAC;gBACrB,CAAC;gBAED,IAAI,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;oBAClB,OAAO,KAAK,CAAC,KAAK,CAAC;gBACvB,CAAC;YACL,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AAED,MAAM,UAAU,GAAG,yEAAyE,CAAC;
|
|
1
|
+
{"version":3,"file":"remote.js","sourceRoot":"","sources":["../../src/service/remote.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { LinuxServicePaths } from "./linux/paths-linux.js";
|
|
2
|
+
import type { WindowsServicePaths } from "./windows/paths-windows.js";
|
|
3
|
+
export declare const setAsideName: (at: Date) => string;
|
|
4
|
+
export declare const windowsResetScript: (paths: WindowsServicePaths, aside: string) => string;
|
|
5
|
+
export declare const linuxResetScript: (paths: LinuxServicePaths, aside: string) => string;
|
|
6
|
+
//# sourceMappingURL=reset.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reset.d.ts","sourceRoot":"","sources":["../../src/service/reset.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAStE,eAAO,MAAM,YAAY,OAAQ,IAAI,KAAG,MAAuF,CAAC;AAMhI,eAAO,MAAM,kBAAkB,UAAW,mBAAmB,SAAS,MAAM,KAAG,MAa9E,CAAC;AAGF,eAAO,MAAM,gBAAgB,UAAW,iBAAiB,SAAS,MAAM,KAAG,MAU1E,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { SERVICE_USER } from "./linux/paths-linux.js";
|
|
2
|
+
export const setAsideName = (at) => `set-aside-${at.toISOString().replace(/\.\d+Z$/u, "Z").replaceAll(":", "-")}`;
|
|
3
|
+
const psQuoted = (text) => `'${text.replaceAll("'", "''")}'`;
|
|
4
|
+
const shQuoted = (text) => `'${text.replaceAll("'", `'\\''`)}'`;
|
|
5
|
+
export const windowsResetScript = (paths, aside) => `$ErrorActionPreference = 'Stop'
|
|
6
|
+
$vault = ${psQuoted(paths.vaultDir)}
|
|
7
|
+
$aside = Join-Path $vault ${psQuoted(aside)}
|
|
8
|
+
Stop-ScheduledTask -TaskPath ${psQuoted(paths.taskPath)} -TaskName ${psQuoted(paths.taskName)} -ErrorAction SilentlyContinue
|
|
9
|
+
New-Item -ItemType Directory -Path $aside -Force | Out-Null
|
|
10
|
+
foreach ($file in Get-ChildItem -LiteralPath $vault -File) {
|
|
11
|
+
# The stopped service lets go of its files a moment after the task says it stopped.
|
|
12
|
+
for ($try = 1; ; $try++) {
|
|
13
|
+
try { Move-Item -LiteralPath $file.FullName -Destination $aside; break }
|
|
14
|
+
catch { if ($try -ge 20) { throw }; Start-Sleep -Milliseconds 500 }
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
Start-ScheduledTask -TaskPath ${psQuoted(paths.taskPath)} -TaskName ${psQuoted(paths.taskName)}
|
|
18
|
+
`;
|
|
19
|
+
export const linuxResetScript = (paths, aside) => {
|
|
20
|
+
const folder = shQuoted(`${paths.vaultDir}/${aside}`);
|
|
21
|
+
return [
|
|
22
|
+
"set -e",
|
|
23
|
+
`systemctl stop ${shQuoted(paths.unitName)}`,
|
|
24
|
+
`mkdir -m 0700 ${folder}`,
|
|
25
|
+
`find ${shQuoted(paths.vaultDir)} -mindepth 1 -maxdepth 1 -type f -exec mv -t ${folder} -- {} +`,
|
|
26
|
+
`chown ${SERVICE_USER}: ${folder}`,
|
|
27
|
+
`systemctl start ${shQuoted(paths.unitName)}`,
|
|
28
|
+
].join("\n");
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=reset.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reset.js","sourceRoot":"","sources":["../../src/service/reset.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAUtD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAAQ,EAAU,EAAE,CAAC,aAAa,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;AAEhI,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC;AAC7E,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC;AAGhF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAA0B,EAAE,KAAa,EAAU,EAAE,CAAC;WAC9E,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;4BACP,QAAQ,CAAC,KAAK,CAAC;+BACZ,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;;;;;;;;;gCAS7D,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;CAC7F,CAAC;AAGF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAwB,EAAE,KAAa,EAAU,EAAE;IAChF,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,EAAE,CAAC,CAAC;IACtD,OAAO;QACH,QAAQ;QACR,kBAAkB,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;QAC5C,iBAAiB,MAAM,EAAE;QACzB,QAAQ,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,gDAAgD,MAAM,UAAU;QAChG,SAAS,YAAY,KAAK,MAAM,EAAE;QAClC,mBAAmB,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;KAChD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjB,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@intentic/keyring",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.367.0",
|
|
4
4
|
"description": "intentic-keyring: the password vault on a user's own computer, a process of its own beside intentic-machine, that types and releases secrets for a sandbox's agent without the agent ever holding them",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -34,14 +34,14 @@
|
|
|
34
34
|
}
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@intentic/base": "1.
|
|
38
|
-
"@intentic/local-agent": "1.
|
|
39
|
-
"@intentic/sandbox-contract": "1.
|
|
37
|
+
"@intentic/base": "1.367.0",
|
|
38
|
+
"@intentic/local-agent": "1.367.0",
|
|
39
|
+
"@intentic/sandbox-contract": "1.367.0",
|
|
40
40
|
"@stricli/core": "1.3.0",
|
|
41
41
|
"zod": "4.6.7"
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
|
-
"@intentic/constants": "1.
|
|
44
|
+
"@intentic/constants": "1.367.0",
|
|
45
45
|
"@intentic/testing": "0.0.0",
|
|
46
46
|
"@intentic/tsconfig": "0.0.0",
|
|
47
47
|
"@types/bun": "1.4.4",
|