@panguard-ai/panguard 1.5.5 → 1.6.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.
Files changed (35) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/dist/cli/commands/config.d.ts.map +1 -1
  3. package/dist/cli/commands/config.js +3 -1
  4. package/dist/cli/commands/config.js.map +1 -1
  5. package/dist/cli/commands/setup.d.ts.map +1 -1
  6. package/dist/cli/commands/setup.js +4 -1
  7. package/dist/cli/commands/setup.js.map +1 -1
  8. package/dist/cli/commands/trap.d.ts +6 -2
  9. package/dist/cli/commands/trap.d.ts.map +1 -1
  10. package/dist/cli/commands/trap.js +71 -46
  11. package/dist/cli/commands/trap.js.map +1 -1
  12. package/dist/cli/commands/up.d.ts.map +1 -1
  13. package/dist/cli/commands/up.js +46 -36
  14. package/dist/cli/commands/up.js.map +1 -1
  15. package/dist/cli/consent.d.ts +7 -5
  16. package/dist/cli/consent.d.ts.map +1 -1
  17. package/dist/cli/consent.js +33 -16
  18. package/dist/cli/consent.js.map +1 -1
  19. package/dist/cli/index.js +40 -6
  20. package/dist/cli/index.js.map +1 -1
  21. package/dist/cli/interactive/actions/misc.d.ts.map +1 -1
  22. package/dist/cli/interactive/actions/misc.js +25 -7
  23. package/dist/cli/interactive/actions/misc.js.map +1 -1
  24. package/dist/cli/interactive/menu-defs.d.ts.map +1 -1
  25. package/dist/cli/interactive/menu-defs.js +4 -15
  26. package/dist/cli/interactive/menu-defs.js.map +1 -1
  27. package/dist/cli/theme.d.ts +38 -0
  28. package/dist/cli/theme.d.ts.map +1 -1
  29. package/dist/cli/theme.js +74 -0
  30. package/dist/cli/theme.js.map +1 -1
  31. package/dist/init/rule-count.d.ts +23 -0
  32. package/dist/init/rule-count.d.ts.map +1 -0
  33. package/dist/init/rule-count.js +109 -0
  34. package/dist/init/rule-count.js.map +1 -0
  35. package/package.json +15 -13
package/CHANGELOG.md CHANGED
@@ -2,6 +2,36 @@
2
2
 
3
3
  All notable changes to Panguard AI will be documented in this file.
4
4
 
5
+ ## [1.6.0] - 2026-06-15
6
+
7
+ ### Security
8
+
9
+ - **Installed-footprint hardening.** Removed command-injection vectors in the
10
+ scanner and notifications (`execSync` → `execFileSync` with validated args),
11
+ hardened the Guard dashboard write surface (removed the `ai-config` POST,
12
+ added CSRF Origin checks, token-gated the WebSocket), tightened on-disk file
13
+ permissions (`0o600`/`0o700`), and constrained cloud-rule YAML parsing to a
14
+ safe schema. systemd services now run as the installing user, never root.
15
+ - **Threat Cloud contributor hashing fails closed.** `TC_HASH_SECRET` no longer
16
+ falls back to a known default; the server refuses to hash without a real
17
+ secret (documented in `.env.example`).
18
+ - **Manager API auth.** `register`/`revoke` now require a pre-shared
19
+ `MANAGER_AUTH_TOKEN`, and the server refuses to bind a non-loopback host
20
+ without one (fail closed).
21
+
22
+ ### Changed
23
+
24
+ - **ATR rules 3.2.0 → 3.4.0 (462 → 651 rules).** Every component — CLI, Guard,
25
+ scanner, and the website scanner bundle — now runs the current published ATR
26
+ ruleset instead of a four-month-old snapshot.
27
+ - **Website honesty pass.** Single-sourced the rule count, unified Garak recall
28
+ to 98%, removed NVIDIA from "adopted by" claims (its garak PR is still open),
29
+ fixed dead GitHub links, reconciled the FAQ with the Pricing page (every
30
+ product feature free; paid = optional services for regulated orgs), and made
31
+ the live rule-stats endpoint return real counts from the deployed bundle.
32
+ - **Docker/remote deploys.** `OllamaProvider` now reads `OLLAMA_ENDPOINT` /
33
+ `OLLAMA_HOST`, so a containerised Guard can reach a non-localhost Ollama.
34
+
5
35
  ## [1.4.15] - 2026-03-28
6
36
 
7
37
  ### Added
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAgB,aAAa,IAAI,OAAO,CAgMvC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAgB,aAAa,IAAI,OAAO,CAsMvC"}
@@ -76,7 +76,7 @@ export function configCommand() {
76
76
  });
77
77
  cmd
78
78
  .command('llm')
79
- .description('Configure LLM provider for AI analysis')
79
+ .description('Configure the optional advisory semantic layer (bring your own LLM, off by default)')
80
80
  .option('--provider <provider>', 'LLM provider: claude, openai, ollama')
81
81
  .option('--api-key <key>', 'API key (for claude/openai)')
82
82
  .option('--model <model>', 'Model override (e.g., claude-haiku-4-5-20251001, gpt-4o)')
@@ -85,6 +85,8 @@ export function configCommand() {
85
85
  .option('--clear', 'Remove stored LLM configuration')
86
86
  .action((options) => {
87
87
  console.log(banner(PANGUARD_VERSION));
88
+ console.log(` ${c.dim('Note: detection is deterministic by default (ATR rules + heuristics). Configuring a provider adds an OPTIONAL, advisory semantic layer — it can flag findings for review but never auto-blocks. --show / --clear manage the stored config.')}`);
89
+ console.log('');
88
90
  if (options.show) {
89
91
  const config = loadLlmConfig();
90
92
  if (!config) {
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/cli/commands/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/cli/commands/config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/setup.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2FpC,wBAAgB,YAAY,IAAI,OAAO,CA6oBtC"}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/setup.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2FpC,wBAAgB,YAAY,IAAI,OAAO,CAgpBtC"}
@@ -386,7 +386,10 @@ export function setupCommand() {
386
386
  }
387
387
  else {
388
388
  try {
389
- const guardExec = `${process.execPath} ${guardBin}`;
389
+ // Discrete argv parts, never a space-joined string — the binary
390
+ // path legitimately contains spaces (e.g. "Application Support")
391
+ // which would otherwise split into broken service arguments.
392
+ const guardExec = [process.execPath, guardBin];
390
393
  const dataDir = join(homedir(), '.panguard-guard');
391
394
  const { installService } = await import('@panguard-ai/panguard-guard');
392
395
  const servicePath = await installService(guardExec, dataDir);
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../src/cli/commands/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../src/cli/commands/setup.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAE/B,uDAAuD;AACvD,SAAS,WAAW,CAAC,GAAW;IAC9B,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC;IACtB,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;QACnB,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,aAAa,CAAC;QAC9D,MAAM,GAAG,GAAG,GAAG,UAAU,qBAAqB,CAAC;QAC/C,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACpD,CAAC;SAAM,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;QAC3B,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACpC,CAAC;SAAM,CAAC;QACN,QAAQ,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACxC,CAAC;AACH,CAAC;AAED,6DAA6D;AAC7D,SAAS,kBAAkB,CAAC,UAA6B,EAAE,MAA2B;IACpF,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,iBAAiB,CAAC,CAAC;IACpD,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,EAAE,sBAAsB,CAAC,CAAC;IAE7D,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,qCAAqC;IACrC,IAAI,QAAQ,GAUR,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IAEnC,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAoB,CAAC;QACjF,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC,IAAI,iDAAiD,CAAC,CAAC,CAAC;QAC7F,CAAC;IACH,CAAC;IAED,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;IAC/E,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAErC,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAClE,IAAI,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC;YAAE,SAAS;QAE5C,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC;YACtB,IAAI;YACJ,cAAc,EAAE,UAAU;YAC1B,MAAM;YACN,OAAO,EAAE,GAAG;YACZ,MAAM,EACJ,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,sCAAsC;SAC9F,CAAC,CAAC;QACH,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAChC,CAAC;IAED,aAAa,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAC3E,CAAC;AAED,6CAA6C;AAC7C,MAAM,sBAAsB,GAA2B;IACrD,aAAa,EAAE,gCAAgC;IAC/C,gBAAgB,EAAE,gCAAgC;IAClD,MAAM,EAAE,iDAAiD;IACzD,QAAQ,EAAE,2BAA2B;IACrC,KAAK,EAAE,+BAA+B;IACtC,SAAS,EAAE,4BAA4B;IACvC,QAAQ,EAAE,2BAA2B;IACrC,OAAO,EAAE,0BAA0B;CACpC,CAAC;AAEF,MAAM,UAAU,YAAY;IAC1B,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC;SAC7B,WAAW,CAAC,2DAA2D,CAAC;SACxE,MAAM,CACL,mBAAmB,EACnB,wGAAwG,CACzG;SACA,MAAM,CAAC,UAAU,EAAE,2CAA2C,EAAE,KAAK,CAAC;SACtE,MAAM,CAAC,QAAQ,EAAE,gBAAgB,EAAE,KAAK,CAAC;SACzC,MAAM,CAAC,OAAO,EAAE,2BAA2B,EAAE,KAAK,CAAC;SACnD,MAAM,CAAC,aAAa,EAAE,qBAAqB,EAAE,KAAK,CAAC;SACnD,MAAM,CAAC,cAAc,EAAE,yBAAyB,EAAE,KAAK,CAAC;SACxD,MAAM,CAAC,eAAe,EAAE,mDAAmD,CAAC;SAC5E,MAAM,CACL,KAAK,EAAE,OAQN,EAAE,EAAE;QACH,kEAAkE;QAClE,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QACnF,MAAM,eAAe,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC9E,MAAM,YAAY,GAChB,OAAO,CAAC,IAAI,KAAK,IAAI;YACnB,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO;gBACxB,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,eAAe;oBACf,CAAC,CAAC,OAAO;oBACT,CAAC,CAAC,IAAI,CAAC;QACf,MAAM,CAAC,GAAG,YAAY,CAAC;QAEvB,MAAM,SAAS,GAAG,MAAO,MAAM,CAAC,kCAA4C,CAgBzE,CAAC;QACJ,MAAM,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,GAAG,SAAS,CAAC;QAExE,oEAAoE;QACpE,mEAAmE;QACnE,kEAAkE;QAClE,6DAA6D;QAC7D,gEAAgE;QAChE,+BAA+B;QAC/B,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;QAC1D,WAAW,CAAC,QAAQ,CAAC,CAAC;QAEtB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAClB,MAAM,CAAC,gBAAgB,CAAC,CAAC;YACzB,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC;QAED,sBAAsB;QACtB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC,CAAC;YAC3D,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,eAAe,EAAE,CAAC;QAE7C,yCAAyC;QACzC,MAAM,QAAQ,GAAG;YACf,aAAa;YACb,gBAAgB;YAChB,QAAQ;YACR,UAAU;YACV,OAAO;YACP,WAAW;YACX,UAAU;YACV,SAAS;SACV,CAAC;QACF,IAAI,OAAO,GAAG,YAAY,CAAC;QAC3B,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACzC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,uBAAuB,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;gBAChE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,sBAAsB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;gBAClE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACrB,OAAO;YACT,CAAC;YACD,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;QAClE,CAAC;QAED,4BAA4B;QAC5B,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC;YAC7C,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;gBAC7B,MAAM,MAAM,GAAG,CAAC,CAAC,QAAQ;oBACvB,CAAC,CAAC,CAAC,CAAC,iBAAiB;wBACnB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,IAAI,aAAa,CAAC;wBACvC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,iBAAiB,CAAC;oBAC9C,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,YAAY,CAAC,CAAC;gBACtC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC;YAC/E,CAAC;YACD,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,EAAE,CAAC;YACV,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC;QAED,sCAAsC;QACtC,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM;YAC/B,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC;YAC5C,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;QAE9D,sEAAsE;QACtE,MAAM,UAAU,GAA4B;YAC1C,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO;YAC3C,OAAO,EAAE,gBAAgB;YACzB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,SAAS,EAAE,EAAE;SACd,CAAC;QAEF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBAClB,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM;oBACxB,CAAC,CAAC,wCAAwC;oBAC1C,CAAC,CAAC,uEAAuE,CAAC;gBAC5E,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,OAAO,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC;gBACjD,OAAO,CAAC,GAAG,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC,CAAC;YACpF,CAAC;YAED,sDAAsD;YACtD,UAAU,CAAC,WAAW,CAAC,GAAG,YAAY;iBACnC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;iBACzB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACX,QAAQ,EAAE,CAAC,CAAC,EAAE;gBACd,OAAO,EAAE,IAAI;gBACb,kBAAkB,EAAE,CAAC,CAAC,iBAAiB;aACxC,CAAC,CAAC,CAAC;YAEN,8EAA8E;QAChF,CAAC;QAED,kCAAkC;QAClC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAClB,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,aAAa,CAAC;YAChE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,MAAM,IAAI,UAAU,CAAC,MAAM,eAAe,CAAC,CAAC,CAAC;YACrE,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC;QAED,MAAM,OAAO,GAKR,EAAE,CAAC;QACR,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC9E,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAErB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBAClB,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC1E,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBACrC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;gBACnD,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBACrD,CAAC;YACH,CAAC;QACH,CAAC;QAED,2FAA2F;QAC3F,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,UAAU,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC5C,QAAQ,EAAE,CAAC,CAAC,UAAU;gBACtB,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,UAAU,EAAE,CAAC,CAAC,UAAU;gBACxB,KAAK,EAAE,CAAC,CAAC,KAAK;aACf,CAAC,CAAC,CAAC;QACN,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnC,UAAU,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACjD,OAAO;QACT,CAAC;QAED,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,EAAE,CAAC;QACV,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;QAC1D,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;QAExD,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAClB,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CACT,CAAC,CAAC,KAAK,CAAC,KAAK,OAAO,CAAC,IAAI,QAAQ,SAAS,uCAAuC,CAAC,CACnF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,SAAS,eAAe,MAAM,UAAU,CAAC,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;QAED,iEAAiE;QACjE,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YACzC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBAClB,OAAO,CAAC,GAAG,EAAE,CAAC;gBACd,OAAO,CAAC,qBAAqB,CAAC,CAAC;gBAC/B,OAAO,CAAC,GAAG,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC,CAAC;gBAC9E,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAO,MAAM,CACzC,kCAA4C,CAG3C,CAAC;gBACJ,MAAM,MAAM,GAAG,MAAM,iBAAiB,EAAE,CAAC;gBAEzC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACtB,MAAM,WAAW,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE;wBACpD,MAAM,EAAE,OAAO,CAAC,IAAI;qBACrB,CAAC,CAAC;oBACH,IAAI,CAAC,OAAO,CAAC,IAAI;wBAAE,sBAAsB,CAAC,WAAW,CAAC,CAAC;oBAEvD,0CAA0C;oBAC1C,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;oBAC5D,MAAM,cAAc,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;oBACzE,MAAM,cAAc,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;oBACzE,UAAU,CAAC,YAAY,CAAC,GAAG;wBACzB,KAAK,EAAE,WAAW,CAAC,MAAM;wBACzB,IAAI,EAAE,IAAI,CAAC,MAAM;wBACjB,OAAO,EAAE,cAAc,CAAC,MAAM;wBAC9B,OAAO,EAAE,cAAc,CAAC,MAAM;wBAC9B,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;4BAC9B,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI;4BAClB,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU;4BAC5B,MAAM,EAAE,CAAC,CAAC,MAAM;4BAChB,UAAU,EAAE,CAAC,CAAC,KAAK,EAAE,SAAS,IAAI,IAAI;4BACtC,UAAU,EAAE,CAAC,CAAC,KAAK,EAAE,SAAS,IAAI,IAAI;yBACvC,CAAC,CAAC;qBACJ,CAAC;oBAEF,wEAAwE;oBACxE,MAAM,QAAQ,GAAG,WAAW;yBACzB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC;yBAClC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC5B,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACxB,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;wBACvC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;4BAClB,OAAO,CAAC,GAAG,EAAE,CAAC;4BACd,OAAO,CAAC,GAAG,CACT,CAAC,CAAC,KAAK,CAAC,KAAK,OAAO,CAAC,IAAI,IAAI,QAAQ,CAAC,MAAM,kCAAkC,CAAC,CAChF,CAAC;4BACF,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC,CAAC;wBAC5E,CAAC;oBACH,CAAC;oBAED,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;oBAClE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;wBACxC,OAAO,CAAC,GAAG,CACT,CAAC,CAAC,MAAM,CACN,KAAK,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM,2DAA2D,CAC/F,CACF,CAAC;oBACJ,CAAC;oBAED,gEAAgE;oBAChE,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;oBAClE,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,SAAS,KAAK,UAAU,CAAC,CAAC;oBAC1E,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,SAAS,KAAK,MAAM,CAAC,CAAC;oBAElE,uDAAuD;oBACvD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACxB,MAAM,EAAE,YAAY,EAAE,GAAG,MAAO,MAAM,CACpC,kCAA4C,CAG3C,CAAC;wBAEJ,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;4BAC9B,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;4BACzE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gCAClB,IAAI,OAAO,EAAE,CAAC;oCACZ,OAAO,CAAC,GAAG,CACT,CAAC,CAAC,GAAG,CACH,KAAK,OAAO,CAAC,IAAI,aAAa,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,iDAAiD,CACzG,CACF,CAAC;oCACF,OAAO,CAAC,GAAG,CACT,CAAC,CAAC,GAAG,CACH,mBAAmB,MAAM,CAAC,KAAK,EAAE,SAAS,IAAI,CAAC,oBAAoB,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,CAC7F,CACF,CAAC;gCACJ,CAAC;qCAAM,CAAC;oCACN,OAAO,CAAC,GAAG,CACT,CAAC,CAAC,GAAG,CACH,KAAK,OAAO,CAAC,IAAI,cAAc,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,yDAAyD,CAClH,CACF,CAAC;gCACJ,CAAC;4BACH,CAAC;wBACH,CAAC;oBACH,CAAC;oBAED,kDAAkD;oBAClD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;wBACrD,MAAM,eAAe,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,CAAC;wBACxD,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BAC/B,kBAAkB,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;wBAChD,CAAC;oBACH,CAAC;yBAAM,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;wBAC5C,OAAO,CAAC,GAAG,CACT,CAAC,CAAC,MAAM,CACN,KAAK,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,2DAA2D,CAC5F,CACF,CAAC;oBACJ,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,UAAU,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;oBACrF,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;wBAClB,OAAO,CAAC,GAAG,CACT,CAAC,CAAC,GAAG,CACH,KAAK,OAAO,CAAC,IAAI,mEAAmE,CACrF,CACF,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;oBAClB,OAAO,CAAC,GAAG,CACT,CAAC,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,IAAI,kDAAkD,CAAC,CAC3E,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBAClB,OAAO,CAAC,GAAG,EAAE,CAAC;gBACd,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC;QAED,iEAAiE;QACjE,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YAC1C,IAAI,CAAC,OAAO,CAAC,IAAI;gBAAE,OAAO,CAAC,GAAG,EAAE,CAAC;YACjC,MAAM,YAAY,GAChB,OAAO,CAAC,GAAG;gBACX,OAAO,CAAC,IAAI;gBACZ,CAAC,MAAM,aAAa,CAAC;oBACnB,OAAO,EAAE;wBACP,EAAE,EAAE,6EAA6E;wBACjF,OAAO,EAAE,uCAAuC;qBACjD;oBACD,YAAY,EAAE,IAAI;oBAClB,IAAI,EAAE,CAAC;iBACR,CAAC,CAAC,CAAC;YAEN,IAAI,YAAY,EAAE,CAAC;gBACjB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;oBAClB,OAAO,CAAC,GAAG,EAAE,CAAC;oBACd,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC,CAAC;gBACzE,CAAC;gBAED,oCAAoC;gBACpC,IAAI,QAA4B,CAAC;gBACjC,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC/C,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,+CAA+C,CAAC,CAAC;gBAC9E,CAAC;gBAAC,MAAM,CAAC;oBACP,wDAAwD;oBACxD,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;oBACnD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;oBAClD,MAAM,UAAU,GAAG;wBACjB,KAAK,CACH,OAAO,EAAE,EACT,WAAW,EACX,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,MAAM,EACN,KAAK,EACL,UAAU,CACX;wBACD,KAAK,CACH,OAAO,CAAC,QAAQ,EAChB,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,cAAc,EACd,cAAc,EACd,UAAU,EACV,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,MAAM,EACN,KAAK,EACL,UAAU,CACX;wBACD,KAAK,CACH,OAAO,CAAC,QAAQ,EAChB,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,MAAM,EACN,KAAK,EACL,UAAU,CACX;qBACF,CAAC;oBACF,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;wBAC3B,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;4BACV,QAAQ,GAAG,CAAC,CAAC;4BACb,MAAM;wBACR,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,MAAM,OAAO,GAAG,uBAAuB,CAAC;gBAExC,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;wBAClB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC,IAAI,0CAA0C,CAAC,CAAC,CAAC;wBACnF,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC,CAAC;oBAC5D,CAAC;oBACD,UAAU,CAAC,OAAO,CAAC,GAAG;wBACpB,SAAS,EAAE,KAAK;wBAChB,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,wBAAwB;qBAChC,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC;wBACH,gEAAgE;wBAChE,iEAAiE;wBACjE,6DAA6D;wBAC7D,MAAM,SAAS,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;wBAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,iBAAiB,CAAC,CAAC;wBAEnD,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;wBACvE,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;wBAE7D,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC;wBACpC,MAAM,WAAW,GACf,UAAU,KAAK,QAAQ;4BACrB,CAAC,CAAC,SAAS;4BACX,CAAC,CAAC,UAAU,KAAK,OAAO;gCACtB,CAAC,CAAC,SAAS;gCACX,CAAC,CAAC,UAAU,KAAK,OAAO;oCACtB,CAAC,CAAC,iBAAiB;oCACnB,CAAC,CAAC,gBAAgB,CAAC;wBAE3B,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;4BAClB,OAAO,CAAC,GAAG,CACT,CAAC,CAAC,KAAK,CAAC,KAAK,OAAO,CAAC,IAAI,uBAAuB,WAAW,WAAW,CAAC,CACxE,CAAC;4BACF,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,WAAW,EAAE,CAAC,CAAC,CAAC;4BACzC,OAAO,CAAC,GAAG,CACT,CAAC,CAAC,KAAK,CAAC,KAAK,OAAO,CAAC,IAAI,sDAAsD,CAAC,CACjF,CAAC;4BACF,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC,CAAC;4BAC3D,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC,CAAC;wBACjE,CAAC;wBAED,UAAU,CAAC,OAAO,CAAC,GAAG;4BACpB,SAAS,EAAE,IAAI;4BACf,OAAO,EAAE,IAAI;4BACb,YAAY,EAAE,WAAW;4BACzB,YAAY,EAAE,WAAW;4BACzB,aAAa,EAAE,OAAO;yBACvB,CAAC;wBAEF,yEAAyE;wBACzE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;4BAClB,OAAO,CAAC,GAAG,EAAE,CAAC;4BACd,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,OAAO,CAAC,IAAI,6BAA6B,CAAC,CAAC,CAAC;4BACrE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,OAAO,EAAE,CAAC,CAAC,CAAC;4BACrC,WAAW,CAAC,OAAO,CAAC,CAAC;wBACvB,CAAC;oBACH,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;wBAC7D,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;4BAClB,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;gCACzD,OAAO,CAAC,GAAG,CACT,CAAC,CAAC,MAAM,CACN,KAAK,OAAO,CAAC,IAAI,uDAAuD,CACzE,CACF,CAAC;gCACF,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC,CAAC;4BACxD,CAAC;iCAAM,CAAC;gCACN,OAAO,CAAC,GAAG,CACT,CAAC,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC,IAAI,yCAAyC,GAAG,EAAE,CAAC,CAC1E,CAAC;gCACF,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC,CAAC;4BAC5D,CAAC;4BACD,8CAA8C;4BAC9C,OAAO,CAAC,GAAG,EAAE,CAAC;4BACd,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC,CAAC;wBACrE,CAAC;wBACD,IAAI,CAAC;4BACH,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE;gCACxE,QAAQ,EAAE,IAAI;gCACd,KAAK,EAAE,QAAQ;6BAChB,CAAC,CAAC;4BACH,KAAK,CAAC,KAAK,EAAE,CAAC;4BAEd,UAAU,CAAC,OAAO,CAAC,GAAG;gCACpB,SAAS,EAAE,KAAK;gCAChB,OAAO,EAAE,IAAI;gCACb,GAAG,EAAE,KAAK,CAAC,GAAG;gCACd,aAAa,EAAE,OAAO;gCACtB,KAAK,EAAE,2BAA2B,GAAG,EAAE;6BACxC,CAAC;4BAEF,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gCAClB,OAAO,CAAC,GAAG,CACT,CAAC,CAAC,KAAK,CACL,KAAK,OAAO,CAAC,IAAI,wBAAwB,KAAK,CAAC,GAAG,oCAAoC,CACvF,CACF,CAAC;gCACF,OAAO,CAAC,GAAG,EAAE,CAAC;gCACd,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,OAAO,CAAC,IAAI,6BAA6B,CAAC,CAAC,CAAC;gCACrE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,OAAO,EAAE,CAAC,CAAC,CAAC;gCACrC,WAAW,CAAC,OAAO,CAAC,CAAC;4BACvB,CAAC;wBACH,CAAC;wBAAC,MAAM,CAAC;4BACP,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;4BACvE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gCAClB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC,CAAC;4BACtE,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,2EAA2E;QAC3E,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,iBAAiB,CAAC,CAAC;YACnD,MAAM,QAAQ,GACZ,OAAO,CAAC,GAAG;gBACX,OAAO,CAAC,IAAI;gBACZ,CAAC,MAAM,aAAa,CAAC;oBACnB,OAAO,EAAE;wBACP,EAAE,EAAE,yCAAyC;wBAC7C,OAAO,EAAE,uBAAuB;qBACjC;oBACD,YAAY,EAAE,IAAI;oBAClB,IAAI,EAAE,CAAC;iBACR,CAAC,CAAC,CAAC;YAEN,IAAI,CAAC;gBACH,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;gBAClD,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;gBAC/E,MAAM,WAAW,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;gBAC7C,MAAM,aAAa,GAAG;oBACpB,GAAG,WAAW;oBACd,wBAAwB,EAAE,QAAQ;oBAClC,mBAAmB,EAAE,QAAQ;wBAC3B,CAAC,CAAC,CAAC,WAAW,CAAC,mBAAmB,IAAI,4BAA4B,CAAC;wBACnE,CAAC,CAAC,WAAW,CAAC,mBAAmB;iBACpC,CAAC;gBACF,UAAU,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;gBAExC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;oBAClB,IAAI,QAAQ,EAAE,CAAC;wBACb,OAAO,CAAC,GAAG,CACT,CAAC,CAAC,KAAK,CACL,KAAK,OAAO,CAAC,IAAI,0BAA0B,aAAa,CAAC,mBAAmB,IAAI,4BAA4B,EAAE,CAC/G,CACF,CAAC;wBACF,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC,CAAC;oBACnF,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,GAAG,CACT,CAAC,CAAC,GAAG,CACH,KAAK,OAAO,CAAC,IAAI,4FAA4F,CAC9G,CACF,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,qCAAqC;gBACrC,IAAI,UAAU,CAAC,OAAO,CAAC,IAAI,OAAO,UAAU,CAAC,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;oBAClE,UAAU,CAAC,OAAO,CAA6B,CAAC,cAAc,CAAC,GAAG,QAAQ,CAAC;gBAC9E,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,iCAAiC;YACnC,CAAC;QACH,CAAC;QAED,+DAA+D;QAC/D,KAAK,KAAK,CAAC,kCAAkC,EAAE;YAC7C,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,UAAU,EAAE,WAAW;gBACvB,MAAM,EAAE,UAAU;gBAClB,QAAQ,EAAE;oBACR,OAAO,EAAE,gBAAgB;oBACzB,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;oBACpE,aAAa,EACV,UAAU,CAAC,YAAY,CAAoC,EAAE,KAAK,IAAI,CAAC;iBAC3E;aACF,CAAC;YACF,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;SAClC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAEnB,gEAAgE;QAChE,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,UAAU,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACjD,OAAO;QACT,CAAC;QAED,8DAA8D;QAC9D,MAAM,EAAE,sBAAsB,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;QACjE,MAAM,sBAAsB,EAAE,CAAC;QAE/B,gEAAgE;QAChE,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC,CAAC,CAAC;QAC/E,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACvE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,yCAAyC,CAAC,CAAC;QAC9E,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,gCAAgC,CAAC,CAAC;QACzE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,oCAAoC,CAAC,CAAC;QAC3E,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,mCAAmC,CAAC,CAAC;QACjF,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAC,CAAC;QACrF,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC,CAAC;QACpE,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,MAAM,mBAAmB,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAC7E,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC,CAAC;YAC/D,KAAK,MAAM,CAAC,IAAI,mBAAmB,EAAE,CAAC;gBACpC,MAAM,WAAW,GAAG,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,yBAAyB,CAAC;gBAC9E,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC,CAAC,CAAC;YACtD,CAAC;YACD,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC;IACH,CAAC,CACF,CAAC;IAEJ,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -1,6 +1,10 @@
1
1
  /**
2
- * panguard trap - Honeypot system (Coming Soon)
3
- * panguard trap - 蜜罐系統(即將推出)
2
+ * panguard trap honeypot system
3
+ * Delegates to @panguard-ai/panguard-trap/cli executeCli().
4
+ *
5
+ * The trap engine (TCP listeners for ssh/http/ftp/redis/etc + attacker
6
+ * profiler + intel reporter) lives in packages/panguard-trap. This file
7
+ * just exposes its existing CLI surface as subcommands of `pga trap`.
4
8
  */
5
9
  import { Command } from 'commander';
6
10
  export declare function trapCommand(): Command;
@@ -1 +1 @@
1
- {"version":3,"file":"trap.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/trap.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkBpC,wBAAgB,WAAW,IAAI,OAAO,CAoDrC"}
1
+ {"version":3,"file":"trap.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/trap.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA6CpC,wBAAgB,WAAW,IAAI,OAAO,CAoDrC"}
@@ -1,65 +1,90 @@
1
1
  /**
2
- * panguard trap - Honeypot system (Coming Soon)
3
- * panguard trap - 蜜罐系統(即將推出)
2
+ * panguard trap honeypot system
3
+ * Delegates to @panguard-ai/panguard-trap/cli executeCli().
4
+ *
5
+ * The trap engine (TCP listeners for ssh/http/ftp/redis/etc + attacker
6
+ * profiler + intel reporter) lives in packages/panguard-trap. This file
7
+ * just exposes its existing CLI surface as subcommands of `pga trap`.
4
8
  */
5
9
  import { Command } from 'commander';
6
- const COMING_SOON_MSG = `
7
- Honeypot System Coming Soon
8
-
9
- Decoy services (SSH, HTTP, FTP) to detect and profile
10
- attackers are under active development.
11
-
12
- Follow progress: https://github.com/panguard-ai/panguard-ai
13
-
14
- ---
15
- 蜜罐系統 即將推出
16
-
17
- 誘餌服務(SSH、HTTP、FTP)偵測與分析攻擊者功能開發中。
18
-
19
- 追蹤進度: https://github.com/panguard-ai/panguard-ai
20
- `;
10
+ async function loadTrapCli() {
11
+ // Use a string variable so tsc's project-reference checker doesn't try
12
+ // to resolve the workspace target at typecheck time. The subpath
13
+ // ./cli is declared in @panguard-ai/panguard-trap/package.json.
14
+ const pkg = '@panguard-ai/panguard-trap/cli';
15
+ const mod = (await import(pkg));
16
+ return mod.executeCli;
17
+ }
18
+ function delegate(subcommand) {
19
+ return async (rawOpts) => {
20
+ try {
21
+ const executeCli = await loadTrapCli();
22
+ const args = [subcommand];
23
+ // Pass through known flags so the trap CLI argument parser handles them.
24
+ if (typeof rawOpts['services'] === 'string') {
25
+ args.push('--services', rawOpts['services']);
26
+ }
27
+ if (typeof rawOpts['port'] === 'string' || typeof rawOpts['port'] === 'number') {
28
+ args.push('--port', String(rawOpts['port']));
29
+ }
30
+ if (typeof rawOpts['dataDir'] === 'string') {
31
+ args.push('--data-dir', rawOpts['dataDir']);
32
+ }
33
+ // commander stores --no-cloud as cloud=false. The underlying CLI expects
34
+ // the explicit --no-cloud flag.
35
+ if (rawOpts['cloud'] === false) {
36
+ args.push('--no-cloud');
37
+ }
38
+ if (rawOpts['verbose'] === true) {
39
+ args.push('--verbose');
40
+ }
41
+ await executeCli(args);
42
+ }
43
+ catch (err) {
44
+ const msg = err instanceof Error ? err.message : String(err);
45
+ console.error(` pga trap ${subcommand}: ${msg}`);
46
+ process.exitCode = 1;
47
+ }
48
+ };
49
+ }
21
50
  export function trapCommand() {
22
- const cmd = new Command('trap').description('[Coming Soon] Honeypot system / [即將推出] 蜜罐系統');
51
+ const cmd = new Command('trap').description('Honeypot system — SSH/HTTP/FTP/Redis/Telnet decoy services for attacker profiling');
23
52
  cmd
24
53
  .command('start')
25
- .description('Start honeypot services')
26
- .option('--services <types>', 'Comma-separated service types (ssh,http,ftp,...)')
27
- .option('--data-dir <path>', 'Data directory')
54
+ .description('Start honeypot services (foreground; Ctrl+C to stop)')
55
+ .option('--services <types>', 'Comma-separated service types (ssh,http,ftp,telnet,mysql,redis,smb,rdp)')
56
+ .option('--port <number>', 'Override port for single service')
57
+ .option('--data-dir <path>', 'Data directory for logs and PID file')
28
58
  .option('--no-cloud', 'Disable Threat Cloud upload')
29
- .action(async () => {
30
- console.log(COMING_SOON_MSG);
31
- });
32
- cmd
33
- .command('stop')
34
- .description('Stop honeypot services')
35
- .action(async () => {
36
- console.log(COMING_SOON_MSG);
37
- });
59
+ .option('--verbose', 'Verbose output')
60
+ .action(delegate('start'));
61
+ cmd.command('stop').description('Stop honeypot services').action(delegate('stop'));
38
62
  cmd
39
63
  .command('status')
40
- .description('Show current status')
41
- .action(async () => {
42
- console.log(COMING_SOON_MSG);
43
- });
64
+ .description('Show current status and statistics')
65
+ .option('--data-dir <path>', 'Data directory')
66
+ .action(delegate('status'));
44
67
  cmd
45
68
  .command('config')
46
- .description('Show configuration')
69
+ .description('Show current configuration')
47
70
  .option('--services <types>', 'Comma-separated service types')
48
- .action(async () => {
49
- console.log(COMING_SOON_MSG);
50
- });
71
+ .option('--data-dir <path>', 'Data directory')
72
+ .option('--no-cloud', 'Disable Threat Cloud upload')
73
+ .action(delegate('config'));
74
+ cmd
75
+ .command('deploy')
76
+ .description('Deploy specific trap services (smoke test, starts then stops)')
77
+ .option('--services <types>', 'Comma-separated service types')
78
+ .option('--data-dir <path>', 'Data directory')
79
+ .action(delegate('deploy'));
51
80
  cmd
52
81
  .command('profiles')
53
- .description('Show attacker profiles')
54
- .action(async () => {
55
- console.log(COMING_SOON_MSG);
56
- });
82
+ .description('Show captured attacker profiles (requires running trap)')
83
+ .action(delegate('profiles'));
57
84
  cmd
58
85
  .command('intel')
59
- .description('Show threat intelligence')
60
- .action(async () => {
61
- console.log(COMING_SOON_MSG);
62
- });
86
+ .description('Show threat intelligence summary (requires running trap)')
87
+ .action(delegate('intel'));
63
88
  return cmd;
64
89
  }
65
90
  //# sourceMappingURL=trap.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"trap.js","sourceRoot":"","sources":["../../../src/cli/commands/trap.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,eAAe,GAAG;;;;;;;;;;;;;;CAcvB,CAAC;AAEF,MAAM,UAAU,WAAW;IACzB,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CACzC,6CAA6C,CAC9C,CAAC;IAEF,GAAG;SACA,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,yBAAyB,CAAC;SACtC,MAAM,CAAC,oBAAoB,EAAE,kDAAkD,CAAC;SAChF,MAAM,CAAC,mBAAmB,EAAE,gBAAgB,CAAC;SAC7C,MAAM,CAAC,YAAY,EAAE,6BAA6B,CAAC;SACnD,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEL,GAAG;SACA,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,wBAAwB,CAAC;SACrC,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEL,GAAG;SACA,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,qBAAqB,CAAC;SAClC,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEL,GAAG;SACA,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,oBAAoB,CAAC;SACjC,MAAM,CAAC,oBAAoB,EAAE,+BAA+B,CAAC;SAC7D,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEL,GAAG;SACA,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CAAC,wBAAwB,CAAC;SACrC,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEL,GAAG;SACA,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,0BAA0B,CAAC;SACvC,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEL,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"trap.js","sourceRoot":"","sources":["../../../src/cli/commands/trap.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"up.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/up.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA+EpC,wBAAgB,SAAS,IAAI,OAAO,CA8enC"}
1
+ {"version":3,"file":"up.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/up.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgFpC,wBAAgB,SAAS,IAAI,OAAO,CAifnC"}
@@ -9,7 +9,8 @@ import { homedir, platform } from 'node:os';
9
9
  import { execFile } from 'node:child_process';
10
10
  import { Command } from 'commander';
11
11
  import { runCLI } from '@panguard-ai/panguard-guard';
12
- import { c, symbols, setLogLevel } from '@panguard-ai/core';
12
+ import { c, setLogLevel } from '@panguard-ai/core';
13
+ import { ok, warn, arrow, shield, brandTagline } from '../theme.js';
13
14
  import { detectLang } from '../interactive/lang.js';
14
15
  /** Minimal i18n for key user-facing strings */
15
16
  const t = (lang, en, zh) => (lang === 'zh-TW' ? zh : en);
@@ -84,6 +85,7 @@ export function upCommand() {
84
85
  return new Command('up')
85
86
  .description('Scan skills → start protection → open dashboard')
86
87
  .option('--no-dashboard', 'Skip opening dashboard in browser')
88
+ .option('--no-proxy', 'Scan only — do not inject runtime protection into agent configs')
87
89
  .option('--verbose', 'Verbose output', false)
88
90
  .option('--skip-scan', 'Skip initial skill scan', false)
89
91
  .option('-y, --yes', 'Skip confirmation prompts', false)
@@ -96,7 +98,8 @@ export function upCommand() {
96
98
  }
97
99
  const startTime = Date.now();
98
100
  const lang = detectLang();
99
- console.log(`\n ${c.sage(c.bold('PANGUARD AI'))} ${c.dim(t(lang, ' AI Agent Security Guard', ' AI 代理安全防護'))}\n`);
101
+ console.log(`\n ${c.sage(c.bold('PanGuard'))} ${c.dim(t(lang, 'Your AI Security Guard', '你的 AI 安全防護'))}`);
102
+ console.log(` ${c.dim(brandTagline(lang))}\n`);
100
103
  console.log(` ${c.dim('─'.repeat(50))}\n`);
101
104
  const activatedMarker = join(homedir(), '.panguard', 'activated');
102
105
  const isFirstRun = !existsSync(activatedMarker);
@@ -105,8 +108,8 @@ export function upCommand() {
105
108
  console.log(` ${c.sage(c.bold(t(lang, 'Welcome to PanGuard AI!', '歡迎使用 PanGuard AI!')))}`);
106
109
  console.log('');
107
110
  console.log(` ${t(lang, 'PanGuard protects your AI agents in 3 steps:', 'PanGuard 三步驟保護你的 AI 代理:')}`);
108
- console.log(` ${c.dim('1.')} ${t(lang, 'Scan — detect threats in installed skills', '掃描 — 偵測已安裝技能中的威脅')}`);
109
- console.log(` ${c.dim('2.')} ${t(lang, 'Protectinject MCP proxy for runtime guard', '防護注入 MCP 代理進行即時守護')}`);
111
+ console.log(` ${c.dim('1.')} ${t(lang, 'Scan — check installed skills against threat rules', '掃描 — 用威脅規則檢查已安裝技能')}`);
112
+ console.log(` ${c.dim('2.')} ${t(lang, 'Watchguard your agents as they run', '守護 agent 執行時即時守護')}`);
110
113
  console.log(` ${c.dim('3.')} ${t(lang, 'Monitor — Guard engine watches for attacks', '監控 — Guard 引擎持續監控攻擊')}`);
111
114
  console.log('');
112
115
  console.log(` ${c.dim(t(lang, 'Running initial setup...', '正在執行初始設定...'))}`);
@@ -143,39 +146,37 @@ export function upCommand() {
143
146
  detectPlatforms = mcp.detectPlatforms;
144
147
  injectProxyFn = mcp.injectProxy;
145
148
  }
146
- console.log(` ${symbols.scan} ${c.bold(t(lang, 'Detecting AI platforms...', '偵測 AI 平台...'))}\n`);
149
+ console.log(` ${shield()} ${c.bold(t(lang, 'Looking at your setup...', '看看你的環境...'))}\n`);
147
150
  const platforms = await detectPlatforms();
148
151
  const detected = platforms.filter((p) => p.detected);
149
152
  for (const p of detected) {
150
- console.log(` ${c.safe(p.name)} ${c.dim('detected')}`);
153
+ console.log(` ${ok()} ${c.safe(p.name)} ${c.dim(t(lang, 'found', '已找到'))}`);
151
154
  }
152
155
  if (detected.length === 0) {
153
- console.log(` ${c.dim('No AI platforms found.')}`);
156
+ console.log(` ${c.dim(t(lang, 'No AI tools found yet.', '尚未找到 AI 工具。'))}`);
154
157
  }
155
- // Inject proxy on all detected platforms (with consent)
158
+ // Build runtime protection by DEFAULT. `pga up` should stand up
159
+ // protection out of the box; --no-proxy opts out (scan only). In an
160
+ // interactive TTY we still confirm, but the prompt defaults to YES so
161
+ // the common path (just run `pga up`) actually protects. Non-TTY
162
+ // (CI / unattended) injects by default too — configs are backed up.
156
163
  if (detected.length > 0) {
157
- let shouldInject = opts.yes;
158
- if (!shouldInject) {
159
- if (!process.stdin.isTTY) {
160
- // Non-interactive (CI, piped): skip injection by default
161
- shouldInject = false;
162
- }
163
- else {
164
- const { createInterface } = await import('node:readline');
165
- const rl = createInterface({ input: process.stdin, output: process.stdout });
166
- const answer = await new Promise((resolve) => {
167
- rl.question(`\n Inject MCP proxy into ${detected.length} platform(s)? ` +
168
- `${c.dim('(configs backed up to *.bak)')} [y/N] `, resolve);
169
- });
170
- rl.close();
171
- shouldInject = answer.trim().toLowerCase() === 'y';
172
- }
164
+ let shouldInject = opts.proxy !== false;
165
+ if (shouldInject && !opts.yes && process.stdin.isTTY) {
166
+ const { createInterface } = await import('node:readline');
167
+ const rl = createInterface({ input: process.stdin, output: process.stdout });
168
+ const answer = await new Promise((resolve) => {
169
+ rl.question(`\n Inject runtime protection into ${detected.length} platform(s)? ` +
170
+ `${c.dim('(configs backed up to *.bak)')} [Y/n] `, resolve);
171
+ });
172
+ rl.close();
173
+ shouldInject = answer.trim().toLowerCase() !== 'n';
173
174
  }
174
175
  if (!shouldInject) {
175
- console.log(`\n ${c.dim('Proxy injection skipped. Run "pga up -y" to inject.')}`);
176
+ console.log(`\n ${c.dim('Scan only runtime protection not injected (--no-proxy).')}`);
176
177
  }
177
178
  else {
178
- console.log(`\n ${symbols.shield} ${c.bold('Injecting runtime protection...')}\n`);
179
+ console.log(`\n ${shield()} ${c.bold('Watching your agents...')}\n`);
179
180
  const proxySummary = injectProxyFn(detected.map((p) => p.id));
180
181
  platformCount = proxySummary.totalPlatforms;
181
182
  serverCount = proxySummary.totalServersProxied;
@@ -184,7 +185,7 @@ export function upCommand() {
184
185
  console.log(` ${c.dim('Config backed up to *.bak files')}`);
185
186
  }
186
187
  else {
187
- console.log(` ${c.dim('No new servers to proxy (all already protected or none found).')}`);
188
+ console.log(` ${c.dim('All detected tools are already protected.')}`);
188
189
  }
189
190
  // Show errors if any
190
191
  for (const r of proxySummary.results) {
@@ -206,7 +207,7 @@ export function upCommand() {
206
207
  }
207
208
  // ── Step 3: Scan installed skills ────────────────────────
208
209
  if (!opts.skipScan) {
209
- console.log(`\n ${symbols.scan} ${c.bold(t(lang, 'Scanning installed skills...', '掃描已安裝技能...'))}\n`);
210
+ console.log(`\n ${arrow()} ${c.bold(t(lang, 'Scanning installed skills...', '掃描已安裝技能...'))}\n`);
210
211
  try {
211
212
  let skills = [];
212
213
  try {
@@ -246,7 +247,7 @@ export function upCommand() {
246
247
  console.log(` ${c.safe(String(safe.length))} safe ${c.dim('|')} ${unknown.length > 0 ? c.caution(String(unknown.length)) : c.dim('0')} unscanned`);
247
248
  // If there are unscanned skills, run audit on them
248
249
  if (unknown.length > 0) {
249
- console.log(`\n ${symbols.warn} ${c.bold(`${unknown.length} unscanned skill(s) found. Auditing...`)}\n`);
250
+ console.log(`\n ${warn()} ${c.bold(`${unknown.length} unscanned skill(s) found. Auditing...`)}\n`);
250
251
  const threats = [];
251
252
  try {
252
253
  const { auditSkill } = await import('@panguard-ai/panguard-skill-auditor');
@@ -322,11 +323,11 @@ export function upCommand() {
322
323
  console.log('');
323
324
  }
324
325
  else {
325
- console.log(` ${c.safe(`${symbols.pass} No threats found in unscanned skills.`)}\n`);
326
+ console.log(` ${c.safe(`${ok()} No threats found in unscanned skills.`)}\n`);
326
327
  }
327
328
  }
328
329
  else {
329
- console.log(` ${c.safe(`${symbols.pass} All ${skills.length} skills verified safe.`)}\n`);
330
+ console.log(` ${c.safe(`${ok()} All ${skills.length} skills verified safe.`)}\n`);
330
331
  }
331
332
  }
332
333
  }
@@ -417,7 +418,7 @@ export function upCommand() {
417
418
  console.log('');
418
419
  // ── Sensor confirmation: user knows they are now part of the defense network
419
420
  if (tcStatus === 'connected' && !telemetryDisabled && sensorShortId) {
420
- console.log(` ${c.safe(symbols.pass)} ${c.bold(t(lang, 'You are now a Threat Cloud sensor.', '你已成為威脅雲感測器。'))}`);
421
+ console.log(` ${c.safe(ok())} ${c.bold(t(lang, 'You are now a Threat Cloud sensor.', '你已成為威脅雲感測器。'))}`);
421
422
  console.log(` ${c.dim(t(lang, `This machine contributes anonymous detections to the community defense network.`, `這台機器正在為社群防禦網路貢獻匿名偵測。`))}`);
422
423
  console.log(` ${c.dim(t(lang, `Check status: pga sensor status · Opt out: pga config set telemetry false`, `查看狀態:pga sensor status · 停用:pga config set telemetry false`))}`);
423
424
  console.log('');
@@ -474,6 +475,15 @@ async function submitToTC(skillName, skillDir, report) {
474
475
  const pHash = patternHash(skillName, findingSummary);
475
476
  const severity = report.riskLevel === 'CRITICAL' ? 'critical' : 'high';
476
477
  const date = new Date().toISOString().slice(0, 10).replace(/-/g, '/');
478
+ // Sanitize scan-derived text before interpolating into the generated YAML.
479
+ // A malicious skill could embed YAML-breaking characters (quotes, newlines,
480
+ // colons) in a finding title; strip them so the proposal can't be hijacked.
481
+ const yamlSafe = (s) => s
482
+ .replace(/\p{Cc}/gu, ' ') // strip control chars + newlines (YAML structure breakers)
483
+ .replace(/\\/g, '\\\\')
484
+ .replace(/"/g, '\\"')
485
+ .replace(/\s+/g, ' ')
486
+ .trim();
477
487
  const conditions = highFindings
478
488
  .map((f, idx) => {
479
489
  const keywords = f.title
@@ -483,16 +493,16 @@ async function submitToTC(skillName, skillDir, report) {
483
493
  if (keywords.length === 0)
484
494
  return null;
485
495
  const regex = keywords.map((k) => k.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')).join('.*');
486
- return ` - field: content\n operator: regex\n value: "(?i)${regex}"\n description: "Pattern ${idx + 1}: ${f.title.slice(0, 80)}"`;
496
+ return ` - field: content\n operator: regex\n value: "(?i)${regex}"\n description: "Pattern ${idx + 1}: ${yamlSafe(f.title.slice(0, 80))}"`;
487
497
  })
488
498
  .filter(Boolean);
489
499
  if (conditions.length > 0) {
490
- const ruleContent = `title: "CLI Audit: ${highFindings[0]?.title.slice(0, 60) ?? skillName}"
500
+ const ruleContent = `title: "CLI Audit: ${yamlSafe(highFindings[0]?.title.slice(0, 60) ?? skillName)}"
491
501
  id: ATR-2026-DRAFT-${pHash.slice(0, 8)}
492
502
  status: draft
493
503
  description: |
494
- Auto-generated from pga up scan of "${skillName}".
495
- Findings: ${findingSummary.slice(0, 200)}
504
+ Auto-generated from pga up scan of "${yamlSafe(skillName)}".
505
+ Findings: ${yamlSafe(findingSummary.slice(0, 200))}
496
506
  author: "PanGuard CLI (pga up)"
497
507
  date: "${date}"
498
508
  schema_version: "0.1"