@panguard-ai/panguard 1.4.3 → 1.4.5

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.
@@ -70,10 +70,10 @@ async function showStatus(opts) {
70
70
  ];
71
71
  console.log(statusPanel(lang === 'zh-TW' ? '\u7CFB\u7D71\u72C0\u614B / System Status' : 'System Status', basicItems));
72
72
  console.log(` ${symbols.info} ${lang === 'zh-TW'
73
- ? '\u57F7\u884C \u300Cpanguard init\u300D\u958B\u59CB\u8A2D\u5B9A\u3002'
74
- : 'Run "panguard init" to get started.'}`);
73
+ ? '\u57F7\u884C \u300Cpanguard setup\u300D\u958B\u59CB\u8A2D\u5B9A\u3002'
74
+ : 'Run "panguard setup" to get started.'}`);
75
75
  console.log('');
76
- return;
76
+ // Fall through to show installed skills even without config
77
77
  }
78
78
  // ── System Status ──────────────────────────────────────
79
79
  const systemItems = [];
@@ -163,23 +163,98 @@ async function showStatus(opts) {
163
163
  }));
164
164
  console.log(table(columns, rows));
165
165
  console.log('');
166
- // ── Skill Protection ─────────────────────────────────────
166
+ // ── Installed Skills + Security Status ───────────────────
167
167
  try {
168
+ let discoverFn;
169
+ // Try package import first (works in npm install -g), then file URL (monorepo dev)
170
+ const { resolve } = await import('node:path');
171
+ const { pathToFileURL } = await import('node:url');
172
+ const candidates = [
173
+ '@panguard-ai/panguard-mcp',
174
+ pathToFileURL(resolve(process.cwd(), 'packages/panguard-mcp/dist/config/index.js')).href,
175
+ ];
176
+ for (const candidate of candidates) {
177
+ try {
178
+ const mcp = (await import(candidate));
179
+ if (typeof mcp.discoverAllSkills === 'function') {
180
+ discoverFn = mcp.discoverAllSkills;
181
+ break;
182
+ }
183
+ }
184
+ catch { /* try next */ }
185
+ }
186
+ if (!discoverFn)
187
+ throw new Error('No MCP discovery available');
188
+ const installedSkills = await discoverFn();
189
+ // Load whitelist for cross-reference
168
190
  const whitelistPath = join(homedir(), '.panguard-guard', 'skill-whitelist.json');
191
+ const whitelistNames = new Set();
169
192
  if (existsSync(whitelistPath)) {
170
- const whitelistRaw = readFileSync(whitelistPath, 'utf-8');
171
- const whitelist = JSON.parse(whitelistRaw);
172
- const skills = whitelist.skills ?? [];
173
- const autoCount = skills.filter((s) => s.source === 'fingerprint' || s.source === 'static').length;
174
- const manualCount = skills.filter((s) => s.source === 'manual' || s.source === 'community').length;
175
- console.log(divider(lang === 'zh-TW' ? 'Skill Protection (\u6280\u80FD\u9632\u8B77)' : 'Skill Protection'));
193
+ try {
194
+ const wl = JSON.parse(readFileSync(whitelistPath, 'utf-8'));
195
+ for (const s of wl.whitelist ?? []) {
196
+ whitelistNames.add(s.name.toLowerCase());
197
+ if (s.normalizedName)
198
+ whitelistNames.add(s.normalizedName.toLowerCase());
199
+ }
200
+ }
201
+ catch { /* ignore */ }
202
+ }
203
+ console.log(divider(lang === 'zh-TW'
204
+ ? `Installed Skills (${installedSkills.length} \u500B\u5DF2\u5B89\u88DD)`
205
+ : `Installed Skills (${installedSkills.length})`));
206
+ console.log('');
207
+ if (installedSkills.length === 0) {
208
+ console.log(` ${c.dim(lang === 'zh-TW' ? '\u672A\u5075\u6E2C\u5230\u5DF2\u5B89\u88DD\u7684 skill' : 'No installed skills detected')}`);
209
+ }
210
+ else {
211
+ const skillColumns = [
212
+ { header: '#', key: 'num', width: 3, align: 'right' },
213
+ { header: 'Skill', key: 'name', width: 30 },
214
+ { header: lang === 'zh-TW' ? '\u5E73\u53F0' : 'Platform', key: 'platform', width: 15 },
215
+ {
216
+ header: lang === 'zh-TW' ? '\u72C0\u614B' : 'Status',
217
+ key: 'status',
218
+ width: 12,
219
+ color: (v) => {
220
+ if (v === 'SAFE')
221
+ return c.safe(v);
222
+ if (v === 'UNKNOWN')
223
+ return c.caution(v);
224
+ return c.critical(v);
225
+ },
226
+ },
227
+ ];
228
+ const skillRows = installedSkills.map((s, i) => {
229
+ const isSafe = whitelistNames.has(s.name.toLowerCase());
230
+ return {
231
+ num: String(i + 1),
232
+ name: s.name.length > 28 ? s.name.slice(0, 26) + '..' : s.name,
233
+ platform: s.platformId,
234
+ status: isSafe ? 'SAFE' : 'UNKNOWN',
235
+ };
236
+ });
237
+ // Show summary first
238
+ const safeCount = skillRows.filter(r => r.status === 'SAFE').length;
239
+ const unknownCount = skillRows.filter(r => r.status === 'UNKNOWN').length;
240
+ console.log(` ${c.safe(String(safeCount))} safe ${c.dim('|')} ${unknownCount > 0 ? c.caution(String(unknownCount)) : c.dim('0')} unscanned`);
241
+ console.log(` ${c.dim(lang === 'zh-TW' ? '\u57F7\u884C pga setup \u6383\u63CF\u5168\u90E8 skill' : 'Run pga setup to scan all skills')}`);
176
242
  console.log('');
177
- console.log(` ${c.sage('\u25CF')} ${c.bold(lang === 'zh-TW' ? '\u767D\u540D\u55AE\u6280\u80FD:' : 'Whitelisted:')} ${c.safe(String(skills.length))} ${c.dim(`(${autoCount} auto, ${manualCount} manual)`)}`);
243
+ // Show table (limit to 20 rows to avoid flood)
244
+ const display = skillRows.slice(0, 20);
245
+ console.log(table(skillColumns, display));
246
+ if (skillRows.length > 20) {
247
+ console.log(c.dim(` ... and ${skillRows.length - 20} more`));
248
+ }
178
249
  console.log('');
179
250
  }
180
251
  }
181
- catch {
182
- // Skip skill section if not available
252
+ catch (skillErr) {
253
+ // MCP package not available show hint
254
+ console.log(divider('Installed Skills'));
255
+ console.log('');
256
+ console.log(` ${c.dim('Could not discover skills: ' + (skillErr instanceof Error ? skillErr.message : String(skillErr)))}`);
257
+ console.log('');
183
258
  }
184
259
  // ── Today's Activity ──────────────────────────────────────
185
260
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/cli/commands/status.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/cli/commands/status.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Telemetry consent — opt-in first-run prompt.
3
+ *
4
+ * Telemetry is OFF by default. On first scan, we ask the user
5
+ * if they want to help improve PanGuard by sharing anonymous usage stats.
6
+ *
7
+ * TC Protection (threat intel sync) is separate and ON by default.
8
+ */
9
+ /** Check if consent has already been asked */
10
+ export declare function hasConsentBeenAsked(): boolean;
11
+ /**
12
+ * Ask the user for telemetry consent (opt-in).
13
+ * Returns true if the user opted in, false otherwise.
14
+ *
15
+ * In non-interactive mode (no TTY), defaults to OFF and marks as asked.
16
+ */
17
+ export declare function askTelemetryConsent(): Promise<boolean>;
18
+ /**
19
+ * Check and ask for telemetry consent if not yet asked.
20
+ * Call this at the start of scan/setup commands.
21
+ * Returns the current telemetryEnabled value.
22
+ */
23
+ export declare function ensureTelemetryConsent(): Promise<boolean>;
24
+ //# sourceMappingURL=consent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consent.d.ts","sourceRoot":"","sources":["../../src/cli/consent.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAYH,8CAA8C;AAC9C,wBAAgB,mBAAmB,IAAI,OAAO,CAE7C;AAcD;;;;;GAKG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,OAAO,CAAC,CA6B5D;AAcD;;;;GAIG;AACH,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,OAAO,CAAC,CAO/D"}
@@ -0,0 +1,89 @@
1
+ /**
2
+ * Telemetry consent — opt-in first-run prompt.
3
+ *
4
+ * Telemetry is OFF by default. On first scan, we ask the user
5
+ * if they want to help improve PanGuard by sharing anonymous usage stats.
6
+ *
7
+ * TC Protection (threat intel sync) is separate and ON by default.
8
+ */
9
+ import { existsSync, writeFileSync, mkdirSync } from 'node:fs';
10
+ import { join } from 'node:path';
11
+ import { homedir } from 'node:os';
12
+ import { createInterface } from 'node:readline';
13
+ import { c, symbols } from '@panguard-ai/core';
14
+ import { loadGuardConfig, updateGuardConfig } from './guard-config.js';
15
+ const GUARD_CONFIG_DIR = join(homedir(), '.panguard-guard');
16
+ const CONSENT_MARKER = join(GUARD_CONFIG_DIR, '.telemetry-prompted');
17
+ /** Check if consent has already been asked */
18
+ export function hasConsentBeenAsked() {
19
+ return existsSync(CONSENT_MARKER);
20
+ }
21
+ /** Mark consent as asked (regardless of answer) */
22
+ function markConsentAsked() {
23
+ try {
24
+ if (!existsSync(GUARD_CONFIG_DIR)) {
25
+ mkdirSync(GUARD_CONFIG_DIR, { recursive: true });
26
+ }
27
+ writeFileSync(CONSENT_MARKER, new Date().toISOString(), 'utf-8');
28
+ }
29
+ catch {
30
+ // If we can't write the marker, we'll ask again next time — not a blocker
31
+ }
32
+ }
33
+ /**
34
+ * Ask the user for telemetry consent (opt-in).
35
+ * Returns true if the user opted in, false otherwise.
36
+ *
37
+ * In non-interactive mode (no TTY), defaults to OFF and marks as asked.
38
+ */
39
+ export async function askTelemetryConsent() {
40
+ // Non-interactive: default OFF, don't block
41
+ if (!process.stdin.isTTY) {
42
+ markConsentAsked();
43
+ return false;
44
+ }
45
+ console.log('');
46
+ console.log(` ${symbols.info} ${c.bold('Help improve PanGuard?')}`);
47
+ console.log('');
48
+ console.log(` ${c.dim('Share anonymous usage stats (scan count, platform, findings count).')}`);
49
+ console.log(` ${c.dim('No IP, no user ID, no skill names, no machine fingerprint.')}`);
50
+ console.log(` ${c.dim('Change anytime: panguard config set telemetry false')}`);
51
+ console.log('');
52
+ const answer = await promptYesNo(' Enable anonymous telemetry? [y/N] ');
53
+ const config = loadGuardConfig();
54
+ updateGuardConfig({ ...config, telemetryEnabled: answer });
55
+ markConsentAsked();
56
+ if (answer) {
57
+ console.log(` ${c.safe('Telemetry enabled. Thank you!')}`);
58
+ }
59
+ else {
60
+ console.log(` ${c.dim('No problem. Telemetry stays off.')}`);
61
+ }
62
+ console.log('');
63
+ return answer;
64
+ }
65
+ /** Simple yes/no prompt. Returns true for y/yes, false for anything else. */
66
+ function promptYesNo(question) {
67
+ return new Promise((resolve) => {
68
+ const rl = createInterface({ input: process.stdin, output: process.stdout });
69
+ rl.question(question, (answer) => {
70
+ rl.close();
71
+ const normalized = answer.trim().toLowerCase();
72
+ resolve(normalized === 'y' || normalized === 'yes');
73
+ });
74
+ });
75
+ }
76
+ /**
77
+ * Check and ask for telemetry consent if not yet asked.
78
+ * Call this at the start of scan/setup commands.
79
+ * Returns the current telemetryEnabled value.
80
+ */
81
+ export async function ensureTelemetryConsent() {
82
+ if (!hasConsentBeenAsked()) {
83
+ return askTelemetryConsent();
84
+ }
85
+ // Already asked — return current setting
86
+ const config = loadGuardConfig();
87
+ return config.telemetryEnabled === true;
88
+ }
89
+ //# sourceMappingURL=consent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consent.js","sourceRoot":"","sources":["../../src/cli/consent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Lightweight Guard config reader/writer for CLI commands.
3
+ * Does not import the full Guard engine — only reads/writes ~/.panguard-guard/config.json.
4
+ */
5
+ /** Subset of GuardConfig fields relevant to CLI config commands */
6
+ export interface GuardConfigSubset {
7
+ telemetryEnabled?: boolean;
8
+ threatCloudUploadEnabled?: boolean;
9
+ mode?: string;
10
+ dashboardEnabled?: boolean;
11
+ dashboardPort?: number;
12
+ [key: string]: unknown;
13
+ }
14
+ /** Load guard config from ~/.panguard-guard/config.json */
15
+ export declare function loadGuardConfig(): GuardConfigSubset;
16
+ /** Write updated guard config to ~/.panguard-guard/config.json */
17
+ export declare function updateGuardConfig(config: GuardConfigSubset): void;
18
+ //# sourceMappingURL=guard-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guard-config.d.ts","sourceRoot":"","sources":["../../src/cli/guard-config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,mEAAmE;AACnE,MAAM,WAAW,iBAAiB;IAChC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,2DAA2D;AAC3D,wBAAgB,eAAe,IAAI,iBAAiB,CAUnD;AAED,kEAAkE;AAClE,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAKjE"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Lightweight Guard config reader/writer for CLI commands.
3
+ * Does not import the full Guard engine — only reads/writes ~/.panguard-guard/config.json.
4
+ */
5
+ import { existsSync, readFileSync, writeFileSync, mkdirSync } from 'node:fs';
6
+ import { join } from 'node:path';
7
+ import { homedir } from 'node:os';
8
+ const GUARD_CONFIG_DIR = join(homedir(), '.panguard-guard');
9
+ const GUARD_CONFIG_PATH = join(GUARD_CONFIG_DIR, 'config.json');
10
+ /** Load guard config from ~/.panguard-guard/config.json */
11
+ export function loadGuardConfig() {
12
+ if (!existsSync(GUARD_CONFIG_PATH)) {
13
+ return {};
14
+ }
15
+ try {
16
+ const raw = readFileSync(GUARD_CONFIG_PATH, 'utf-8');
17
+ return JSON.parse(raw);
18
+ }
19
+ catch {
20
+ return {};
21
+ }
22
+ }
23
+ /** Write updated guard config to ~/.panguard-guard/config.json */
24
+ export function updateGuardConfig(config) {
25
+ if (!existsSync(GUARD_CONFIG_DIR)) {
26
+ mkdirSync(GUARD_CONFIG_DIR, { recursive: true });
27
+ }
28
+ writeFileSync(GUARD_CONFIG_PATH, JSON.stringify(config, null, 2), 'utf-8');
29
+ }
30
+ //# sourceMappingURL=guard-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guard-config.js","sourceRoot":"","sources":["../../src/cli/guard-config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,iBAAiB,CAAC,CAAC;AAC5D,MAAM,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC;AAYhE,2DAA2D;AAC3D,MAAM,UAAU,eAAe;IAC7B,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACnC,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAsB,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,iBAAiB,CAAC,MAAyB;IACzD,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAClC,SAAS,CAAC,gBAAgB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;IACD,aAAa,CAAC,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAC7E,CAAC"}
package/dist/cli/index.js CHANGED
@@ -228,8 +228,7 @@ async function checkForUpdates() {
228
228
  (lat[1] ?? 0) === (cur[1] ?? 0) &&
229
229
  (lat[2] ?? 0) > (cur[2] ?? 0));
230
230
  if (isNewer) {
231
- console.log(`\n Update available: ${PANGUARD_VERSION} \u2192 ${latest}` +
232
- `\n Run: pga upgrade\n`);
231
+ console.log(`\n Update available: ${PANGUARD_VERSION} \u2192 ${latest}` + `\n Run: pga upgrade\n`);
233
232
  }
234
233
  }
235
234
  catch {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * Shared helpers for scan/audit commands
3
+ * 掃描/審計命令的共用工具函數
4
+ */
5
+ /** Safety grade based on risk score */
6
+ export type Grade = 'A' | 'B' | 'C' | 'D' | 'F';
7
+ /**
8
+ * Compute safety score and letter grade from a risk score (0-100).
9
+ */
10
+ export declare function computeGrade(riskScore: number): {
11
+ safetyScore: number;
12
+ grade: Grade;
13
+ };
14
+ /** Finding entry in JSON output */
15
+ export interface ScanOutputFinding {
16
+ id: number;
17
+ severity: string;
18
+ title: string;
19
+ category: string;
20
+ description: string;
21
+ remediation: string;
22
+ manual_fix?: string[] | null;
23
+ }
24
+ /** System info in JSON output */
25
+ export interface ScanOutputSystem {
26
+ os: string;
27
+ arch: string;
28
+ open_ports: number;
29
+ running_services: number;
30
+ firewall_enabled: boolean;
31
+ security_tools_detected: number;
32
+ }
33
+ /** Full JSON output structure */
34
+ export interface ScanOutput {
35
+ version: string;
36
+ timestamp: string;
37
+ target: string;
38
+ risk_score: number;
39
+ risk_level: string;
40
+ grade: Grade;
41
+ scan_duration_ms: number;
42
+ findings_count: number;
43
+ findings: ScanOutputFinding[];
44
+ system: ScanOutputSystem;
45
+ powered_by: string;
46
+ agent_friendly: boolean;
47
+ }
48
+ /** Options for building scan output */
49
+ export interface BuildScanOutputOptions {
50
+ version: string;
51
+ timestamp: string;
52
+ target: string;
53
+ riskScore: number;
54
+ riskLevel: string;
55
+ scanDuration: number;
56
+ findings: ReadonlyArray<{
57
+ severity: string;
58
+ title: string;
59
+ category: string;
60
+ description: string;
61
+ remediation: string;
62
+ manualFix?: string[];
63
+ }>;
64
+ system: ScanOutputSystem;
65
+ includeManualFix?: boolean;
66
+ }
67
+ /**
68
+ * Build standardized JSON output for scan results.
69
+ */
70
+ export declare function buildScanOutput(opts: BuildScanOutputOptions): ScanOutput;
71
+ /**
72
+ * Save JSON results to a file. Creates parent directories if needed.
73
+ */
74
+ export declare function saveResults(path: string, data: ScanOutput): Promise<void>;
75
+ //# sourceMappingURL=scan-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scan-helpers.d.ts","sourceRoot":"","sources":["../../src/cli/scan-helpers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,uCAAuC;AACvC,MAAM,MAAM,KAAK,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AAEhD;;GAEG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,CAarF;AAED,mCAAmC;AACnC,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;CAC9B;AAED,iCAAiC;AACjC,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,uBAAuB,EAAE,MAAM,CAAC;CACjC;AAED,iCAAiC;AACjC,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,KAAK,CAAC;IACb,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,MAAM,EAAE,gBAAgB,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,uCAAuC;AACvC,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,aAAa,CAAC;QACtB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;KACtB,CAAC,CAAC;IACH,MAAM,EAAE,gBAAgB,CAAC;IACzB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,sBAAsB,GAAG,UAAU,CAwBxE;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAG/E"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Shared helpers for scan/audit commands
3
+ * 掃描/審計命令的共用工具函數
4
+ */
5
+ import { writeFile, mkdir } from 'node:fs/promises';
6
+ import { dirname } from 'node:path';
7
+ /**
8
+ * Compute safety score and letter grade from a risk score (0-100).
9
+ */
10
+ export function computeGrade(riskScore) {
11
+ const safetyScore = Math.max(0, 100 - riskScore);
12
+ const grade = safetyScore >= 90
13
+ ? 'A'
14
+ : safetyScore >= 75
15
+ ? 'B'
16
+ : safetyScore >= 60
17
+ ? 'C'
18
+ : safetyScore >= 40
19
+ ? 'D'
20
+ : 'F';
21
+ return { safetyScore, grade };
22
+ }
23
+ /**
24
+ * Build standardized JSON output for scan results.
25
+ */
26
+ export function buildScanOutput(opts) {
27
+ const { safetyScore: _, grade } = computeGrade(opts.riskScore);
28
+ return {
29
+ version: opts.version,
30
+ timestamp: opts.timestamp,
31
+ target: opts.target,
32
+ risk_score: opts.riskScore,
33
+ risk_level: opts.riskLevel,
34
+ grade,
35
+ scan_duration_ms: opts.scanDuration,
36
+ findings_count: opts.findings.length,
37
+ findings: opts.findings.map((f, i) => ({
38
+ id: i + 1,
39
+ severity: f.severity,
40
+ title: f.title,
41
+ category: f.category,
42
+ description: f.description,
43
+ remediation: f.remediation,
44
+ ...(opts.includeManualFix ? { manual_fix: f.manualFix ?? null } : {}),
45
+ })),
46
+ system: opts.system,
47
+ powered_by: 'Panguard AI',
48
+ agent_friendly: true,
49
+ };
50
+ }
51
+ /**
52
+ * Save JSON results to a file. Creates parent directories if needed.
53
+ */
54
+ export async function saveResults(path, data) {
55
+ await mkdir(dirname(path), { recursive: true });
56
+ await writeFile(path, JSON.stringify(data, null, 2), 'utf-8');
57
+ }
58
+ //# sourceMappingURL=scan-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scan-helpers.js","sourceRoot":"","sources":["../../src/cli/scan-helpers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,SAAiB;IAC5C,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,SAAS,CAAC,CAAC;IACjD,MAAM,KAAK,GACT,WAAW,IAAI,EAAE;QACf,CAAC,CAAC,GAAG;QACL,CAAC,CAAC,WAAW,IAAI,EAAE;YACjB,CAAC,CAAC,GAAG;YACL,CAAC,CAAC,WAAW,IAAI,EAAE;gBACjB,CAAC,CAAC,GAAG;gBACL,CAAC,CAAC,WAAW,IAAI,EAAE;oBACjB,CAAC,CAAC,GAAG;oBACL,CAAC,CAAC,GAAG,CAAC;IAChB,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;AAChC,CAAC;AA2DD;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,IAA4B;IAC1D,MAAM,EAAE,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC/D,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,UAAU,EAAE,IAAI,CAAC,SAAS;QAC1B,UAAU,EAAE,IAAI,CAAC,SAAS;QAC1B,KAAK;QACL,gBAAgB,EAAE,IAAI,CAAC,YAAY;QACnC,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;QACpC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YACrC,EAAE,EAAE,CAAC,GAAG,CAAC;YACT,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtE,CAAC,CAAC;QACH,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,UAAU,EAAE,aAAa;QACzB,cAAc,EAAE,IAAI;KACrB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAY,EAAE,IAAgB;IAC9D,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,MAAM,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAChE,CAAC"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Telemetry client — fire-and-forget POST to TC /api/telemetry.
3
+ * Only sends if telemetryEnabled is true (opt-in).
4
+ * Never blocks, never throws.
5
+ *
6
+ * All data is real — no mocks, no hardcoded values.
7
+ */
8
+ /**
9
+ * Discover the real count of locally installed MCP skills.
10
+ * Uses the same discovery logic as `panguard setup` and SkillWatcher.
11
+ * Returns 0 if discovery fails (best-effort, never throws).
12
+ */
13
+ export declare function discoverLocalSkillCount(): Promise<number>;
14
+ /** Get the real OS platform string for telemetry */
15
+ export declare function getLocalPlatform(): string;
16
+ export interface TelemetryEvent {
17
+ event: string;
18
+ platform: string;
19
+ skillCount: number;
20
+ findingCount: number;
21
+ severity: string;
22
+ }
23
+ /**
24
+ * Report a telemetry event if telemetry is enabled.
25
+ * Fire-and-forget — never blocks the caller, never throws.
26
+ */
27
+ export declare function reportTelemetry(enabled: boolean, event: TelemetryEvent): Promise<void>;
28
+ //# sourceMappingURL=telemetry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../src/cli/telemetry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH;;;;GAIG;AACH,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,MAAM,CAAC,CAY/D;AAED,oDAAoD;AACpD,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAoB5F"}