sandstream-kit 1.4.2 → 1.5.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 CHANGED
@@ -102,6 +102,9 @@ check = "stripe config --list"
102
102
 
103
103
  [secrets]
104
104
  store = "1password" # or env, dotenvx, vault, aws-sm, gcp-sm, azure-kv, infisical, doppler, bitwarden, eas
105
+ # Choosing a vault wires it up: kit adds its CLI to [tools] so `kit setup` installs
106
+ # it via mise (1password, infisical, doppler, bitwarden, vault), then guides login.
107
+ # Cloud secret managers (aws-sm, gcp-sm, azure-kv) are an exception — see below.
105
108
  template = ".env.template"
106
109
 
107
110
  [secrets.keys]
@@ -126,7 +129,7 @@ Complete reference: [`docs/COMMANDS.md`](./docs/COMMANDS.md). The shortlist:
126
129
  - `kit fix`: Auto-remediate gaps (tools, gitignore, hooks, .env.template)
127
130
  - `kit login --plan`: Show the resolved auth strategy (vault/capture/interactive) per service without logging in
128
131
  - `kit secrets {set,migrate,rotate,propagate,onecli,validate}`: Secret lifecycle
129
- - `kit memory {index,search,suggest,pal,share,backup}`: Local-first second brain + pending-action ledger
132
+ - `kit memory {index,search,stats,suggest,merge,save,threads,share,backup}`: Local-first, cross-harness second brain (per-harness `stats`, project recall, saved copilots) + `kit memory pal` pending-action ledger
130
133
  - `kit auth {elevate,setup-totp,status,revoke}`: Elevation gate + TOTP
131
134
  - `kit mcp {list,auth,set-token,clear}`: MCP-server orchestrator
132
135
  - `kit env {list,switch,current,diff}`: Environment routing + drift detection
@@ -253,6 +256,29 @@ migration, to deploy-platform propagation, to destructive history cleanup.
253
256
  - `kit secrets onecli register <KEY> --host <pattern>`: Register with the OneCLI gateway so the agent process never sees the real value
254
257
  - `kit secrets purge-history <pattern> --force-history`: Destructive: rewrite git history to scrub a leaked value (wraps `git filter-repo` / `bfg`). Requires elevation + explicit flag.
255
258
 
259
+ **Which vault CLIs kit installs.** When you pick a secret backend at `kit init`, kit
260
+ provisions its CLI like any other tool — it adds the CLI to `[tools]`, so `kit setup`
261
+ installs it via mise, resolves it mise-first at read time, and prints the login step.
262
+ This covers the dedicated vault CLIs:
263
+
264
+ | Backend | CLI installed by `kit setup`? | Authenticate with |
265
+ |---|---|---|
266
+ | 1Password | yes (`op` via mise) | `op signin` |
267
+ | Infisical | yes (`infisical` via mise) | `infisical login` + `infisical init` |
268
+ | Doppler | yes (`doppler` via mise) | `doppler login` + `doppler setup` |
269
+ | Bitwarden | yes (`bw` via mise) | `bw login` + `bw unlock` |
270
+ | HashiCorp Vault | yes (`vault` via mise) | `vault login` |
271
+ | AWS Secrets Manager | **no** — uses your existing `aws` CLI | `aws configure` / IAM role |
272
+ | GCP Secret Manager | **no** — uses your existing `gcloud` CLI | `gcloud auth login` |
273
+ | Azure Key Vault | **no** — uses your existing `az` CLI | `az login` |
274
+
275
+ The three cloud secret managers are a deliberate exception: their CLIs are normally
276
+ already present (cloud installer, CI image, IAM environment), authenticate through
277
+ cloud-native mechanisms rather than a CLI login, and a second mise-managed copy could
278
+ shadow the system one. kit therefore **guides** their login but does not install the
279
+ CLI — it resolves the binary from your `PATH` and falls back cleanly if absent. Logging
280
+ in to any vault is always your own account action; kit never does it for you.
281
+
256
282
  ### Security scanners
257
283
 
258
284
  - `kit security scan-staged`: Pre-commit: scan staged blobs for known credential patterns
@@ -15,7 +15,7 @@ export declare const KIT_BLOCK_BEGIN = "<!-- BEGIN kit (managed block \u2014 edi
15
15
  export declare const KIT_BLOCK_END = "<!-- END kit -->";
16
16
  /** The canonical "use kit" instruction. Kept short on purpose — agents read it
17
17
  * every turn, so it states the rules, not the rationale. */
18
- export declare const KIT_INSTRUCTION = "## kit\n\nThis project uses [kit](https://github.com/sandstream/kit) to manage tools, secrets, and environment setup. As the agent working here:\n\n- Run `kit check` before starting; if it reports `fail`, run `kit fix` then re-check.\n- Before installing ANY dependency, run `kit triage npm|pip|docker|repo <target>` and only install if it passes.\n- Never write secrets to `.env*` in plaintext \u2014 resolve them with `kit secrets` (vault-backed).\n- After a batch of edits, run `kit check --category security`; halt and surface findings on `fail`.\n- Destructive secret ops require `kit auth elevate` first.";
18
+ export declare const KIT_INSTRUCTION = "## kit\n\nThis project uses [kit](https://github.com/sandstream/kit) to manage tools, secrets, and environment setup. As the agent working here:\n\n- Run `kit check` before starting; if it reports `fail`, run `kit fix` then re-check.\n- Recall prior decisions with `kit memory search \"<query>\"` (cross-session, cross-agent); keep the local store current with `kit memory index`.\n- Before installing ANY dependency, run `kit triage npm|pip|docker|repo <target>` and only install if it passes.\n- Never write secrets to `.env*` in plaintext \u2014 resolve them with `kit secrets` (vault-backed).\n- After a batch of edits, run `kit check --category security`; halt and surface findings on `fail`.\n- Destructive secret ops require `kit auth elevate` first.";
19
19
  export interface AgentTarget {
20
20
  /** Agent/tool name for display. */
21
21
  agent: string;
@@ -54,3 +54,27 @@ export interface AgentConfigResult {
54
54
  * Read-only mode refuses + audits before any write.
55
55
  */
56
56
  export declare function writeAgentConfig(cwd?: string, targets?: AgentTarget[]): Promise<AgentConfigResult[]>;
57
+ /**
58
+ * The READ-ONLY kit commands an agent should be allowed to run without a
59
+ * permission prompt. Teaching the agent to "use kit" is useless if every
60
+ * `kit …` hits the permission wall in auto/non-interactive mode and the agent
61
+ * silently never runs it. These are all non-mutating: no `secrets`, `fix`,
62
+ * `hooks add`, `agent-config`, `context use`, or `memory install` — those keep
63
+ * prompting on purpose. We never write a `deny` rule or a bypass mode.
64
+ */
65
+ export declare const READONLY_KIT_PERMISSIONS: string[];
66
+ export interface PermissionResult {
67
+ file: string;
68
+ added: string[];
69
+ alreadyPresent: number;
70
+ action: "created" | "updated" | "unchanged" | "skipped" | "failed";
71
+ detail?: string;
72
+ }
73
+ /**
74
+ * Grant the agent permission to run kit's read-only commands by merging
75
+ * allow-rules into the project's `.claude/settings.json`. Idempotent and
76
+ * non-destructive: preserves the user's other allow rules, never touches
77
+ * `deny`, never sets a permission mode. Only wired for Claude Code (the agent
78
+ * whose settings schema we know).
79
+ */
80
+ export declare function installKitPermissions(cwd?: string): Promise<PermissionResult>;
@@ -1,6 +1,6 @@
1
- import { readFile, writeFile } from "node:fs/promises";
1
+ import { readFile, writeFile, mkdir } from "node:fs/promises";
2
2
  import { existsSync } from "node:fs";
3
- import { resolve } from "node:path";
3
+ import { resolve, dirname } from "node:path";
4
4
  /**
5
5
  * Teach the coding agent to use kit.
6
6
  *
@@ -23,6 +23,7 @@ export const KIT_INSTRUCTION = `## kit
23
23
  This project uses [kit](https://github.com/sandstream/kit) to manage tools, secrets, and environment setup. As the agent working here:
24
24
 
25
25
  - Run \`kit check\` before starting; if it reports \`fail\`, run \`kit fix\` then re-check.
26
+ - Recall prior decisions with \`kit memory search "<query>"\` (cross-session, cross-agent); keep the local store current with \`kit memory index\`.
26
27
  - Before installing ANY dependency, run \`kit triage npm|pip|docker|repo <target>\` and only install if it passes.
27
28
  - Never write secrets to \`.env*\` in plaintext — resolve them with \`kit secrets\` (vault-backed).
28
29
  - After a batch of edits, run \`kit check --category security\`; halt and surface findings on \`fail\`.
@@ -126,4 +127,76 @@ export async function writeAgentConfig(cwd = process.cwd(), targets) {
126
127
  }
127
128
  return results;
128
129
  }
130
+ /**
131
+ * The READ-ONLY kit commands an agent should be allowed to run without a
132
+ * permission prompt. Teaching the agent to "use kit" is useless if every
133
+ * `kit …` hits the permission wall in auto/non-interactive mode and the agent
134
+ * silently never runs it. These are all non-mutating: no `secrets`, `fix`,
135
+ * `hooks add`, `agent-config`, `context use`, or `memory install` — those keep
136
+ * prompting on purpose. We never write a `deny` rule or a bypass mode.
137
+ */
138
+ export const READONLY_KIT_PERMISSIONS = [
139
+ "Bash(kit check:*)",
140
+ "Bash(kit status:*)",
141
+ "Bash(kit doctor:*)",
142
+ "Bash(kit ci:*)",
143
+ "Bash(kit analyze:*)",
144
+ "Bash(kit escalate:*)",
145
+ "Bash(kit context check:*)",
146
+ "Bash(kit triage:*)",
147
+ "Bash(kit memory search:*)",
148
+ "Bash(kit memory stats:*)",
149
+ "Bash(kit memory index:*)",
150
+ ];
151
+ /**
152
+ * Grant the agent permission to run kit's read-only commands by merging
153
+ * allow-rules into the project's `.claude/settings.json`. Idempotent and
154
+ * non-destructive: preserves the user's other allow rules, never touches
155
+ * `deny`, never sets a permission mode. Only wired for Claude Code (the agent
156
+ * whose settings schema we know).
157
+ */
158
+ export async function installKitPermissions(cwd = process.cwd()) {
159
+ const file = ".claude/settings.json";
160
+ const path = resolve(cwd, file);
161
+ const { isReadOnlyMode } = await import("./read-only-mode.js");
162
+ if (isReadOnlyMode()) {
163
+ return { file, added: [], alreadyPresent: 0, action: "skipped", detail: "read-only mode" };
164
+ }
165
+ // Only meaningful in a Claude Code project.
166
+ if (!existsSync(resolve(cwd, ".claude")) && !existsSync(resolve(cwd, "CLAUDE.md"))) {
167
+ return { file, added: [], alreadyPresent: 0, action: "skipped", detail: "no Claude Code project detected" };
168
+ }
169
+ let settings = {};
170
+ let existed = false;
171
+ try {
172
+ settings = JSON.parse(await readFile(path, "utf-8"));
173
+ existed = true;
174
+ }
175
+ catch {
176
+ settings = {}; // absent or unreadable → start fresh (preserve nothing we can't parse)
177
+ }
178
+ const perms = (settings.permissions ??= {});
179
+ const allow = (perms.allow ??= []);
180
+ const added = [];
181
+ let alreadyPresent = 0;
182
+ for (const rule of READONLY_KIT_PERMISSIONS) {
183
+ if (allow.includes(rule)) {
184
+ alreadyPresent++;
185
+ continue;
186
+ }
187
+ allow.push(rule);
188
+ added.push(rule);
189
+ }
190
+ if (added.length === 0) {
191
+ return { file, added, alreadyPresent, action: "unchanged" };
192
+ }
193
+ try {
194
+ await mkdir(dirname(path), { recursive: true });
195
+ await writeFile(path, JSON.stringify(settings, null, 2) + "\n", "utf-8");
196
+ return { file, added, alreadyPresent, action: existed ? "updated" : "created" };
197
+ }
198
+ catch (err) {
199
+ return { file, added: [], alreadyPresent, action: "failed", detail: err instanceof Error ? err.message : String(err) };
200
+ }
201
+ }
129
202
  //# sourceMappingURL=agent-config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-config.js","sourceRoot":"","sources":["../src/agent-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-config.js","sourceRoot":"","sources":["../src/agent-config.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,12 @@ export interface SecurityCheckResult {
9
9
  suggestion?: string;
10
10
  rule?: RuleRef;
11
11
  }
12
+ /** Count HIGH/CRITICAL misconfigurations in a `trivy config --format json`
13
+ * payload. PURE so it can be unit-tested without running trivy. */
14
+ export declare function parseTrivyMisconfigCount(stdout: string): number;
15
+ /** Count vulnerabilities in an `osv-scanner --format json` payload. PURE so it
16
+ * can be unit-tested without running osv-scanner. -1 = unparseable. */
17
+ export declare function parseOsvVulnCount(stdout: string): number;
12
18
  /**
13
19
  * Run all security checks
14
20
  */
@@ -1,8 +1,9 @@
1
1
  import { execFile } from "node:child_process";
2
2
  import { promisify } from "node:util";
3
- import { readFile, access } from "node:fs/promises";
3
+ import { readFile, access, readdir } from "node:fs/promises";
4
4
  import { resolve } from "node:path";
5
5
  import { execFileNoThrow } from "./utils/execFileNoThrow.js";
6
+ import { resolveToolBin } from "./utils/resolveTool.js";
6
7
  import { ruleForCheck } from "./rules/catalog.js";
7
8
  import { ensureBumblebee, runScan, maxSeverity, newestCatalogMtime, isCatalogStale, } from "./bumblebee.js";
8
9
  const exec = promisify(execFile);
@@ -444,18 +445,31 @@ async function checkSecretsInCode() {
444
445
  detail: "not a git repository",
445
446
  };
446
447
  }
447
- // Try trufflehog first
448
+ // Deep scan with trufflehog — resolve mise-first so a mise-installed one is
449
+ // used (kit provisions it as a default), not just a bare-PATH one. Throwing
450
+ // when it's absent falls through to the basic pattern-matching below.
448
451
  try {
449
- await exec("trufflehog", ["--version"], { timeout: 5_000 });
452
+ const trufflehogBin = await resolveToolBin("trufflehog");
453
+ if (!trufflehogBin)
454
+ throw new Error("trufflehog not installed");
450
455
  try {
451
- const { stdout } = await exec("trufflehog", ["filesystem", ".", "--json", "--no-update"], { timeout: 60_000 });
452
- const findings = stdout.trim().split("\n").filter(Boolean);
456
+ // Scan GIT (committed content) not the raw filesystem. `filesystem .`
457
+ // walks node_modules (times out) and flags gitignored local files like
458
+ // `.env.production.local` that were never committed (false positives).
459
+ // Git mode is fast and only sees what's actually in the repo's history.
460
+ const { stdout } = await exec(trufflehogBin, ["git", `file://${process.cwd()}`, "--json", "--no-update"], { timeout: 90_000 });
461
+ // trufflehog --json prefixes an info LOG line ({"level":...}); only count
462
+ // lines that are real findings (they carry a DetectorName).
463
+ const findings = stdout
464
+ .trim()
465
+ .split("\n")
466
+ .filter((l) => l.includes('"DetectorName"'));
453
467
  if (findings.length > 0) {
454
468
  return {
455
469
  category: "secrets",
456
470
  name: "secrets scan",
457
471
  status: "fail",
458
- detail: `${findings.length} potential secret(s) found`,
472
+ detail: `${findings.length} secret(s) committed in git history -run: trufflehog git file://.`,
459
473
  severity: "critical",
460
474
  };
461
475
  }
@@ -463,7 +477,7 @@ async function checkSecretsInCode() {
463
477
  category: "secrets",
464
478
  name: "secrets scan",
465
479
  status: "pass",
466
- detail: "no secrets detected (trufflehog)",
480
+ detail: "no committed secrets (trufflehog git)",
467
481
  };
468
482
  }
469
483
  catch {
@@ -531,18 +545,20 @@ async function checkSocket() {
531
545
  catch {
532
546
  return { category: "supply-chain", name: "socket scan", status: "skip", detail: "no package.json found" };
533
547
  }
534
- const versionCheck = await execFileNoThrow("socket", ["--version"], { timeout: 5_000 });
535
- if (!versionCheck.ok) {
548
+ // Resolve mise-first: kit installs scanners via mise, whose shims aren't on
549
+ // kit's PATH. A bare "socket" lookup would miss a mise-installed one.
550
+ const socketBin = await resolveToolBin("socket");
551
+ if (!socketBin) {
536
552
  return {
537
553
  category: "supply-chain",
538
554
  name: "socket scan",
539
555
  status: "warn",
540
556
  detail: "socket not installed -supply chain malware undetected",
541
557
  severity: "medium",
542
- suggestion: "npm install -g @socketsecurity/cli",
558
+ suggestion: "mise use npm:@socketsecurity/cli (or: npm install -g @socketsecurity/cli)",
543
559
  };
544
560
  }
545
- const result = await execFileNoThrow("socket", ["check", "--json"], { timeout: 60_000 });
561
+ const result = await execFileNoThrow(socketBin, ["check", "--json"], { timeout: 60_000 });
546
562
  const raw = result.stdout || result.stderr;
547
563
  try {
548
564
  const parsed = JSON.parse(raw);
@@ -591,18 +607,19 @@ async function checkTrivy() {
591
607
  if (!hasDockerfile) {
592
608
  return { category: "supply-chain", name: "trivy container scan", status: "skip", detail: "no Dockerfile found" };
593
609
  }
594
- const versionCheck = await execFileNoThrow("trivy", ["--version"], { timeout: 5_000 });
595
- if (!versionCheck.ok) {
610
+ // Resolve mise-first (like socket/semgrep): a mise-installed trivy isn't on kit's PATH.
611
+ const trivyBin = await resolveToolBin("trivy");
612
+ if (!trivyBin) {
596
613
  return {
597
614
  category: "supply-chain",
598
615
  name: "trivy container scan",
599
616
  status: "warn",
600
617
  detail: "trivy not installed -container CVEs undetected",
601
618
  severity: "medium",
602
- suggestion: "brew install trivy",
619
+ suggestion: "mise use aqua:aquasecurity/trivy (or: brew install trivy)",
603
620
  };
604
621
  }
605
- const result = await execFileNoThrow("trivy", ["fs", ".", "--format", "json", "--severity", "HIGH,CRITICAL", "--quiet"], { timeout: 120_000 });
622
+ const result = await execFileNoThrow(trivyBin, ["fs", ".", "--format", "json", "--severity", "HIGH,CRITICAL", "--quiet"], { timeout: 120_000 });
606
623
  if (!result.ok && !result.stdout) {
607
624
  return { category: "supply-chain", name: "trivy container scan", status: "warn", detail: "trivy scan failed", severity: "medium" };
608
625
  }
@@ -624,6 +641,130 @@ async function checkTrivy() {
624
641
  return { category: "supply-chain", name: "trivy container scan", status: "warn", detail: "trivy scan failed", severity: "medium" };
625
642
  }
626
643
  }
644
+ /** Count HIGH/CRITICAL misconfigurations in a `trivy config --format json`
645
+ * payload. PURE so it can be unit-tested without running trivy. */
646
+ export function parseTrivyMisconfigCount(stdout) {
647
+ try {
648
+ const parsed = JSON.parse(stdout);
649
+ return (parsed.Results ?? [])
650
+ .flatMap((r) => r.Misconfigurations ?? [])
651
+ .filter((m) => m.Severity === "HIGH" || m.Severity === "CRITICAL").length;
652
+ }
653
+ catch {
654
+ return -1; // unparseable
655
+ }
656
+ }
657
+ /**
658
+ * IaC misconfiguration scan (Dockerfile / Compose / Terraform) via
659
+ * `trivy config`. Distinct from the container-CVE scan above: that finds
660
+ * vulnerable packages, this finds insecure infrastructure config (root user,
661
+ * privileged containers, public buckets, missing healthchecks, …). Runs only
662
+ * when there is IaC to scan; resolves trivy mise-first like the CVE scan.
663
+ */
664
+ async function checkTrivyConfig() {
665
+ const name = "trivy config (IaC)";
666
+ const cwd = process.cwd();
667
+ const fileMarkers = [
668
+ "Dockerfile",
669
+ "docker-compose.yml",
670
+ "docker-compose.yaml",
671
+ "compose.yml",
672
+ "compose.yaml",
673
+ ];
674
+ let hasIaC = false;
675
+ for (const m of fileMarkers) {
676
+ if (await access(resolve(cwd, m)).then(() => true).catch(() => false)) {
677
+ hasIaC = true;
678
+ break;
679
+ }
680
+ }
681
+ if (!hasIaC) {
682
+ // Any top-level Terraform?
683
+ try {
684
+ const entries = await readdir(cwd);
685
+ hasIaC = entries.some((e) => e.endsWith(".tf"));
686
+ }
687
+ catch {
688
+ /* unreadable cwd — treat as no IaC */
689
+ }
690
+ }
691
+ if (!hasIaC) {
692
+ return { category: "supply-chain", name, status: "skip", detail: "no Dockerfile/Compose/Terraform found" };
693
+ }
694
+ const trivyBin = await resolveToolBin("trivy");
695
+ if (!trivyBin) {
696
+ return {
697
+ category: "supply-chain",
698
+ name,
699
+ status: "warn",
700
+ detail: "trivy not installed -IaC misconfigurations undetected",
701
+ severity: "medium",
702
+ suggestion: "mise use aqua:aquasecurity/trivy (or: brew install trivy)",
703
+ };
704
+ }
705
+ const result = await execFileNoThrow(trivyBin, ["config", ".", "--format", "json", "--severity", "HIGH,CRITICAL", "--quiet"], { timeout: 120_000 });
706
+ const count = parseTrivyMisconfigCount(result.stdout);
707
+ if (count < 0) {
708
+ return { category: "supply-chain", name, status: "warn", detail: "trivy config scan failed", severity: "medium" };
709
+ }
710
+ if (count === 0) {
711
+ return { category: "supply-chain", name, status: "pass", detail: "no high/critical IaC misconfigurations" };
712
+ }
713
+ return {
714
+ category: "supply-chain",
715
+ name,
716
+ status: "warn",
717
+ detail: `${count} high/critical IaC misconfiguration(s) -run: trivy config .`,
718
+ severity: "high",
719
+ };
720
+ }
721
+ /** Count vulnerabilities in an `osv-scanner --format json` payload. PURE so it
722
+ * can be unit-tested without running osv-scanner. -1 = unparseable. */
723
+ export function parseOsvVulnCount(stdout) {
724
+ try {
725
+ const parsed = JSON.parse(stdout);
726
+ return (parsed.results ?? [])
727
+ .flatMap((r) => r.packages ?? [])
728
+ .flatMap((p) => p.vulnerabilities ?? []).length;
729
+ }
730
+ catch {
731
+ return -1;
732
+ }
733
+ }
734
+ /**
735
+ * Multi-ecosystem dependency CVE scan via osv-scanner (Google OSV). Provisioned
736
+ * only for ecosystems kit has no dedicated scanner for (go/rust/php/…) — for
737
+ * node it's npm audit, for python pip-audit — so it skips cleanly when absent
738
+ * rather than duplicating those. Resolves mise-first.
739
+ */
740
+ async function checkOsvScanner() {
741
+ const name = "osv-scanner (deps)";
742
+ const osvBin = await resolveToolBin("osv-scanner");
743
+ if (!osvBin) {
744
+ return {
745
+ category: "supply-chain",
746
+ name,
747
+ status: "skip",
748
+ detail: "osv-scanner not installed (mise use aqua:google/osv-scanner)",
749
+ };
750
+ }
751
+ const result = await execFileNoThrow(osvBin, ["--format", "json", "-r", "."], { timeout: 120_000 });
752
+ const count = parseOsvVulnCount(result.stdout);
753
+ if (count < 0) {
754
+ // osv exits non-zero with no JSON when there are no lockfiles to scan.
755
+ return { category: "supply-chain", name, status: "skip", detail: "no lockfiles to scan" };
756
+ }
757
+ if (count === 0) {
758
+ return { category: "supply-chain", name, status: "pass", detail: "no known dependency vulnerabilities" };
759
+ }
760
+ return {
761
+ category: "supply-chain",
762
+ name,
763
+ status: "warn",
764
+ detail: `${count} known dependency vulnerability(ies) -run: osv-scanner -r .`,
765
+ severity: "high",
766
+ };
767
+ }
627
768
  /**
628
769
  * Check dependency licenses for GPL/AGPL that create legal obligations.
629
770
  */
@@ -691,16 +832,17 @@ async function checkLicenses() {
691
832
  * Run static analysis using Semgrep to catch security anti-patterns in source code.
692
833
  */
693
834
  async function checkSemgrep() {
694
- const versionCheck = await execFileNoThrow("semgrep", ["--version"], { timeout: 5_000 });
695
- if (!versionCheck.ok) {
835
+ // Resolve mise-first (see socket): a mise-installed semgrep isn't on kit's PATH.
836
+ const semgrepBin = await resolveToolBin("semgrep");
837
+ if (!semgrepBin) {
696
838
  return {
697
839
  category: "supply-chain",
698
840
  name: "semgrep SAST",
699
841
  status: "skip",
700
- detail: "semgrep not installed (brew install semgrep)",
842
+ detail: "semgrep not installed (mise use pipx:semgrep, or brew install semgrep)",
701
843
  };
702
844
  }
703
- const result = await execFileNoThrow("semgrep", ["scan", "--config", "auto", "--json", "--quiet", "--no-rewrite-rule-ids"], { timeout: 120_000 });
845
+ const result = await execFileNoThrow(semgrepBin, ["scan", "--config", "auto", "--json", "--quiet", "--no-rewrite-rule-ids"], { timeout: 120_000 });
704
846
  const raw = result.stdout || result.stderr;
705
847
  try {
706
848
  const parsed = JSON.parse(raw);
@@ -838,7 +980,7 @@ function describeFindings(findings) {
838
980
  */
839
981
  export async function checkSecurity() {
840
982
  const results = [];
841
- const [npmResult, pipResult, envResult, pinnedResult, secretsScan, socketResult, trivyResult, licenseResult, semgrepResult, bumblebeeResult, ...lockfileResults] = await Promise.all([
983
+ const [npmResult, pipResult, envResult, pinnedResult, secretsScan, socketResult, trivyResult, licenseResult, semgrepResult, bumblebeeResult, trivyConfigResult, osvResult, ...lockfileResults] = await Promise.all([
842
984
  checkNpmAudit(),
843
985
  checkPipAudit(),
844
986
  checkEnvGitignored(),
@@ -849,9 +991,11 @@ export async function checkSecurity() {
849
991
  checkLicenses(),
850
992
  checkSemgrep(),
851
993
  checkBumblebee(),
994
+ checkTrivyConfig(),
995
+ checkOsvScanner(),
852
996
  ...await checkLockfilesCommitted(),
853
997
  ]);
854
- results.push(npmResult, pipResult, envResult, pinnedResult, secretsScan, socketResult, trivyResult, licenseResult, semgrepResult, bumblebeeResult);
998
+ results.push(npmResult, pipResult, envResult, pinnedResult, secretsScan, socketResult, trivyResult, licenseResult, semgrepResult, bumblebeeResult, trivyConfigResult, osvResult);
855
999
  results.push(...lockfileResults);
856
1000
  const exposureResults = await checkServiceExposure();
857
1001
  results.push(...exposureResults);
@@ -1 +1 @@
1
- {"version":3,"file":"check-security.js","sourceRoot":"","sources":["../src/check-security.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"check-security.js","sourceRoot":"","sources":["../src/check-security.ts"],"names":[],"mappings":"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"}