@shield-agent/kya 0.32.9 → 0.33.1
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/.cursor-plugin/plugin.json +1 -1
- package/.mcp.json +1 -1
- package/LIMITATIONS.md +2 -2
- package/README.md +178 -12
- package/amp/settings.example.json +1 -1
- package/claude/claude_desktop_config.example.json +1 -1
- package/cline/cline_mcp_settings.example.json +1 -1
- package/copilot/mcp-config.example.json +1 -1
- package/data/iocs.json +17 -0
- package/dist/cli.d.ts +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +149 -16
- package/dist/cli.js.map +1 -1
- package/dist/commands/connect.d.ts +1 -1
- package/dist/commands/connect.d.ts.map +1 -1
- package/dist/commands/connect.js +11 -3
- package/dist/commands/connect.js.map +1 -1
- package/dist/commands/dash.d.ts.map +1 -1
- package/dist/commands/dash.js +25 -1
- package/dist/commands/dash.js.map +1 -1
- package/dist/commands/doctor.d.ts +8 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +26 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/eval-tool.d.ts +3 -0
- package/dist/commands/eval-tool.d.ts.map +1 -1
- package/dist/commands/eval-tool.js +2 -1
- package/dist/commands/eval-tool.js.map +1 -1
- package/dist/commands/export.d.ts +33 -0
- package/dist/commands/export.d.ts.map +1 -0
- package/dist/commands/export.js +121 -0
- package/dist/commands/export.js.map +1 -0
- package/dist/commands/hook.d.ts.map +1 -1
- package/dist/commands/hook.js +120 -26
- package/dist/commands/hook.js.map +1 -1
- package/dist/commands/hosted-hook.d.ts +8 -1
- package/dist/commands/hosted-hook.d.ts.map +1 -1
- package/dist/commands/hosted-hook.js +15 -5
- package/dist/commands/hosted-hook.js.map +1 -1
- package/dist/commands/map.d.ts +21 -0
- package/dist/commands/map.d.ts.map +1 -0
- package/dist/commands/map.js +76 -0
- package/dist/commands/map.js.map +1 -0
- package/dist/commands/notify-flush.d.ts.map +1 -1
- package/dist/commands/notify-flush.js +7 -1
- package/dist/commands/notify-flush.js.map +1 -1
- package/dist/commands/posture.d.ts +21 -0
- package/dist/commands/posture.d.ts.map +1 -0
- package/dist/commands/posture.js +177 -0
- package/dist/commands/posture.js.map +1 -0
- package/dist/commands/receipt-serve.d.ts +7 -0
- package/dist/commands/receipt-serve.d.ts.map +1 -1
- package/dist/commands/receipt-serve.js +50 -0
- package/dist/commands/receipt-serve.js.map +1 -1
- package/dist/commands/start.d.ts.map +1 -1
- package/dist/commands/start.js +5 -1
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/team.d.ts.map +1 -1
- package/dist/commands/team.js +30 -11
- package/dist/commands/team.js.map +1 -1
- package/dist/commands/wire-hooks.d.ts +5 -1
- package/dist/commands/wire-hooks.d.ts.map +1 -1
- package/dist/commands/wire-hooks.js +23 -8
- package/dist/commands/wire-hooks.js.map +1 -1
- package/dist/commands/wrap.d.ts +38 -1
- package/dist/commands/wrap.d.ts.map +1 -1
- package/dist/commands/wrap.js +82 -6
- package/dist/commands/wrap.js.map +1 -1
- package/dist/daily-slot.d.ts +2 -0
- package/dist/daily-slot.d.ts.map +1 -0
- package/dist/daily-slot.js +29 -0
- package/dist/daily-slot.js.map +1 -0
- package/dist/dash/dash.d.ts.map +1 -1
- package/dist/dash/dash.js +10 -0
- package/dist/dash/dash.js.map +1 -1
- package/dist/dash/entitlement.d.ts +1 -1
- package/dist/dash/entitlement.d.ts.map +1 -1
- package/dist/dash/entitlement.js +1 -0
- package/dist/dash/entitlement.js.map +1 -1
- package/dist/dash/input.d.ts +1 -1
- package/dist/dash/input.d.ts.map +1 -1
- package/dist/dash/input.js +3 -0
- package/dist/dash/input.js.map +1 -1
- package/dist/dash/render.js +1 -1
- package/dist/dash/render.js.map +1 -1
- package/dist/dash/screens/free.js +1 -1
- package/dist/dash/screens/free.js.map +1 -1
- package/dist/device-id.d.ts +5 -0
- package/dist/device-id.d.ts.map +1 -0
- package/dist/device-id.js +78 -0
- package/dist/device-id.js.map +1 -0
- package/dist/fs-atomic.d.ts +9 -3
- package/dist/fs-atomic.d.ts.map +1 -1
- package/dist/fs-atomic.js +17 -11
- package/dist/fs-atomic.js.map +1 -1
- package/dist/gate/config-gen.d.ts +26 -2
- package/dist/gate/config-gen.d.ts.map +1 -1
- package/dist/gate/config-gen.js +53 -4
- package/dist/gate/config-gen.js.map +1 -1
- package/dist/gate/otlp-receiver.d.ts.map +1 -1
- package/dist/gate/otlp-receiver.js +3 -1
- package/dist/gate/otlp-receiver.js.map +1 -1
- package/dist/guard-pack.d.ts +58 -0
- package/dist/guard-pack.d.ts.map +1 -0
- package/dist/guard-pack.js +753 -0
- package/dist/guard-pack.js.map +1 -0
- package/dist/ioc/exec.d.ts +19 -0
- package/dist/ioc/exec.d.ts.map +1 -0
- package/dist/ioc/exec.js +49 -0
- package/dist/ioc/exec.js.map +1 -0
- package/dist/ioc/format.d.ts +4 -0
- package/dist/ioc/format.d.ts.map +1 -0
- package/dist/ioc/format.js +23 -0
- package/dist/ioc/format.js.map +1 -0
- package/dist/ioc/list.d.ts +29 -0
- package/dist/ioc/list.d.ts.map +1 -0
- package/dist/ioc/list.js +25 -0
- package/dist/ioc/list.js.map +1 -0
- package/dist/ioc/result.d.ts +18 -0
- package/dist/ioc/result.d.ts.map +1 -0
- package/dist/ioc/result.js +26 -0
- package/dist/ioc/result.js.map +1 -0
- package/dist/ioc/scan.d.ts +21 -0
- package/dist/ioc/scan.d.ts.map +1 -0
- package/dist/ioc/scan.js +247 -0
- package/dist/ioc/scan.js.map +1 -0
- package/dist/ioc/spawn.d.ts +26 -0
- package/dist/ioc/spawn.d.ts.map +1 -0
- package/dist/ioc/spawn.js +52 -0
- package/dist/ioc/spawn.js.map +1 -0
- package/dist/map/build.d.ts +58 -0
- package/dist/map/build.d.ts.map +1 -0
- package/dist/map/build.js +439 -0
- package/dist/map/build.js.map +1 -0
- package/dist/map/heat.d.ts +44 -0
- package/dist/map/heat.d.ts.map +1 -0
- package/dist/map/heat.js +96 -0
- package/dist/map/heat.js.map +1 -0
- package/dist/map/load.d.ts +38 -0
- package/dist/map/load.d.ts.map +1 -0
- package/dist/map/load.js +38 -0
- package/dist/map/load.js.map +1 -0
- package/dist/map/page.d.ts +90 -0
- package/dist/map/page.d.ts.map +1 -0
- package/dist/map/page.js +374 -0
- package/dist/map/page.js.map +1 -0
- package/dist/map/target-class.d.ts +22 -0
- package/dist/map/target-class.d.ts.map +1 -0
- package/dist/map/target-class.js +151 -0
- package/dist/map/target-class.js.map +1 -0
- package/dist/map/types.d.ts +102 -0
- package/dist/map/types.d.ts.map +1 -0
- package/dist/map/types.js +3 -0
- package/dist/map/types.js.map +1 -0
- package/dist/mcp/protocol.d.ts.map +1 -1
- package/dist/mcp/protocol.js +16 -5
- package/dist/mcp/protocol.js.map +1 -1
- package/dist/never-code.d.ts +7 -0
- package/dist/never-code.d.ts.map +1 -0
- package/dist/never-code.js +9 -0
- package/dist/never-code.js.map +1 -0
- package/dist/never-list-input.d.ts +48 -12
- package/dist/never-list-input.d.ts.map +1 -1
- package/dist/never-list-input.js +696 -29
- package/dist/never-list-input.js.map +1 -1
- package/dist/notify/dispatch.d.ts +4 -0
- package/dist/notify/dispatch.d.ts.map +1 -1
- package/dist/notify/dispatch.js +3 -1
- package/dist/notify/dispatch.js.map +1 -1
- package/dist/offline-evaluate.d.ts +26 -1
- package/dist/offline-evaluate.d.ts.map +1 -1
- package/dist/offline-evaluate.js +33 -4
- package/dist/offline-evaluate.js.map +1 -1
- package/dist/otel/exporter.d.ts +15 -2
- package/dist/otel/exporter.d.ts.map +1 -1
- package/dist/otel/exporter.js +52 -6
- package/dist/otel/exporter.js.map +1 -1
- package/dist/otel/map-attrs-optin.d.ts +39 -0
- package/dist/otel/map-attrs-optin.d.ts.map +1 -0
- package/dist/otel/map-attrs-optin.js +109 -0
- package/dist/otel/map-attrs-optin.js.map +1 -0
- package/dist/parse-args.d.ts +2 -0
- package/dist/parse-args.d.ts.map +1 -1
- package/dist/parse-args.js +4 -2
- package/dist/parse-args.js.map +1 -1
- package/dist/posture/card.d.ts +26 -0
- package/dist/posture/card.d.ts.map +1 -0
- package/dist/posture/card.js +46 -0
- package/dist/posture/card.js.map +1 -0
- package/dist/posture/collect.d.ts +19 -0
- package/dist/posture/collect.d.ts.map +1 -0
- package/dist/posture/collect.js +182 -0
- package/dist/posture/collect.js.map +1 -0
- package/dist/posture/send.d.ts +24 -0
- package/dist/posture/send.d.ts.map +1 -0
- package/dist/posture/send.js +162 -0
- package/dist/posture/send.js.map +1 -0
- package/dist/posture/spawn.d.ts +20 -0
- package/dist/posture/spawn.d.ts.map +1 -0
- package/dist/posture/spawn.js +33 -0
- package/dist/posture/spawn.js.map +1 -0
- package/dist/posture/store.d.ts +34 -0
- package/dist/posture/store.d.ts.map +1 -0
- package/dist/posture/store.js +107 -0
- package/dist/posture/store.js.map +1 -0
- package/dist/posture/validate.d.ts +33 -0
- package/dist/posture/validate.d.ts.map +1 -0
- package/dist/posture/validate.js +232 -0
- package/dist/posture/validate.js.map +1 -0
- package/dist/project-policy.d.ts +23 -0
- package/dist/project-policy.d.ts.map +1 -0
- package/dist/project-policy.js +95 -0
- package/dist/project-policy.js.map +1 -0
- package/dist/receipt/daemon.d.ts +9 -9
- package/dist/receipt/daemon.d.ts.map +1 -1
- package/dist/receipt/daemon.js +26 -11
- package/dist/receipt/daemon.js.map +1 -1
- package/dist/receipt/embeddings.d.ts +28 -10
- package/dist/receipt/embeddings.d.ts.map +1 -1
- package/dist/receipt/embeddings.js +221 -35
- package/dist/receipt/embeddings.js.map +1 -1
- package/dist/receipt/gate-page.d.ts.map +1 -1
- package/dist/receipt/gate-page.js +5 -22
- package/dist/receipt/gate-page.js.map +1 -1
- package/dist/receipt/live-server.d.ts +8 -0
- package/dist/receipt/live-server.d.ts.map +1 -1
- package/dist/receipt/live-server.js +136 -4
- package/dist/receipt/live-server.js.map +1 -1
- package/dist/receipt/render-receipt.d.ts +7 -1
- package/dist/receipt/render-receipt.d.ts.map +1 -1
- package/dist/receipt/render-receipt.js +101 -13
- package/dist/receipt/render-receipt.js.map +1 -1
- package/dist/receipt/search.d.ts +5 -0
- package/dist/receipt/search.d.ts.map +1 -1
- package/dist/receipt/search.js +23 -2
- package/dist/receipt/search.js.map +1 -1
- package/dist/receipt/semantic-setup.d.ts +21 -0
- package/dist/receipt/semantic-setup.d.ts.map +1 -0
- package/dist/receipt/semantic-setup.js +111 -0
- package/dist/receipt/semantic-setup.js.map +1 -0
- package/dist/receipt/semantic-status.d.ts +7 -0
- package/dist/receipt/semantic-status.d.ts.map +1 -0
- package/dist/receipt/semantic-status.js +26 -0
- package/dist/receipt/semantic-status.js.map +1 -0
- package/dist/sdk/govern.d.ts.map +1 -1
- package/dist/sdk/govern.js +7 -3
- package/dist/sdk/govern.js.map +1 -1
- package/dist/telemetry.d.ts.map +1 -1
- package/dist/telemetry.js +3 -23
- package/dist/telemetry.js.map +1 -1
- package/dist/trail-map-fields.d.ts +10 -0
- package/dist/trail-map-fields.d.ts.map +1 -0
- package/dist/trail-map-fields.js +53 -0
- package/dist/trail-map-fields.js.map +1 -0
- package/dist/trail-summary.d.ts.map +1 -1
- package/dist/trail-summary.js +11 -3
- package/dist/trail-summary.js.map +1 -1
- package/dist/trail.d.ts +9 -1
- package/dist/trail.d.ts.map +1 -1
- package/dist/trail.js +24 -1
- package/dist/trail.js.map +1 -1
- package/droid/README.md +1 -1
- package/droid/mcp.example.json +1 -1
- package/gemini/settings.example.json +1 -1
- package/grok/README.md +1 -1
- package/kilo/kilo.example.json +1 -1
- package/kimi/mcp.example.json +1 -1
- package/kiro/mcp.example.json +1 -1
- package/manifest.json +1 -1
- package/mastracode/mcp.example.json +1 -1
- package/mcp.json +1 -1
- package/openai/codex.config.example.toml +1 -1
- package/opencode/opencode.example.json +1 -1
- package/package.json +8 -4
- package/qwen/settings.example.json +1 -1
- package/server.json +2 -2
- package/vendor/cytoscape/LICENSE +19 -0
- package/vendor/cytoscape/README.md +7 -0
- package/vendor/cytoscape/cytoscape.min.js +31 -0
package/dist/commands/hook.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* (Claude Code, Codex, Grok, Kimi Code; Gemini CLI BeforeTool). Default: offline local evaluate only, no
|
|
4
4
|
* network, sub-second, fail-open on any internal error unless --fail-closed.
|
|
5
5
|
* DENY (local never-list) blocks; REQUIRE_APPROVE records advisory unless
|
|
6
|
-
* --strict. With --plane-config (
|
|
6
|
+
* --strict. With --plane-config (preview) it evaluates on the hosted plane and
|
|
7
7
|
* fails closed (runHostedHook below; --plane-shadow records without blocking).
|
|
8
8
|
*/
|
|
9
9
|
import { createHash } from "node:crypto";
|
|
@@ -12,9 +12,12 @@ import { isAbsolute, join } from "node:path";
|
|
|
12
12
|
import { configFilePath, globalConfigDir, resolveConfig } from "../config.js";
|
|
13
13
|
import { runEvalTool } from "./eval-tool.js";
|
|
14
14
|
import { appendTrail, defaultSessionId, hostToProduct } from "../trail.js";
|
|
15
|
+
import { trailMapFields } from "../trail-map-fields.js";
|
|
15
16
|
import { deriveWireChangeFields } from "../diff-preview.js";
|
|
16
17
|
import { matchesNeverList } from "../offline-evaluate.js";
|
|
17
18
|
import { neverListInputMatch } from "../never-list-input.js";
|
|
19
|
+
import { GUARD_DEFAULTS, guardContextFrom, guardHint, guardPackMatch, readGuardConfig } from "../guard-pack.js";
|
|
20
|
+
import { isNeverCode } from "../never-code.js";
|
|
18
21
|
import { maybeSpawnNotifyFlush } from "../notify/dispatch.js";
|
|
19
22
|
import { computeArgsHash } from "../hash.js";
|
|
20
23
|
import { evaluateHosted, hostedDecision, hostedEnvProblem, loadPlaneConfig, PlaneError, scrubNetworkEnv } from "./hosted-hook.js";
|
|
@@ -55,7 +58,23 @@ function geminiMcpToolId(raw) {
|
|
|
55
58
|
const isBeforeTool = (event) => /^BeforeTool$/i.test(event ?? "");
|
|
56
59
|
/** Gemini CLI reads the decision from stdout JSON (`decision`), not hookSpecificOutput: `--host gemini` or a BeforeTool payload. */
|
|
57
60
|
const geminiShape = (input, p) => input.host.trim().toLowerCase() === "gemini" || isBeforeTool(p?.event);
|
|
58
|
-
/**
|
|
61
|
+
/**
|
|
62
|
+
* Copilot CLI camelCase preToolUse sends `toolArgs` as a JSON string. Parse it so the
|
|
63
|
+
* input rules and the trail see an object; a bad string stays a string (the rules then
|
|
64
|
+
* fail open, as for any unparseable input). No size cap: the whole payload was already
|
|
65
|
+
* parsed above, and a cap here would let padding turn a long command into an allow.
|
|
66
|
+
*/
|
|
67
|
+
function parseToolArgs(v) {
|
|
68
|
+
if (typeof v !== "string")
|
|
69
|
+
return v;
|
|
70
|
+
try {
|
|
71
|
+
return JSON.parse(v);
|
|
72
|
+
}
|
|
73
|
+
catch {
|
|
74
|
+
return v;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
/** Accept snake_case (Claude/Kimi) and camelCase (Grok, Copilot) envelopes. */
|
|
59
78
|
function parsePayload(stdinText) {
|
|
60
79
|
let raw;
|
|
61
80
|
try {
|
|
@@ -88,16 +107,26 @@ function parsePayload(stdinText) {
|
|
|
88
107
|
toolUseId: (typeof p.tool_use_id === "string" && p.tool_use_id) ||
|
|
89
108
|
(typeof p.toolUseId === "string" && p.toolUseId) ||
|
|
90
109
|
undefined,
|
|
91
|
-
toolInput: p.tool_input ?? p.toolInput,
|
|
110
|
+
toolInput: p.tool_input ?? p.toolInput ?? parseToolArgs(p.toolArgs),
|
|
92
111
|
usage: readUsageShape(p.usage) ?? readUsageShape(toolResponse?.usage),
|
|
93
112
|
};
|
|
94
113
|
}
|
|
95
114
|
const ALLOW = { exitCode: 0, stdout: "", stderr: "" };
|
|
96
|
-
/**
|
|
115
|
+
/**
|
|
116
|
+
* Deny text. An input-rule hit names its rule id; the never-list cannot be overridden. A guard pack
|
|
117
|
+
* hit names its rule id and says what to do instead. It does not say where the allowlist lives: that file
|
|
118
|
+
* is writable by the agent, so the text points at the docs for the person. Never carries command text,
|
|
119
|
+
* a path or a matched secret.
|
|
120
|
+
*/
|
|
97
121
|
function denyReason(toolName, reasonCode, ruleId) {
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
122
|
+
if (reasonCode === "NEVER_EVENT" && ruleId) {
|
|
123
|
+
return `KYA denied ${toolName}: NEVER_EVENT (rule ${ruleId}; never-list rules cannot be overridden)`;
|
|
124
|
+
}
|
|
125
|
+
if (isNeverCode(reasonCode) && reasonCode !== "NEVER_EVENT" && ruleId) {
|
|
126
|
+
const hint = guardHint(ruleId);
|
|
127
|
+
return `KYA denied ${toolName}: ${reasonCode} (${ruleId}).${hint ? ` ${hint}` : ""} Ask the user; see docs/guard-pack.md.`;
|
|
128
|
+
}
|
|
129
|
+
return `KYA denied ${toolName}: ${reasonCode}`;
|
|
101
130
|
}
|
|
102
131
|
function deny(reason, gemini = false) {
|
|
103
132
|
// Gemini parses stdout JSON whatever the exit code, and a JSON body without `decision` means allow.
|
|
@@ -205,18 +234,50 @@ function auditedDeny(reason, reasonCode, input, payload, dedupe = false, ruleId)
|
|
|
205
234
|
verdict: "DENY",
|
|
206
235
|
reasonCode,
|
|
207
236
|
mode: "offline",
|
|
208
|
-
neverEvent: reasonCode
|
|
237
|
+
neverEvent: isNeverCode(reasonCode),
|
|
209
238
|
...(ruleId ? { neverRule: ruleId } : {}),
|
|
239
|
+
...trailMapFields(payload?.toolName ?? "unknown", payload?.toolInput, trailCwd, input.env),
|
|
210
240
|
};
|
|
211
241
|
try {
|
|
212
242
|
appendTrail(trailCwd, ev, input.env);
|
|
213
243
|
}
|
|
214
244
|
catch { /* audit is best effort */ }
|
|
215
|
-
maybeSpawnNotifyFlush({ env: input.env, cwd: trailCwd, event: ev });
|
|
245
|
+
maybeSpawnNotifyFlush({ env: input.env, cwd: trailCwd, event: ev, projectDir: trailCwd });
|
|
216
246
|
}
|
|
217
247
|
catch { /* never block the deny itself */ }
|
|
218
248
|
return deny(reason, geminiShape(input, payload));
|
|
219
249
|
}
|
|
250
|
+
/** cwd and env for the guard pack: the host's cwd when it sent an absolute one, else the hook's. */
|
|
251
|
+
function guardContextFor(payload, input) {
|
|
252
|
+
const c = payload?.cwd?.trim();
|
|
253
|
+
return guardContextFrom(c && isAbsolute(c) ? c : input.cwd, input.env);
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* A malformed guard config falls back to the defaults. Say so once an hour in the trail, so a person
|
|
257
|
+
* who edited `~/.kya/config.json` and sees no effect can find out why. Never throws.
|
|
258
|
+
*/
|
|
259
|
+
function noteGuardConfigProblem(ctx, input, payload) {
|
|
260
|
+
try {
|
|
261
|
+
const { problem } = readGuardConfig(ctx.home);
|
|
262
|
+
if (!problem)
|
|
263
|
+
return;
|
|
264
|
+
const hour = new Date().toISOString().slice(0, 13);
|
|
265
|
+
if (!claimToolUse(`guard-config:${hour}`, undefined, input.env))
|
|
266
|
+
return;
|
|
267
|
+
appendTrail(payload?.cwd?.trim() || input.cwd, {
|
|
268
|
+
ts: new Date().toISOString(),
|
|
269
|
+
sessionId: payload?.sessionId ?? defaultSessionId(input.env),
|
|
270
|
+
host: "ide",
|
|
271
|
+
product: hostToProduct(input.host),
|
|
272
|
+
toolId: "kya:guard-config",
|
|
273
|
+
verdict: "ALLOW",
|
|
274
|
+
reasonCode: "GUARD_CONFIG_INVALID",
|
|
275
|
+
mode: "offline",
|
|
276
|
+
summary: `guard config ignored (${problem}); defaults in force`,
|
|
277
|
+
}, input.env);
|
|
278
|
+
}
|
|
279
|
+
catch { /* best effort */ }
|
|
280
|
+
}
|
|
220
281
|
// Non-PreToolUse hook events that legitimately carry no gate decision.
|
|
221
282
|
const OTHER_EVENT = /^(post[_-]?tool[_-]?use.*|stop|subagent[_-]?(start|stop)|permission[_-]?request|elicitation.*|session[_-]?(start|end)|user[_-]?prompt[_-]?submit|notification|pre[_-]?compact)$/i;
|
|
222
283
|
export async function runHook(input) {
|
|
@@ -256,8 +317,10 @@ export async function runHook(input) {
|
|
|
256
317
|
config = resolve({ host: "ide" });
|
|
257
318
|
}
|
|
258
319
|
const cfg = config;
|
|
320
|
+
const guardCtx = guardContextFor(payload, input);
|
|
321
|
+
noteGuardConfigProblem(guardCtx, input, payload);
|
|
259
322
|
const evaluate = input.evaluate ??
|
|
260
|
-
(async (toolId, args) => (await runEvalTool(cfg, { toolId, args, offline: true })).response);
|
|
323
|
+
(async (toolId, args) => (await runEvalTool(cfg, { toolId, args, offline: true, guard: guardCtx })).response);
|
|
261
324
|
const evaluating = Promise.resolve().then(() => evaluate(toolName, payload?.toolInput ?? {}));
|
|
262
325
|
const response = input.failClosed
|
|
263
326
|
? await withTimeout(evaluating, input.evalTimeoutMs ?? 4000)
|
|
@@ -269,9 +332,12 @@ export async function runHook(input) {
|
|
|
269
332
|
// payload.cwd is host-supplied and only feeds the project-basename stamp;
|
|
270
333
|
// the trail path itself comes from env/KYA_HOME - no traversal risk.
|
|
271
334
|
const trailCwd = payload.cwd?.trim() || input.cwd;
|
|
335
|
+
// Map fields come from the raw input, before the secret strip below: a never deny or a secret read keeps its class.
|
|
336
|
+
const mapFields = trailMapFields(toolName, payload.toolInput ?? {}, trailCwd, input.env);
|
|
272
337
|
// Wire change fields (summary, diffPreview, targetPath) feed the receipt's
|
|
273
338
|
// Changes tab; redaction + opt-out live inside deriveWireChangeFields.
|
|
274
|
-
|
|
339
|
+
// A secret-shaped write is denied because its text is a secret: no preview of that text reaches the trail.
|
|
340
|
+
const changeFields = response.reasonCode === "NEVER_SECRET_WRITE" ? undefined : deriveWireChangeFields(toolName, payload.toolInput ?? {}, input.env);
|
|
275
341
|
const trailEvent = {
|
|
276
342
|
ts: new Date().toISOString(),
|
|
277
343
|
sessionId: payload.sessionId ?? defaultSessionId(input.env),
|
|
@@ -281,9 +347,10 @@ export async function runHook(input) {
|
|
|
281
347
|
verdict: response.verdict,
|
|
282
348
|
reasonCode: response.reasonCode ?? "",
|
|
283
349
|
mode: "offline",
|
|
284
|
-
neverEvent: response.reasonCode
|
|
350
|
+
neverEvent: isNeverCode(response.reasonCode),
|
|
285
351
|
...(response.ruleId ? { neverRule: response.ruleId } : {}),
|
|
286
352
|
argsHash: response.argsHash,
|
|
353
|
+
...mapFields,
|
|
287
354
|
...(changeFields ?? {}),
|
|
288
355
|
...(payload.usage?.tokensIn !== undefined ? { tokensIn: payload.usage.tokensIn } : {}),
|
|
289
356
|
...(payload.usage?.tokensOut !== undefined ? { tokensOut: payload.usage.tokensOut } : {}),
|
|
@@ -298,7 +365,7 @@ export async function runHook(input) {
|
|
|
298
365
|
}
|
|
299
366
|
// Webhooks + OTLP export ride a detached helper; the hook never waits on
|
|
300
367
|
// the network. No-op unless a sink is configured.
|
|
301
|
-
maybeSpawnNotifyFlush({ env: input.env, cwd: trailCwd, event: trailEvent });
|
|
368
|
+
maybeSpawnNotifyFlush({ env: input.env, cwd: trailCwd, event: trailEvent, projectDir: trailCwd });
|
|
302
369
|
}
|
|
303
370
|
}
|
|
304
371
|
catch {
|
|
@@ -321,10 +388,15 @@ export async function runHook(input) {
|
|
|
321
388
|
try {
|
|
322
389
|
// A never-list tool is logged as such in both modes (hosted counts stay right).
|
|
323
390
|
if (payload?.toolName) {
|
|
324
|
-
const inputHit = neverListInputMatch(payload.toolName, payload.toolInput);
|
|
391
|
+
const inputHit = neverListInputMatch(payload.toolName, payload.toolInput, undefined, payload.cwd?.trim() || input.cwd);
|
|
325
392
|
if (inputHit || matchesNeverList(payload.toolName)) {
|
|
326
393
|
return auditedDeny(denyReason(payload.toolName, "NEVER_EVENT", inputHit?.rule), "NEVER_EVENT", input, payload, true, inputHit?.rule);
|
|
327
394
|
}
|
|
395
|
+
// Guard pack with its defaults: the fallback never reads config, so a broken or hostile one cannot lift a deny here.
|
|
396
|
+
const guardHit = guardPackMatch(payload.toolName, payload.toolInput, guardContextFor(payload, input), GUARD_DEFAULTS);
|
|
397
|
+
if (guardHit) {
|
|
398
|
+
return auditedDeny(denyReason(payload.toolName, guardHit.code, guardHit.rule), guardHit.code, input, payload, true, guardHit.rule);
|
|
399
|
+
}
|
|
328
400
|
}
|
|
329
401
|
}
|
|
330
402
|
catch { /* fall through */ }
|
|
@@ -337,8 +409,10 @@ export async function runHook(input) {
|
|
|
337
409
|
/** Env that steers the OSS hook and is ignored in hosted mode (design T2/T3). */
|
|
338
410
|
const HOSTED_IGNORED_ENV = ["KYA_OFFLINE", "KYA_BASE_URL", "KYA_API_KEY", "SHIELD_API_KEY", "KYA_AGENT_ID", "KYA_HOME", "KYA_HOST", "KYA_NOTIFY_WEBHOOK", "KYA_OTLP_EXPORT_ENDPOINT"];
|
|
339
411
|
/**
|
|
340
|
-
* Hosted mode. Order: payload, local never-list, env and config checks, plane
|
|
341
|
-
* call, then a raise-only merge in which the local never-list always
|
|
412
|
+
* Hosted mode. Order: payload, local never-list, local guard pack, env and config checks, plane
|
|
413
|
+
* call, then a raise-only merge in which the local never-list, then the guard pack, always win.
|
|
414
|
+
* The guard pack has the same rules, codes and user-level config as the local hook; only the
|
|
415
|
+
* failure stance differs (hosted fails closed).
|
|
342
416
|
* Every failure is a deny (fail-closed) unless --plane-shadow, which records
|
|
343
417
|
* the would-be verdict and allows. Nothing here reads resolveConfig, the repo's
|
|
344
418
|
* .kya/config.json or KYA_* env, so none of them can downgrade this path.
|
|
@@ -362,6 +436,8 @@ async function runHostedHook(input, plane) {
|
|
|
362
436
|
stderrNotes.push("KYA hosted mode: KYA_* env and the project .kya/config.json are ignored");
|
|
363
437
|
// Crash path state: unknown until the local never-list has been evaluated below.
|
|
364
438
|
hostedDecision.neverList = "unknown";
|
|
439
|
+
hostedDecision.code = undefined;
|
|
440
|
+
hostedDecision.rule = undefined;
|
|
365
441
|
let payload;
|
|
366
442
|
let verdict;
|
|
367
443
|
let response;
|
|
@@ -380,16 +456,27 @@ async function runHostedHook(input, plane) {
|
|
|
380
456
|
const toolName = payload?.toolName;
|
|
381
457
|
let neverListed = false;
|
|
382
458
|
let neverRule;
|
|
383
|
-
|
|
384
|
-
//
|
|
459
|
+
let guardHit;
|
|
460
|
+
// The local never-list and the guard pack run first, before any env, config or plane code, and
|
|
461
|
+
// are stored so a crash later can never lower them (crashDecision). A throw leaves it "unknown",
|
|
462
|
+
// which denies. The guard config is the user-level file under the hosted $HOME only.
|
|
385
463
|
try {
|
|
386
464
|
if (toolName) {
|
|
387
|
-
neverRule = neverListInputMatch(toolName, payload?.toolInput)?.rule;
|
|
465
|
+
neverRule = neverListInputMatch(toolName, payload?.toolInput, undefined, payload?.cwd?.trim() || input.cwd)?.rule;
|
|
388
466
|
neverListed = matchesNeverList(toolName) || neverRule !== undefined;
|
|
389
|
-
|
|
467
|
+
if (!neverListed) {
|
|
468
|
+
const ctx = guardContextFor(payload, input);
|
|
469
|
+
guardHit = guardPackMatch(toolName, payload?.toolInput, ctx, readGuardConfig(ctx.home).config);
|
|
470
|
+
if (homeOk)
|
|
471
|
+
noteGuardConfigProblem(ctx, { ...input, env: stateEnv }, payload);
|
|
472
|
+
}
|
|
473
|
+
hostedDecision.neverList = neverListed || guardHit ? "deny" : "clear";
|
|
474
|
+
hostedDecision.code = neverListed ? "NEVER_EVENT" : guardHit?.code;
|
|
475
|
+
hostedDecision.rule = neverListed ? neverRule : guardHit?.rule;
|
|
390
476
|
}
|
|
391
477
|
}
|
|
392
478
|
catch { /* stays unknown */ }
|
|
479
|
+
const localDeny = neverListed || guardHit !== undefined;
|
|
393
480
|
if (!payload || !toolName) {
|
|
394
481
|
verdict = {
|
|
395
482
|
verdict: "DENY",
|
|
@@ -427,6 +514,7 @@ async function runHostedHook(input, plane) {
|
|
|
427
514
|
now: plane.now,
|
|
428
515
|
sleep: plane.sleep,
|
|
429
516
|
random: plane.random,
|
|
517
|
+
withholdChange: guardHit?.code === "NEVER_SECRET_WRITE",
|
|
430
518
|
});
|
|
431
519
|
}
|
|
432
520
|
catch (e) {
|
|
@@ -438,6 +526,9 @@ async function runHostedHook(input, plane) {
|
|
|
438
526
|
if (neverListed) {
|
|
439
527
|
verdict = { verdict: "DENY", reasonCode: "NEVER_EVENT", reason: denyReason(toolName, "NEVER_EVENT", neverRule), dedupe: true, ruleId: neverRule };
|
|
440
528
|
}
|
|
529
|
+
else if (guardHit) {
|
|
530
|
+
verdict = { verdict: "DENY", reasonCode: guardHit.code, reason: denyReason(toolName, guardHit.code, guardHit.rule), dedupe: true, ruleId: guardHit.rule };
|
|
531
|
+
}
|
|
441
532
|
else if (failure || !response) {
|
|
442
533
|
const f = failure ?? { code: "FAIL_CLOSED", message: "internal error" };
|
|
443
534
|
verdict = {
|
|
@@ -456,9 +547,9 @@ async function runHostedHook(input, plane) {
|
|
|
456
547
|
}
|
|
457
548
|
const blocks = verdict.verdict === "DENY" ||
|
|
458
549
|
(input.strict && verdict.verdict === "REQUIRE_APPROVE");
|
|
459
|
-
// Shadow never blocks, except the LOCAL never-list. Keyed to the local evaluation,
|
|
460
|
-
// plane's reason code: the plane answers NEVER_EVENT for every registered DENY-tier tool.
|
|
461
|
-
const enforce = blocks && (!plane.shadow ||
|
|
550
|
+
// Shadow never blocks, except the LOCAL never-list and guard pack. Keyed to the local evaluation,
|
|
551
|
+
// never to the plane's reason code: the plane answers NEVER_EVENT for every registered DENY-tier tool.
|
|
552
|
+
const enforce = blocks && (!plane.shadow || localDeny);
|
|
462
553
|
let firstSeen = true;
|
|
463
554
|
try {
|
|
464
555
|
firstSeen = recordHostedRow(input, stateEnv, homeOk, home, payload, verdict, response, plane.shadow, configIgnored);
|
|
@@ -496,7 +587,8 @@ function recordHostedRow(input, stateEnv, homeOk, home, payload, verdict, respon
|
|
|
496
587
|
let changeFields;
|
|
497
588
|
try {
|
|
498
589
|
argsHash ??= payload?.toolName ? computeArgsHash(payload.toolInput ?? {}) : undefined;
|
|
499
|
-
|
|
590
|
+
// A secret-shaped write is denied because its text is a secret: no preview of that text reaches the trail.
|
|
591
|
+
changeFields = payload?.toolName && verdict.reasonCode !== "NEVER_SECRET_WRITE" ? deriveWireChangeFields(toolName, payload.toolInput ?? {}, input.env) : undefined;
|
|
500
592
|
}
|
|
501
593
|
catch { /* row without hash or preview */ }
|
|
502
594
|
const ev = {
|
|
@@ -508,9 +600,10 @@ function recordHostedRow(input, stateEnv, homeOk, home, payload, verdict, respon
|
|
|
508
600
|
verdict: verdict.verdict,
|
|
509
601
|
reasonCode: verdict.reasonCode,
|
|
510
602
|
mode: input.strict ? "hold" : "observe",
|
|
511
|
-
neverEvent: verdict.reasonCode
|
|
603
|
+
neverEvent: isNeverCode(verdict.reasonCode),
|
|
512
604
|
...(verdict.ruleId ? { neverRule: verdict.ruleId } : {}),
|
|
513
605
|
...(argsHash ? { argsHash } : {}),
|
|
606
|
+
...trailMapFields(toolName, payload?.toolInput, payload?.cwd?.trim() || input.cwd, stateEnv),
|
|
514
607
|
...(changeFields ?? {}),
|
|
515
608
|
...(payload?.usage?.tokensIn !== undefined ? { tokensIn: payload.usage.tokensIn } : {}),
|
|
516
609
|
...(payload?.usage?.tokensOut !== undefined ? { tokensOut: payload.usage.tokensOut } : {}),
|
|
@@ -522,7 +615,8 @@ function recordHostedRow(input, stateEnv, homeOk, home, payload, verdict, respon
|
|
|
522
615
|
}
|
|
523
616
|
catch { /* best effort */ }
|
|
524
617
|
// cwd = home: only the user-level notify config applies, never a repo's sinks.
|
|
525
|
-
|
|
618
|
+
// projectDir is the call's project, so the map-attribute opt-in check sees the repo even though cwd is home.
|
|
619
|
+
maybeSpawnNotifyFlush({ env: stateEnv, cwd: home, event: ev, projectDir: payload?.cwd?.trim() || input.cwd });
|
|
526
620
|
return true;
|
|
527
621
|
}
|
|
528
622
|
//# sourceMappingURL=hook.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hook.js","sourceRoot":"","sources":["../../src/commands/hook.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hook.js","sourceRoot":"","sources":["../../src/commands/hook.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,9 +15,14 @@ export declare const loadedSecrets: Set<string>;
|
|
|
15
15
|
* prints the key; this covers anything else that might.
|
|
16
16
|
*/
|
|
17
17
|
export declare function guardStream(stream: NodeJS.WriteStream): void;
|
|
18
|
-
/**
|
|
18
|
+
/**
|
|
19
|
+
* What the hook knows before any plane code runs; the crash path never lowers it. "deny" covers the
|
|
20
|
+
* never-list and the guard pack (both local, both win in shadow); `code` and `rule` then name which one.
|
|
21
|
+
*/
|
|
19
22
|
export declare const hostedDecision: {
|
|
20
23
|
neverList: "deny" | "clear" | "unknown";
|
|
24
|
+
code?: string;
|
|
25
|
+
rule?: string;
|
|
21
26
|
};
|
|
22
27
|
/**
|
|
23
28
|
* Crash decision. The local never-list (evaluated before any plane code) wins
|
|
@@ -137,6 +142,8 @@ export interface HostedEvaluateInput {
|
|
|
137
142
|
readonly now?: () => number;
|
|
138
143
|
readonly sleep?: (ms: number) => Promise<void>;
|
|
139
144
|
readonly random?: () => number;
|
|
145
|
+
/** Leave summary, diffPreview and targetPath off the wire (a secret-shaped write: its text is the secret). */
|
|
146
|
+
readonly withholdChange?: boolean;
|
|
140
147
|
}
|
|
141
148
|
export declare const BACKOFF_BASE_MS = 200;
|
|
142
149
|
export declare const BACKOFF_CAP_MS = 1600;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hosted-hook.d.ts","sourceRoot":"","sources":["../../src/commands/hosted-hook.ts"],"names":[],"mappings":"AAeA,OAAO,EAAkB,KAAK,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAM3E,MAAM,MAAM,SAAS,GACjB,cAAc,GACd,mBAAmB,GACnB,mBAAmB,GACnB,qBAAqB,GACrB,eAAe,GACf,oBAAoB,CAAC;AAEzB,6FAA6F;AAC7F,qBAAa,UAAW,SAAQ,KAAK;IACvB,QAAQ,CAAC,IAAI,EAAE,SAAS;gBAAf,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM;CAItD;AAED,gGAAgG;AAChG,eAAO,MAAM,aAAa,aAAoB,CAAC;AAa/C;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,GAAG,IAAI,CAwB5D;AAED
|
|
1
|
+
{"version":3,"file":"hosted-hook.d.ts","sourceRoot":"","sources":["../../src/commands/hosted-hook.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Hosted-plane mode for `kya hook` (
|
|
2
|
+
* Hosted-plane mode for `kya hook` (preview): `--plane-config <absolute path>`.
|
|
3
3
|
*
|
|
4
4
|
* The API key, base URL and agent id come ONLY from that one user-owned file.
|
|
5
5
|
* Env (KYA_OFFLINE, KYA_BASE_URL, KYA_API_KEY, SHIELD_API_KEY, KYA_AGENT_ID,
|
|
@@ -80,7 +80,10 @@ export function guardStream(stream) {
|
|
|
80
80
|
}
|
|
81
81
|
});
|
|
82
82
|
}
|
|
83
|
-
/**
|
|
83
|
+
/**
|
|
84
|
+
* What the hook knows before any plane code runs; the crash path never lowers it. "deny" covers the
|
|
85
|
+
* never-list and the guard pack (both local, both win in shadow); `code` and `rule` then name which one.
|
|
86
|
+
*/
|
|
84
87
|
export const hostedDecision = { neverList: "unknown" };
|
|
85
88
|
/**
|
|
86
89
|
* Crash decision. The local never-list (evaluated before any plane code) wins
|
|
@@ -90,6 +93,10 @@ export const hostedDecision = { neverList: "unknown" };
|
|
|
90
93
|
*/
|
|
91
94
|
export function crashDecision(shadow) {
|
|
92
95
|
if (hostedDecision.neverList === "deny") {
|
|
96
|
+
const { code, rule } = hostedDecision;
|
|
97
|
+
if (code && code !== "NEVER_EVENT" && /^NEVER_[A-Z_]+$/.test(code) && rule && /^[a-z0-9-]+$/.test(rule)) {
|
|
98
|
+
return { code: 2, reason: `KYA denied: ${code} (${rule}; internal error after the local guard pack matched)` };
|
|
99
|
+
}
|
|
93
100
|
return { code: 2, reason: "KYA denied: NEVER_EVENT (internal error after the local never-list matched)" };
|
|
94
101
|
}
|
|
95
102
|
if (shadow && hostedDecision.neverList === "clear") {
|
|
@@ -254,7 +261,7 @@ export function loadPlaneConfig(path, opts) {
|
|
|
254
261
|
throw new PlaneError("PLANE_CONFIG", `plane config ${why}`);
|
|
255
262
|
};
|
|
256
263
|
if (process.platform === "win32")
|
|
257
|
-
bad("is not supported on Windows in this
|
|
264
|
+
bad("is not supported on Windows in this preview (no POSIX owner and mode check)");
|
|
258
265
|
if (!path || !isAbsolute(path))
|
|
259
266
|
bad("path must be absolute");
|
|
260
267
|
// lstat first: a FIFO or device would block or misbehave on open.
|
|
@@ -491,7 +498,7 @@ const VERDICTS = new Set(["ALLOW", "DENY", "REQUIRE_APPROVE"]);
|
|
|
491
498
|
*/
|
|
492
499
|
export function hostedEvaluateBody(input) {
|
|
493
500
|
const sample = findSampleTool(input.toolName);
|
|
494
|
-
const change = deriveWireChangeFields(input.toolName, input.args, input.env);
|
|
501
|
+
const change = input.withholdChange ? undefined : deriveWireChangeFields(input.toolName, input.args, input.env);
|
|
495
502
|
return {
|
|
496
503
|
toolId: input.toolName,
|
|
497
504
|
action: input.toolName,
|
|
@@ -596,7 +603,10 @@ export async function evaluateHosted(input) {
|
|
|
596
603
|
catch (e) {
|
|
597
604
|
if (e instanceof PlaneError)
|
|
598
605
|
throw e;
|
|
599
|
-
|
|
606
|
+
// The code names what happened, not when it was noticed: only an abort at the budget is a timeout.
|
|
607
|
+
// A refused connection that arrives after the deadline (a slow host, a closed port that used the whole
|
|
608
|
+
// budget in retries) is still PLANE_UNREACHABLE. Both fail closed; only the reason text differs.
|
|
609
|
+
last = e?.name === "TimeoutError" || e?.name === "AbortError"
|
|
600
610
|
? new PlaneError("PLANE_TIMEOUT", "hosted plane did not answer within the budget")
|
|
601
611
|
: new PlaneError("PLANE_UNREACHABLE", "hosted plane unreachable");
|
|
602
612
|
wait = backoffMs(attempt, random);
|