@panguard-ai/panguard 1.4.16 → 1.4.17
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/dist/cli/commands/audit.d.ts.map +1 -1
- package/dist/cli/commands/audit.js +5 -6
- package/dist/cli/commands/audit.js.map +1 -1
- package/dist/cli/commands/chat.d.ts.map +1 -1
- package/dist/cli/commands/chat.js +11 -11
- package/dist/cli/commands/chat.js.map +1 -1
- package/dist/cli/commands/config.d.ts +4 -4
- package/dist/cli/commands/config.d.ts.map +1 -1
- package/dist/cli/commands/config.js +32 -21
- package/dist/cli/commands/config.js.map +1 -1
- package/dist/cli/commands/demo.js +5 -5
- package/dist/cli/commands/demo.js.map +1 -1
- package/dist/cli/commands/deploy.js +10 -10
- package/dist/cli/commands/deploy.js.map +1 -1
- package/dist/cli/commands/doctor.d.ts.map +1 -1
- package/dist/cli/commands/doctor.js +30 -65
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/guard.d.ts.map +1 -1
- package/dist/cli/commands/guard.js +42 -45
- package/dist/cli/commands/guard.js.map +1 -1
- package/dist/cli/commands/hacktivity.d.ts +2 -2
- package/dist/cli/commands/hacktivity.d.ts.map +1 -1
- package/dist/cli/commands/hacktivity.js +10 -10
- package/dist/cli/commands/hacktivity.js.map +1 -1
- package/dist/cli/commands/hardening.js +6 -6
- package/dist/cli/commands/hardening.js.map +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +2 -2
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/login.js +1 -1
- package/dist/cli/commands/login.js.map +1 -1
- package/dist/cli/commands/logout.js +1 -1
- package/dist/cli/commands/logout.js.map +1 -1
- package/dist/cli/commands/report.js +6 -6
- package/dist/cli/commands/report.js.map +1 -1
- package/dist/cli/commands/scan.d.ts.map +1 -1
- package/dist/cli/commands/scan.js +93 -12
- package/dist/cli/commands/scan.js.map +1 -1
- package/dist/cli/commands/setup.d.ts.map +1 -1
- package/dist/cli/commands/setup.js +16 -15
- package/dist/cli/commands/setup.js.map +1 -1
- package/dist/cli/commands/skills.d.ts.map +1 -1
- package/dist/cli/commands/skills.js +4 -4
- package/dist/cli/commands/skills.js.map +1 -1
- package/dist/cli/commands/status.d.ts.map +1 -1
- package/dist/cli/commands/status.js +4 -4
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/commands/threat.d.ts.map +1 -1
- package/dist/cli/commands/threat.js +15 -15
- package/dist/cli/commands/threat.js.map +1 -1
- package/dist/cli/commands/trap.js +7 -7
- package/dist/cli/commands/trap.js.map +1 -1
- package/dist/cli/commands/up.d.ts.map +1 -1
- package/dist/cli/commands/up.js +157 -60
- package/dist/cli/commands/up.js.map +1 -1
- package/dist/cli/commands/upgrade.js +1 -1
- package/dist/cli/commands/upgrade.js.map +1 -1
- package/dist/cli/commands/whoami.js +1 -1
- package/dist/cli/commands/whoami.js.map +1 -1
- package/dist/cli/consent.js +1 -1
- package/dist/cli/consent.js.map +1 -1
- package/dist/cli/index.js +1 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/interactive/actions/audit.js +2 -2
- package/dist/cli/interactive/actions/audit.js.map +1 -1
- package/dist/cli/interactive/actions/scan.js +2 -2
- package/dist/cli/interactive/actions/scan.js.map +1 -1
- package/dist/cli/interactive.js +2 -2
- package/dist/cli/interactive.js.map +1 -1
- package/dist/init/config-writer.d.ts.map +1 -1
- package/dist/init/config-writer.js +2 -1
- package/dist/init/config-writer.js.map +1 -1
- package/dist/init/steps.js +2 -2
- package/dist/init/steps.js.map +1 -1
- package/dist/init/wizard-runner.js +18 -18
- package/dist/init/wizard-runner.js.map +1 -1
- package/package.json +12 -12
|
@@ -22,41 +22,41 @@ export function trapCommand() {
|
|
|
22
22
|
const cmd = new Command('trap').description('[Coming Soon] Honeypot system / [即將推出] 蜜罐系統');
|
|
23
23
|
cmd
|
|
24
24
|
.command('start')
|
|
25
|
-
.description('Start honeypot services
|
|
25
|
+
.description('Start honeypot services')
|
|
26
26
|
.option('--services <types>', 'Comma-separated service types (ssh,http,ftp,...)')
|
|
27
|
-
.option('--data-dir <path>', 'Data directory
|
|
27
|
+
.option('--data-dir <path>', 'Data directory')
|
|
28
28
|
.option('--no-cloud', 'Disable Threat Cloud upload')
|
|
29
29
|
.action(async () => {
|
|
30
30
|
console.log(COMING_SOON_MSG);
|
|
31
31
|
});
|
|
32
32
|
cmd
|
|
33
33
|
.command('stop')
|
|
34
|
-
.description('Stop honeypot services
|
|
34
|
+
.description('Stop honeypot services')
|
|
35
35
|
.action(async () => {
|
|
36
36
|
console.log(COMING_SOON_MSG);
|
|
37
37
|
});
|
|
38
38
|
cmd
|
|
39
39
|
.command('status')
|
|
40
|
-
.description('Show current status
|
|
40
|
+
.description('Show current status')
|
|
41
41
|
.action(async () => {
|
|
42
42
|
console.log(COMING_SOON_MSG);
|
|
43
43
|
});
|
|
44
44
|
cmd
|
|
45
45
|
.command('config')
|
|
46
|
-
.description('Show configuration
|
|
46
|
+
.description('Show configuration')
|
|
47
47
|
.option('--services <types>', 'Comma-separated service types')
|
|
48
48
|
.action(async () => {
|
|
49
49
|
console.log(COMING_SOON_MSG);
|
|
50
50
|
});
|
|
51
51
|
cmd
|
|
52
52
|
.command('profiles')
|
|
53
|
-
.description('Show attacker profiles
|
|
53
|
+
.description('Show attacker profiles')
|
|
54
54
|
.action(async () => {
|
|
55
55
|
console.log(COMING_SOON_MSG);
|
|
56
56
|
});
|
|
57
57
|
cmd
|
|
58
58
|
.command('intel')
|
|
59
|
-
.description('Show threat intelligence
|
|
59
|
+
.description('Show threat intelligence')
|
|
60
60
|
.action(async () => {
|
|
61
61
|
console.log(COMING_SOON_MSG);
|
|
62
62
|
});
|
|
@@ -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,
|
|
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 +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;
|
|
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;AAwCpC,wBAAgB,SAAS,IAAI,OAAO,CAwdnC"}
|
package/dist/cli/commands/up.js
CHANGED
|
@@ -10,6 +10,9 @@ import { execFile } from 'node:child_process';
|
|
|
10
10
|
import { Command } from 'commander';
|
|
11
11
|
import { runCLI } from '@panguard-ai/panguard-guard';
|
|
12
12
|
import { c, symbols, setLogLevel } from '@panguard-ai/core';
|
|
13
|
+
import { detectLang } from '../interactive/lang.js';
|
|
14
|
+
/** Minimal i18n for key user-facing strings */
|
|
15
|
+
const t = (lang, en, zh) => (lang === 'zh-TW' ? zh : en);
|
|
13
16
|
const TC_ENDPOINT = 'https://tc.panguard.ai';
|
|
14
17
|
const DASHBOARD_URL = 'http://127.0.0.1:3100';
|
|
15
18
|
function openBrowser(url) {
|
|
@@ -46,6 +49,7 @@ export function upCommand() {
|
|
|
46
49
|
.option('--no-dashboard', 'Skip opening dashboard in browser')
|
|
47
50
|
.option('--verbose', 'Verbose output', false)
|
|
48
51
|
.option('--skip-scan', 'Skip initial skill scan', false)
|
|
52
|
+
.option('-y, --yes', 'Skip confirmation prompts', false)
|
|
49
53
|
.action(async (opts) => {
|
|
50
54
|
// Suppress JSON logs for clean output — set env var BEFORE any dynamic imports
|
|
51
55
|
// so all child modules (panguard-mcp, panguard-scan, etc.) also respect it
|
|
@@ -54,21 +58,30 @@ export function upCommand() {
|
|
|
54
58
|
setLogLevel('silent');
|
|
55
59
|
}
|
|
56
60
|
const startTime = Date.now();
|
|
57
|
-
|
|
61
|
+
const lang = detectLang();
|
|
62
|
+
console.log(`\n ${c.sage(c.bold('PANGUARD AI'))} ${c.dim(t(lang, '— AI Agent Security Guard', '— AI 代理安全防護'))}\n`);
|
|
58
63
|
console.log(` ${c.dim('─'.repeat(50))}\n`);
|
|
59
|
-
const
|
|
60
|
-
const
|
|
61
|
-
const isFirstRun = !existsSync(configPath1) && !existsSync(configPath2);
|
|
64
|
+
const activatedMarker = join(homedir(), '.panguard', 'activated');
|
|
65
|
+
const isFirstRun = !existsSync(activatedMarker);
|
|
62
66
|
if (isFirstRun) {
|
|
63
|
-
console.log(
|
|
67
|
+
console.log('');
|
|
68
|
+
console.log(` ${c.sage(c.bold(t(lang, 'Welcome to PanGuard AI!', '歡迎使用 PanGuard AI!')))}`);
|
|
69
|
+
console.log('');
|
|
70
|
+
console.log(` ${t(lang, 'PanGuard protects your AI agents in 3 steps:', 'PanGuard 三步驟保護你的 AI 代理:')}`);
|
|
71
|
+
console.log(` ${c.dim('1.')} ${t(lang, 'Scan — detect threats in installed skills', '掃描 — 偵測已安裝技能中的威脅')}`);
|
|
72
|
+
console.log(` ${c.dim('2.')} ${t(lang, 'Protect — inject MCP proxy for runtime guard', '防護 — 注入 MCP 代理進行即時守護')}`);
|
|
73
|
+
console.log(` ${c.dim('3.')} ${t(lang, 'Monitor — Guard engine watches for attacks', '監控 — Guard 引擎持續監控攻擊')}`);
|
|
74
|
+
console.log('');
|
|
75
|
+
console.log(` ${c.dim(t(lang, 'Running initial setup...', '正在執行初始設定...'))}`);
|
|
76
|
+
console.log('');
|
|
64
77
|
const { execFileSync } = await import('node:child_process');
|
|
65
78
|
try {
|
|
66
79
|
execFileSync(process.execPath, [process.argv[1] ?? 'panguard', 'setup'], {
|
|
67
80
|
stdio: 'inherit',
|
|
68
81
|
});
|
|
69
82
|
}
|
|
70
|
-
catch {
|
|
71
|
-
|
|
83
|
+
catch (err) {
|
|
84
|
+
process.stderr.write(`[panguard up] Setup failed: ${err instanceof Error ? err.message : String(err)}\n`);
|
|
72
85
|
}
|
|
73
86
|
}
|
|
74
87
|
// ── Step 1: Detect platforms + inject proxy ─────────────
|
|
@@ -80,7 +93,7 @@ export function upCommand() {
|
|
|
80
93
|
let injectProxyFn;
|
|
81
94
|
try {
|
|
82
95
|
// Published package: import from /config subpath
|
|
83
|
-
const mcp = await import('@panguard-ai/panguard-mcp/config');
|
|
96
|
+
const mcp = (await import('@panguard-ai/panguard-mcp/config'));
|
|
84
97
|
detectPlatforms = mcp.detectPlatforms;
|
|
85
98
|
injectProxyFn = mcp.injectProxy;
|
|
86
99
|
}
|
|
@@ -89,11 +102,11 @@ export function upCommand() {
|
|
|
89
102
|
const { resolve } = await import('node:path');
|
|
90
103
|
const { pathToFileURL } = await import('node:url');
|
|
91
104
|
const mcpDist = resolve(process.cwd(), 'packages/panguard-mcp/dist/config/index.js');
|
|
92
|
-
const mcp = await import(pathToFileURL(mcpDist).href);
|
|
105
|
+
const mcp = (await import(pathToFileURL(mcpDist).href));
|
|
93
106
|
detectPlatforms = mcp.detectPlatforms;
|
|
94
107
|
injectProxyFn = mcp.injectProxy;
|
|
95
108
|
}
|
|
96
|
-
console.log(` ${symbols.scan} ${c.bold('Detecting AI platforms...')}\n`);
|
|
109
|
+
console.log(` ${symbols.scan} ${c.bold(t(lang, 'Detecting AI platforms...', '偵測 AI 平台...'))}\n`);
|
|
97
110
|
const platforms = await detectPlatforms();
|
|
98
111
|
const detected = platforms.filter((p) => p.detected);
|
|
99
112
|
for (const p of detected) {
|
|
@@ -102,23 +115,45 @@ export function upCommand() {
|
|
|
102
115
|
if (detected.length === 0) {
|
|
103
116
|
console.log(` ${c.dim('No AI platforms found.')}`);
|
|
104
117
|
}
|
|
105
|
-
// Inject proxy on all detected platforms
|
|
118
|
+
// Inject proxy on all detected platforms (with consent)
|
|
106
119
|
if (detected.length > 0) {
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
120
|
+
let shouldInject = opts.yes;
|
|
121
|
+
if (!shouldInject) {
|
|
122
|
+
if (!process.stdin.isTTY) {
|
|
123
|
+
// Non-interactive (CI, piped): skip injection by default
|
|
124
|
+
shouldInject = false;
|
|
125
|
+
}
|
|
126
|
+
else {
|
|
127
|
+
const { createInterface } = await import('node:readline');
|
|
128
|
+
const rl = createInterface({ input: process.stdin, output: process.stdout });
|
|
129
|
+
const answer = await new Promise((resolve) => {
|
|
130
|
+
rl.question(`\n Inject MCP proxy into ${detected.length} platform(s)? ` +
|
|
131
|
+
`${c.dim('(configs backed up to *.bak)')} [y/N] `, resolve);
|
|
132
|
+
});
|
|
133
|
+
rl.close();
|
|
134
|
+
shouldInject = answer.trim().toLowerCase() === 'y';
|
|
135
|
+
}
|
|
114
136
|
}
|
|
115
|
-
|
|
116
|
-
console.log(
|
|
137
|
+
if (!shouldInject) {
|
|
138
|
+
console.log(`\n ${c.dim('Proxy injection skipped. Run "pga up -y" to inject.')}`);
|
|
117
139
|
}
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
140
|
+
else {
|
|
141
|
+
console.log(`\n ${symbols.shield} ${c.bold('Injecting runtime protection...')}\n`);
|
|
142
|
+
const proxySummary = injectProxyFn(detected.map((p) => p.id));
|
|
143
|
+
platformCount = proxySummary.totalPlatforms;
|
|
144
|
+
serverCount = proxySummary.totalServersProxied;
|
|
145
|
+
if (serverCount > 0) {
|
|
146
|
+
console.log(` ${c.safe(`${serverCount} MCP server(s)`)} proxied across ${c.sage(`${platformCount} platform(s)`)}`);
|
|
147
|
+
console.log(` ${c.dim('Config backed up to *.bak files')}`);
|
|
148
|
+
}
|
|
149
|
+
else {
|
|
150
|
+
console.log(` ${c.dim('No new servers to proxy (all already protected or none found).')}`);
|
|
151
|
+
}
|
|
152
|
+
// Show errors if any
|
|
153
|
+
for (const r of proxySummary.results) {
|
|
154
|
+
if (r.error) {
|
|
155
|
+
console.log(` ${c.critical(`${r.platformId}: ${r.error}`)}`);
|
|
156
|
+
}
|
|
122
157
|
}
|
|
123
158
|
}
|
|
124
159
|
}
|
|
@@ -134,7 +169,7 @@ export function upCommand() {
|
|
|
134
169
|
}
|
|
135
170
|
// ── Step 3: Scan installed skills ────────────────────────
|
|
136
171
|
if (!opts.skipScan) {
|
|
137
|
-
console.log(`\n ${symbols.scan} ${c.bold('Scanning installed skills...')}\n`);
|
|
172
|
+
console.log(`\n ${symbols.scan} ${c.bold(t(lang, 'Scanning installed skills...', '掃描已安裝技能...'))}\n`);
|
|
138
173
|
try {
|
|
139
174
|
let skills = [];
|
|
140
175
|
try {
|
|
@@ -165,8 +200,8 @@ export function upCommand() {
|
|
|
165
200
|
safeNames.add(s.normalizedName.toLowerCase());
|
|
166
201
|
}
|
|
167
202
|
}
|
|
168
|
-
catch {
|
|
169
|
-
|
|
203
|
+
catch (err) {
|
|
204
|
+
process.stderr.write(`[panguard up] Failed to load whitelist: ${err instanceof Error ? err.message : String(err)}\n`);
|
|
170
205
|
}
|
|
171
206
|
}
|
|
172
207
|
const safe = skills.filter((s) => safeNames.has(s.name.toLowerCase()));
|
|
@@ -178,7 +213,7 @@ export function upCommand() {
|
|
|
178
213
|
const threats = [];
|
|
179
214
|
try {
|
|
180
215
|
const { auditSkill } = await import('@panguard-ai/panguard-skill-auditor');
|
|
181
|
-
const toScan = unknown
|
|
216
|
+
const toScan = unknown;
|
|
182
217
|
let scanned = 0;
|
|
183
218
|
for (const skill of toScan) {
|
|
184
219
|
try {
|
|
@@ -188,7 +223,9 @@ export function upCommand() {
|
|
|
188
223
|
const skillDir = join(homedir(), '.claude', 'skills', skill.name);
|
|
189
224
|
if (!existsSync(skillDir))
|
|
190
225
|
continue;
|
|
191
|
-
|
|
226
|
+
// Fast path: skip AI/semgrep for panguard up (ATR regex only, ~50ms/skill)
|
|
227
|
+
// Users can run `pga audit --deep` for full analysis
|
|
228
|
+
const report = await auditSkill(skillDir, { skipAI: true });
|
|
192
229
|
if (report.riskLevel === 'HIGH' || report.riskLevel === 'CRITICAL') {
|
|
193
230
|
threats.push({
|
|
194
231
|
name: skill.name,
|
|
@@ -202,22 +239,48 @@ export function upCommand() {
|
|
|
202
239
|
submitToTC(skill.name, skillDir, report).catch(() => { });
|
|
203
240
|
}
|
|
204
241
|
}
|
|
205
|
-
catch {
|
|
206
|
-
|
|
242
|
+
catch (err) {
|
|
243
|
+
process.stderr.write(`[panguard up] Skill audit failed for ${skill.name}: ${err instanceof Error ? err.message : String(err)}\n`);
|
|
207
244
|
}
|
|
208
245
|
}
|
|
209
246
|
}
|
|
210
|
-
catch {
|
|
211
|
-
|
|
247
|
+
catch (err) {
|
|
248
|
+
process.stderr.write(`[panguard up] Skill auditor unavailable: ${err instanceof Error ? err.message : String(err)}\n`);
|
|
212
249
|
}
|
|
213
250
|
// Clear progress line
|
|
214
251
|
process.stdout.write('\r' + ' '.repeat(80) + '\r');
|
|
215
252
|
threatCount = threats.length;
|
|
216
253
|
if (threats.length > 0) {
|
|
217
254
|
console.log(` ${c.critical(c.bold(`${threats.length} threat(s) detected:`))}\n`);
|
|
218
|
-
for (const
|
|
219
|
-
const icon =
|
|
220
|
-
|
|
255
|
+
for (const threat of threats) {
|
|
256
|
+
const icon = threat.riskLevel === 'CRITICAL' ? c.critical('!!') : c.caution('!');
|
|
257
|
+
const action = threat.riskLevel === 'CRITICAL'
|
|
258
|
+
? c.critical('remove or replace this skill')
|
|
259
|
+
: c.caution('review with: pga scan ~/.claude/skills/' + threat.name);
|
|
260
|
+
console.log(` ${icon} ${c.bold(threat.name)} ${c.dim(`(${threat.platform}) \u2014 ${threat.riskLevel}`)}`);
|
|
261
|
+
console.log(` ${c.dim('\u2192')} ${action}`);
|
|
262
|
+
}
|
|
263
|
+
// Auto-revoke CRITICAL skills from whitelist
|
|
264
|
+
const criticalNames = new Set(threats
|
|
265
|
+
.filter((t) => t.riskLevel === 'CRITICAL')
|
|
266
|
+
.map((t) => t.name.toLowerCase()));
|
|
267
|
+
if (criticalNames.size > 0 && existsSync(whitelistPath)) {
|
|
268
|
+
try {
|
|
269
|
+
const wlRaw = JSON.parse(readFileSync(whitelistPath, 'utf-8'));
|
|
270
|
+
const before = wlRaw.whitelist?.length ?? 0;
|
|
271
|
+
wlRaw.whitelist = (wlRaw.whitelist ?? []).filter((s) => !criticalNames.has(s.name.toLowerCase()));
|
|
272
|
+
const revoked = before - (wlRaw.whitelist?.length ?? 0);
|
|
273
|
+
if (revoked > 0) {
|
|
274
|
+
const { writeFileSync, renameSync } = await import('node:fs');
|
|
275
|
+
const tmpPath = `${whitelistPath}.tmp.${process.pid}`;
|
|
276
|
+
writeFileSync(tmpPath, JSON.stringify(wlRaw, null, 2), 'utf-8');
|
|
277
|
+
renameSync(tmpPath, whitelistPath);
|
|
278
|
+
console.log(`\n ${c.critical(c.bold(`${revoked} CRITICAL skill(s) auto-revoked from whitelist.`))}`);
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
catch (err) {
|
|
282
|
+
process.stderr.write(`[panguard up] Whitelist revocation failed: ${err instanceof Error ? err.message : String(err)}\n`);
|
|
283
|
+
}
|
|
221
284
|
}
|
|
222
285
|
console.log('');
|
|
223
286
|
}
|
|
@@ -234,8 +297,23 @@ export function upCommand() {
|
|
|
234
297
|
console.log(` ${c.dim('Skill scan skipped (discovery unavailable).')}\n`);
|
|
235
298
|
}
|
|
236
299
|
}
|
|
237
|
-
// ── Activation tracking (one-time)
|
|
238
|
-
|
|
300
|
+
// ── Activation tracking (one-time, respects telemetry opt-out) ──
|
|
301
|
+
const telemetryDisabled = (() => {
|
|
302
|
+
try {
|
|
303
|
+
const cfgPath = join(homedir(), '.panguard-guard', 'config.json');
|
|
304
|
+
if (existsSync(cfgPath)) {
|
|
305
|
+
const cfg = JSON.parse(readFileSync(cfgPath, 'utf-8'));
|
|
306
|
+
return cfg.telemetryEnabled === false;
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
catch {
|
|
310
|
+
/* default to enabled */
|
|
311
|
+
}
|
|
312
|
+
return false;
|
|
313
|
+
})();
|
|
314
|
+
if (!telemetryDisabled) {
|
|
315
|
+
reportActivation().catch(() => { });
|
|
316
|
+
}
|
|
239
317
|
// ── Summary + Start Guard ─────────────────────────────
|
|
240
318
|
const elapsed = ((Date.now() - startTime) / 1000).toFixed(1);
|
|
241
319
|
const guardAlreadyRunning = isGuardRunning();
|
|
@@ -247,50 +325,69 @@ export function upCommand() {
|
|
|
247
325
|
args.push('--dashboard');
|
|
248
326
|
if (opts.verbose)
|
|
249
327
|
args.push('--verbose');
|
|
250
|
-
|
|
328
|
+
try {
|
|
329
|
+
await runCLI(args);
|
|
330
|
+
}
|
|
331
|
+
catch (err) {
|
|
332
|
+
process.stderr.write(` ${c.caution('Guard start failed:')} ${err instanceof Error ? err.message : String(err)}\n`);
|
|
333
|
+
}
|
|
251
334
|
}
|
|
252
|
-
// ── Read
|
|
253
|
-
|
|
254
|
-
let
|
|
255
|
-
let tcStatus = 'connected';
|
|
335
|
+
// ── Read rule count + TC status ──────────
|
|
336
|
+
const ruleCount = 113;
|
|
337
|
+
let tcStatus = 'disconnected';
|
|
256
338
|
try {
|
|
257
|
-
// Read TC cache directly (written by guard after initial sync)
|
|
258
339
|
const cachePath = join(homedir(), '.panguard-guard', 'threat-cloud-cache.json');
|
|
259
340
|
if (existsSync(cachePath)) {
|
|
260
341
|
const cache = JSON.parse(readFileSync(cachePath, 'utf-8'));
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
ruleCount = 100 + tcRulesReceived; // base ATR + TC crystallized
|
|
264
|
-
tcStatus = `connected (${tcRulesReceived} rules from TC)`;
|
|
342
|
+
if (cache.lastSync) {
|
|
343
|
+
tcStatus = 'connected';
|
|
265
344
|
}
|
|
266
345
|
}
|
|
267
346
|
}
|
|
268
|
-
catch {
|
|
347
|
+
catch {
|
|
348
|
+
/* best-effort: TC cache may not exist on first run */
|
|
349
|
+
}
|
|
269
350
|
// ── Clean summary panel ────────────────────────────────
|
|
351
|
+
const guardRunning = isGuardRunning();
|
|
352
|
+
const hasProxy = serverCount > 0;
|
|
353
|
+
const statusLabel = guardRunning && hasProxy
|
|
354
|
+
? c.safe(c.bold(t(lang, 'MONITORING + PROXY ACTIVE', '監控中 + 代理已啟動')))
|
|
355
|
+
: guardRunning
|
|
356
|
+
? c.sage(c.bold(t(lang, 'MONITORING', '監控中')))
|
|
357
|
+
: c.caution(c.bold(t(lang, 'SCAN COMPLETE', '掃描完成')));
|
|
270
358
|
console.log(`\n ${c.dim('\u2500'.repeat(50))}`);
|
|
271
|
-
console.log(` ${
|
|
359
|
+
console.log(` ${statusLabel} ${c.dim(`\u2014 ${elapsed}s`)}`);
|
|
272
360
|
console.log(` ${c.dim('\u2500'.repeat(50))}`);
|
|
273
361
|
console.log('');
|
|
274
|
-
|
|
275
|
-
|
|
362
|
+
if (opts.dashboard) {
|
|
363
|
+
console.log(` ${c.sage('Dashboard')} ${DASHBOARD_URL}`);
|
|
364
|
+
}
|
|
365
|
+
console.log(` ${c.sage(t(lang, 'Rules', '規則'))} ${ruleCount} ${t(lang, 'detection rules active', '條偵測規則運作中')}`);
|
|
276
366
|
if (platformCount > 0) {
|
|
277
|
-
console.log(` ${c.sage('Platforms')} ${platformCount} detected, ${serverCount} server(s) proxied`);
|
|
367
|
+
console.log(` ${c.sage(t(lang, 'Platforms', '平台'))} ${platformCount} ${t(lang, 'detected', '已偵測')}, ${hasProxy ? `${serverCount} ${t(lang, 'server(s) proxied', '個伺服器已代理')}` : t(lang, 'proxy not injected', '代理未注入')}`);
|
|
368
|
+
}
|
|
369
|
+
if (threatCount > 0) {
|
|
370
|
+
console.log(` ${c.sage(t(lang, 'Threats', '威脅'))} ${c.critical(`${threatCount} ${t(lang, 'found', '個發現')}`)}`);
|
|
278
371
|
}
|
|
279
372
|
console.log(` ${c.sage('Threat Cloud')} ${tcStatus}`);
|
|
280
373
|
console.log('');
|
|
281
374
|
// ── Next steps ─────────────────────────────────────────
|
|
282
|
-
console.log(` ${c.bold('NEXT STEPS')}`);
|
|
283
|
-
console.log(` ${c.dim('1.')} Open dashboard ${c.sage(DASHBOARD_URL)}`);
|
|
375
|
+
console.log(` ${c.bold(t(lang, 'NEXT STEPS', '下一步'))}`);
|
|
376
|
+
console.log(` ${c.dim('1.')} ${t(lang, 'Open dashboard', '開啟儀表板')} ${c.sage(DASHBOARD_URL)}`);
|
|
284
377
|
if (threatCount > 0) {
|
|
285
|
-
console.log(` ${c.dim('2.')} Review threats ${c.caution(`${threatCount} flagged`)} ${c.dim('\u2014 pga audit skill <name>')}`);
|
|
286
|
-
console.log(` ${c.dim('3.')} Upgrade detection ${c.dim('pga guard setup-ai')}`);
|
|
378
|
+
console.log(` ${c.dim('2.')} ${t(lang, 'Review threats', '檢視威脅')} ${c.caution(`${threatCount} ${t(lang, 'flagged', '個標記')}`)} ${c.dim('\u2014 pga audit skill <name>')}`);
|
|
379
|
+
console.log(` ${c.dim('3.')} ${t(lang, 'Upgrade detection', '升級偵測')} ${c.dim('pga guard setup-ai')}`);
|
|
287
380
|
}
|
|
288
381
|
else {
|
|
289
|
-
console.log(` ${c.dim('2.')} Upgrade detection ${c.dim('pga guard setup-ai')}`);
|
|
382
|
+
console.log(` ${c.dim('2.')} ${t(lang, 'Upgrade detection', '升級偵測')} ${c.dim('pga guard setup-ai')}`);
|
|
290
383
|
}
|
|
291
384
|
console.log('');
|
|
292
|
-
console.log(` ${c.dim('Layer 1 (regex) catches ~70% of attacks at zero cost.')}`);
|
|
293
|
-
console.log(` ${c.dim('Add Layer 2 (local AI) or 3 (cloud AI) for deeper detection.')}`);
|
|
385
|
+
console.log(` ${c.dim(t(lang, 'Layer 1 (regex) catches ~70% of attacks at zero cost.', 'Layer 1 (正則) 零成本攔截約 70% 攻擊。'))}`);
|
|
386
|
+
console.log(` ${c.dim(t(lang, 'Add Layer 2 (local AI) or 3 (cloud AI) for deeper detection.', '加入 Layer 2 (本地 AI) 或 Layer 3 (雲端 AI) 提升偵測深度。'))}`);
|
|
387
|
+
if (!telemetryDisabled) {
|
|
388
|
+
console.log(` ${c.dim(t(lang, 'Telemetry: anonymous usage stats sent to tc.panguard.ai', '遙測:匿名使用統計會傳送至 tc.panguard.ai'))}`);
|
|
389
|
+
console.log(` ${c.dim(t(lang, 'Opt out: pga config set telemetry false', '關閉:pga config set telemetry false'))}`);
|
|
390
|
+
}
|
|
294
391
|
console.log('');
|
|
295
392
|
});
|
|
296
393
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"up.js","sourceRoot":"","sources":["../../../src/cli/commands/up.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"up.js","sourceRoot":"","sources":["../../../src/cli/commands/up.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ import { Command } from 'commander';
|
|
|
8
8
|
import { execSync } from 'node:child_process';
|
|
9
9
|
export function upgradeCommand() {
|
|
10
10
|
const cmd = new Command('upgrade')
|
|
11
|
-
.description('Update Panguard CLI to the latest version
|
|
11
|
+
.description('Update Panguard CLI to the latest version')
|
|
12
12
|
.action(async () => {
|
|
13
13
|
console.log('Checking for updates...');
|
|
14
14
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../../src/cli/commands/upgrade.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,MAAM,UAAU,cAAc;IAC5B,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC;SAC/B,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../../src/cli/commands/upgrade.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,MAAM,UAAU,cAAc;IAC5B,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC;SAC/B,WAAW,CAAC,2CAA2C,CAAC;SACxD,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;QACvC,IAAI,CAAC;YACH,QAAQ,CAAC,6CAA6C,EAAE;gBACtD,KAAK,EAAE,SAAS;aACjB,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;QAClE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,KAAK,CAAC,0EAA0E,CAAC,CAAC;QAC5F,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
import { Command } from 'commander';
|
|
8
8
|
export function whoamiCommand() {
|
|
9
9
|
return new Command('whoami')
|
|
10
|
-
.description('Show current user info
|
|
10
|
+
.description('Show current user info')
|
|
11
11
|
.option('--json', 'Output as JSON')
|
|
12
12
|
.option('--lang <language>', 'Language override')
|
|
13
13
|
.action(async (opts) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"whoami.js","sourceRoot":"","sources":["../../../src/cli/commands/whoami.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,UAAU,aAAa;IAC3B,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC;SACzB,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"whoami.js","sourceRoot":"","sources":["../../../src/cli/commands/whoami.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,UAAU,aAAa;IAC3B,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC;SACzB,WAAW,CAAC,wBAAwB,CAAC;SACrC,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;SAChD,MAAM,CAAC,KAAK,EAAE,IAAuC,EAAE,EAAE;QACxD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,SAAS,CACZ;gBACE,aAAa,EAAE,IAAI;gBACnB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,4CAA4C;aACnD,EACD,IAAI,EACJ,CAAC,CACF,CACF,CAAC;YACF,OAAO;QACT,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;QACtD,OAAO,CAAC,GAAG,CAAC,mEAAmE,CAAC,CAAC;QACjF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACP,CAAC"}
|
package/dist/cli/consent.js
CHANGED
|
@@ -47,7 +47,7 @@ export async function askTelemetryConsent() {
|
|
|
47
47
|
console.log('');
|
|
48
48
|
console.log(` ${c.dim('Share anonymous usage stats (scan count, platform, findings count).')}`);
|
|
49
49
|
console.log(` ${c.dim('No IP, no user ID, no skill names, no machine fingerprint.')}`);
|
|
50
|
-
console.log(` ${c.dim('Change anytime:
|
|
50
|
+
console.log(` ${c.dim('Change anytime: pga config set telemetry false')}`);
|
|
51
51
|
console.log('');
|
|
52
52
|
const answer = await promptYesNo(' Enable anonymous telemetry? [y/N] ');
|
|
53
53
|
const config = loadGuardConfig();
|
package/dist/cli/consent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consent.js","sourceRoot":"","sources":["../../src/cli/consent.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEvE,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,iBAAiB,CAAC,CAAC;AAC5D,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,EAAE,qBAAqB,CAAC,CAAC;AAErE,8CAA8C;AAC9C,MAAM,UAAU,mBAAmB;IACjC,OAAO,UAAU,CAAC,cAAc,CAAC,CAAC;AACpC,CAAC;AAED,mDAAmD;AACnD,SAAS,gBAAgB;IACvB,IAAI,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAClC,SAAS,CAAC,gBAAgB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,CAAC;QACD,aAAa,CAAC,cAAc,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,OAAO,CAAC,CAAC;IACnE,CAAC;IAAC,MAAM,CAAC;QACP,0EAA0E;IAC5E,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB;IACvC,4CAA4C;IAC5C,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACzB,gBAAgB,EAAE,CAAC;QACnB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC;IACrE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,qEAAqE,CAAC,EAAE,CAAC,CAAC;IACjG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,4DAA4D,CAAC,EAAE,CAAC,CAAC;IACxF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"consent.js","sourceRoot":"","sources":["../../src/cli/consent.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/index.js
CHANGED
|
@@ -56,7 +56,7 @@ import { upCommand } from './commands/up.js';
|
|
|
56
56
|
const program = new Command();
|
|
57
57
|
program
|
|
58
58
|
.name('panguard')
|
|
59
|
-
.description('Panguard AI - Security for AI Agents
|
|
59
|
+
.description('Panguard AI - Security for AI Agents')
|
|
60
60
|
.version(PANGUARD_VERSION);
|
|
61
61
|
// ── Core commands (shown in help) ──
|
|
62
62
|
program.addCommand(upCommand());
|