@panguard-ai/panguard 1.5.6 → 1.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +62 -0
- package/dist/cli/commands/config.d.ts.map +1 -1
- package/dist/cli/commands/config.js +3 -1
- package/dist/cli/commands/config.js.map +1 -1
- package/dist/cli/commands/scan.d.ts.map +1 -1
- package/dist/cli/commands/scan.js +82 -33
- 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 +4 -1
- package/dist/cli/commands/setup.js.map +1 -1
- package/dist/cli/commands/up.d.ts.map +1 -1
- package/dist/cli/commands/up.js +157 -77
- package/dist/cli/commands/up.js.map +1 -1
- package/dist/cli/consent.d.ts +7 -5
- package/dist/cli/consent.d.ts.map +1 -1
- package/dist/cli/consent.js +33 -16
- package/dist/cli/consent.js.map +1 -1
- package/dist/cli/index.js +37 -5
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/interactive/menu-defs.d.ts.map +1 -1
- package/dist/cli/interactive/menu-defs.js +0 -11
- package/dist/cli/interactive/menu-defs.js.map +1 -1
- package/dist/cli/theme.d.ts +38 -0
- package/dist/cli/theme.d.ts.map +1 -1
- package/dist/cli/theme.js +74 -0
- package/dist/cli/theme.js.map +1 -1
- package/dist/init/rule-count.d.ts +23 -0
- package/dist/init/rule-count.d.ts.map +1 -0
- package/dist/init/rule-count.js +109 -0
- package/dist/init/rule-count.js.map +1 -0
- package/package.json +14 -12
package/dist/cli/index.js
CHANGED
|
@@ -8,11 +8,29 @@
|
|
|
8
8
|
*
|
|
9
9
|
* @module @panguard-ai/panguard/cli
|
|
10
10
|
*/
|
|
11
|
+
import * as Sentry from '@sentry/node';
|
|
11
12
|
import { Command } from 'commander';
|
|
12
13
|
import { PANGUARD_VERSION } from '../index.js';
|
|
14
|
+
// Sentry init — no-op when PANGUARD_SENTRY_DSN is unset so end-customers can
|
|
15
|
+
// opt out by leaving the env var empty. Separate from server-side SENTRY_DSN
|
|
16
|
+
// so the panguard.ai org can inject its own DSN at build time without
|
|
17
|
+
// affecting third-party CLI users.
|
|
18
|
+
if (process.env['PANGUARD_SENTRY_DSN']) {
|
|
19
|
+
Sentry.init({
|
|
20
|
+
dsn: process.env['PANGUARD_SENTRY_DSN'],
|
|
21
|
+
tracesSampleRate: 0.1,
|
|
22
|
+
release: PANGUARD_VERSION,
|
|
23
|
+
environment: process.env['NODE_ENV'] ?? 'production',
|
|
24
|
+
});
|
|
25
|
+
Sentry.setTag('cli_version', PANGUARD_VERSION);
|
|
26
|
+
Sentry.setTag('platform', process.platform);
|
|
27
|
+
}
|
|
13
28
|
import { scanCommand } from './commands/scan.js';
|
|
14
29
|
import { guardCommand } from './commands/guard.js';
|
|
15
|
-
|
|
30
|
+
// reportCommand is intentionally NOT imported/registered in the free CLI —
|
|
31
|
+
// the compliance report generator is an enterprise feature, hidden until the
|
|
32
|
+
// paid tier launches. See the addCommand site below.
|
|
33
|
+
// import { reportCommand } from './commands/report.js';
|
|
16
34
|
import { chatCommand } from './commands/chat.js';
|
|
17
35
|
import { trapCommand } from './commands/trap.js';
|
|
18
36
|
import { threatCommand } from './commands/threat.js';
|
|
@@ -81,9 +99,11 @@ program.addCommand(whoamiCommand());
|
|
|
81
99
|
program.addCommand(chatCommand());
|
|
82
100
|
program.addCommand(configCommand());
|
|
83
101
|
program.addCommand(doctorCommand());
|
|
84
|
-
// report
|
|
85
|
-
//
|
|
86
|
-
|
|
102
|
+
// report (AI Compliance Audit Evidence generator) is the enterprise tier's
|
|
103
|
+
// core differentiator and is NOT released in the free community plan. It stays
|
|
104
|
+
// hidden until the paid tier launches behind a license gate. Do not register it
|
|
105
|
+
// in the free CLI. (Re-enable: restore the import + this addCommand.)
|
|
106
|
+
// program.addCommand(reportCommand());
|
|
87
107
|
// ── Trap (honeypot) is a first-class command — wired to the real
|
|
88
108
|
// panguard-trap engine via @panguard-ai/panguard-trap/cli ──
|
|
89
109
|
program.addCommand(trapCommand());
|
|
@@ -277,8 +297,20 @@ async function main() {
|
|
|
277
297
|
await program.parseAsync();
|
|
278
298
|
}
|
|
279
299
|
}
|
|
280
|
-
main().catch((err) => {
|
|
300
|
+
main().catch(async (err) => {
|
|
281
301
|
console.error('Fatal error:', err instanceof Error ? err.message : err);
|
|
302
|
+
if (process.env['PANGUARD_SENTRY_DSN']) {
|
|
303
|
+
try {
|
|
304
|
+
Sentry.captureException(err, {
|
|
305
|
+
tags: { cli_version: PANGUARD_VERSION, platform: process.platform },
|
|
306
|
+
});
|
|
307
|
+
// Flush queued events before exit; 2s budget then drop.
|
|
308
|
+
await Sentry.close(2000);
|
|
309
|
+
}
|
|
310
|
+
catch {
|
|
311
|
+
// Sentry must never block exit on a CLI error path.
|
|
312
|
+
}
|
|
313
|
+
}
|
|
282
314
|
process.exit(1);
|
|
283
315
|
});
|
|
284
316
|
//# sourceMappingURL=index.js.map
|
package/dist/cli/index.js.map
CHANGED
|
@@ -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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu-defs.d.ts","sourceRoot":"","sources":["../../../src/cli/interactive/menu-defs.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,OAAO;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,SAAS,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"menu-defs.d.ts","sourceRoot":"","sources":["../../../src/cli/interactive/menu-defs.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,OAAO;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,SAAS,EAAE,OAAO,EA2F9B,CAAC"}
|
|
@@ -25,17 +25,6 @@ export const MENU_DEFS = [
|
|
|
25
25
|
tierBadge: '',
|
|
26
26
|
featureKey: 'scan',
|
|
27
27
|
},
|
|
28
|
-
{
|
|
29
|
-
key: 'report',
|
|
30
|
-
icon: '\u25A0',
|
|
31
|
-
number: 2,
|
|
32
|
-
en: 'Compliance Report',
|
|
33
|
-
zh: '\u5408\u898F\u5831\u544A',
|
|
34
|
-
enDesc: 'EU AI Act, NIST AI RMF, ISO/IEC 42001, OWASP, Colorado AI Act — 6 frameworks',
|
|
35
|
-
zhDesc: 'EU AI Act\u3001NIST AI RMF\u3001ISO/IEC 42001\u3001OWASP\u3001Colorado AI Act \u2014 6 \u5927\u6846\u67B6',
|
|
36
|
-
tierBadge: '',
|
|
37
|
-
featureKey: 'report',
|
|
38
|
-
},
|
|
39
28
|
{
|
|
40
29
|
key: 'guard',
|
|
41
30
|
icon: '\u2713',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu-defs.js","sourceRoot":"","sources":["../../../src/cli/interactive/menu-defs.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAcH,MAAM,CAAC,MAAM,SAAS,GAAc;IAClC;QACE,GAAG,EAAE,OAAO;QACZ,IAAI,EAAE,GAAG;QACT,MAAM,EAAE,CAAC;QACT,EAAE,EAAE,cAAc;QAClB,EAAE,EAAE,0BAA0B;QAC9B,MAAM,EAAE,yCAAyC;QACjD,MAAM,EAAE,sFAAsF;QAC9F,SAAS,EAAE,EAAE;QACb,UAAU,EAAE,OAAO;KACpB;IACD;QACE,GAAG,EAAE,MAAM;QACX,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,CAAC;QACT,EAAE,EAAE,eAAe;QACnB,EAAE,EAAE,0BAA0B;QAC9B,MAAM,EAAE,wCAAwC;QAChD,MAAM,EACJ,4FAA4F;QAC9F,SAAS,EAAE,EAAE;QACb,UAAU,EAAE,MAAM;KACnB;IACD;QACE,GAAG,EAAE,
|
|
1
|
+
{"version":3,"file":"menu-defs.js","sourceRoot":"","sources":["../../../src/cli/interactive/menu-defs.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAcH,MAAM,CAAC,MAAM,SAAS,GAAc;IAClC;QACE,GAAG,EAAE,OAAO;QACZ,IAAI,EAAE,GAAG;QACT,MAAM,EAAE,CAAC;QACT,EAAE,EAAE,cAAc;QAClB,EAAE,EAAE,0BAA0B;QAC9B,MAAM,EAAE,yCAAyC;QACjD,MAAM,EAAE,sFAAsF;QAC9F,SAAS,EAAE,EAAE;QACb,UAAU,EAAE,OAAO;KACpB;IACD;QACE,GAAG,EAAE,MAAM;QACX,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,CAAC;QACT,EAAE,EAAE,eAAe;QACnB,EAAE,EAAE,0BAA0B;QAC9B,MAAM,EAAE,wCAAwC;QAChD,MAAM,EACJ,4FAA4F;QAC9F,SAAS,EAAE,EAAE;QACb,UAAU,EAAE,MAAM;KACnB;IACD;QACE,GAAG,EAAE,OAAO;QACZ,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,CAAC;QACT,EAAE,EAAE,cAAc;QAClB,EAAE,EAAE,0BAA0B;QAC9B,MAAM,EAAE,gDAAgD;QACxD,MAAM,EAAE,8DAA8D;QACtE,SAAS,EAAE,EAAE;QACb,UAAU,EAAE,OAAO;KACpB;IACD;QACE,GAAG,EAAE,MAAM;QACX,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,CAAC;QACT,EAAE,EAAE,iBAAiB;QACrB,EAAE,EAAE,0BAA0B;QAC9B,MAAM,EAAE,6EAA6E;QACrF,MAAM,EACJ,0GAA0G;QAC5G,SAAS,EAAE,EAAE;QACb,UAAU,EAAE,MAAM;KACnB;IACD;QACE,GAAG,EAAE,QAAQ;QACb,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,CAAC;QACT,EAAE,EAAE,eAAe;QACnB,EAAE,EAAE,0BAA0B;QAC9B,MAAM,EAAE,gDAAgD;QACxD,MAAM,EAAE,gFAAgF;QACxF,SAAS,EAAE,EAAE;QACb,UAAU,EAAE,QAAQ;KACrB;IACD;QACE,GAAG,EAAE,cAAc;QACnB,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,CAAC;QACT,EAAE,EAAE,cAAc;QAClB,EAAE,EAAE,0BAA0B;QAC9B,MAAM,EAAE,qCAAqC;QAC7C,MAAM,EAAE,sDAAsD;QAC9D,SAAS,EAAE,EAAE;QACb,UAAU,EAAE,cAAc;KAC3B;IACD;QACE,GAAG,EAAE,MAAM;QACX,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,CAAC;QACT,EAAE,EAAE,WAAW;QACf,EAAE,EAAE,0BAA0B;QAC9B,MAAM,EAAE,kCAAkC;QAC1C,MAAM,EAAE,8DAA8D;QACtE,SAAS,EAAE,EAAE;QACb,UAAU,EAAE,MAAM;KACnB;IACD;QACE,GAAG,EAAE,OAAO;QACZ,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,CAAC;QACT,EAAE,EAAE,eAAe;QACnB,EAAE,EAAE,0BAA0B;QAC9B,MAAM,EAAE,2CAA2C;QACnD,MAAM,EAAE,wEAAwE;QAChF,SAAS,EAAE,EAAE;QACb,UAAU,EAAE,OAAO;KACpB;CACF,CAAC"}
|
package/dist/cli/theme.d.ts
CHANGED
|
@@ -9,6 +9,29 @@
|
|
|
9
9
|
import { c, stripAnsi, visLen } from '@panguard-ai/core';
|
|
10
10
|
import type { Tier } from '@panguard-ai/core';
|
|
11
11
|
export declare const BRAND_LOGO: string[];
|
|
12
|
+
/** One-line collective-defense tagline for banners (en / zh). */
|
|
13
|
+
export declare function brandTagline(lang?: 'en' | 'zh-TW'): string;
|
|
14
|
+
/** \u2713 \u2014 safe / done / protected (sage-green). */
|
|
15
|
+
export declare const ok: (s?: string) => string;
|
|
16
|
+
/** \u26a0 \u2014 needs attention / suspicious (caution amber). */
|
|
17
|
+
export declare const warn: (s?: string) => string;
|
|
18
|
+
/** \u2192 \u2014 next step / pointer (sage). */
|
|
19
|
+
export declare const arrow: (s?: string) => string;
|
|
20
|
+
/** \u2717 \u2014 critical / failed (critical red). */
|
|
21
|
+
export declare const fail: (s?: string) => string;
|
|
22
|
+
/** \u25a3 \u2014 the shield: PanGuard is watching (sage). Used for "protecting" lines. */
|
|
23
|
+
export declare const shield: (s?: string) => string;
|
|
24
|
+
/**
|
|
25
|
+
* Brand status marks as a stable map, for callers that prefer lookup style.
|
|
26
|
+
* Mirrors the standalone helpers above \u2014 same glyphs, same colors.
|
|
27
|
+
*/
|
|
28
|
+
export declare const marks: {
|
|
29
|
+
readonly ok: string;
|
|
30
|
+
readonly warn: string;
|
|
31
|
+
readonly arrow: string;
|
|
32
|
+
readonly fail: string;
|
|
33
|
+
readonly shield: string;
|
|
34
|
+
};
|
|
12
35
|
export declare const theme: {
|
|
13
36
|
brand: (text: string) => string;
|
|
14
37
|
brandBold: (s: string) => string;
|
|
@@ -28,5 +51,20 @@ export declare const theme: {
|
|
|
28
51
|
export declare function tierLabel(requiredTier: Tier | string, userTier?: Tier | string): string;
|
|
29
52
|
/** Render the brand logo in sage green */
|
|
30
53
|
export declare function renderLogo(): void;
|
|
54
|
+
export interface ProtectedHeroOpts {
|
|
55
|
+
/** Number of AI tools / platforms being watched. 0 = none detected. */
|
|
56
|
+
toolCount: number;
|
|
57
|
+
/** Live rule count loaded by Guard (read from cache, never hard-coded). */
|
|
58
|
+
ruleCount: number;
|
|
59
|
+
/** Dashboard URL, or null to omit the line. */
|
|
60
|
+
dashboardUrl?: string | null;
|
|
61
|
+
lang?: 'en' | 'zh-TW';
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Build the "✓ You're protected" hero block as ready-to-print lines.
|
|
65
|
+
* Pure: returns strings, caller does the console.log. Keeps copy + the two
|
|
66
|
+
* trust guarantees (detection-only, nothing-leaves-your-machine) in one place.
|
|
67
|
+
*/
|
|
68
|
+
export declare function protectedHero(opts: ProtectedHeroOpts): string[];
|
|
31
69
|
export { c, stripAnsi, visLen };
|
|
32
70
|
//# sourceMappingURL=theme.d.ts.map
|
package/dist/cli/theme.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/cli/theme.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,EAAc,MAAM,mBAAmB,CAAC;AACrE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAK9C,eAAO,MAAM,UAAU,UAItB,CAAC;
|
|
1
|
+
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/cli/theme.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,EAAc,MAAM,mBAAmB,CAAC;AACrE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAK9C,eAAO,MAAM,UAAU,UAItB,CAAC;AAMF,iEAAiE;AACjE,wBAAgB,YAAY,CAAC,IAAI,GAAE,IAAI,GAAG,OAAc,GAAG,MAAM,CAIhE;AAOD,0DAA0D;AAC1D,eAAO,MAAM,EAAE,kBAAmB,MAAmB,CAAC;AACtD,kEAAkE;AAClE,eAAO,MAAM,IAAI,kBAAmB,MAAsB,CAAC;AAC3D,gDAAgD;AAChD,eAAO,MAAM,KAAK,kBAAmB,MAAmB,CAAC;AACzD,sDAAsD;AACtD,eAAO,MAAM,IAAI,kBAAmB,MAAuB,CAAC;AAC5D,0FAA0F;AAC1F,eAAO,MAAM,MAAM,kBAAmB,MAAmB,CAAC;AAE1D;;;GAGG;AACH,eAAO,MAAM,KAAK;;;;;;CAMR,CAAC;AAIX,eAAO,MAAM,KAAK;;mBAGD,MAAM;eAGV,MAAM;;;cAGP,MAAM;;;;kBAQF,MAAM;;;;CAIrB,CAAC;AAeF,mFAAmF;AACnF,wBAAgB,SAAS,CAAC,YAAY,EAAE,IAAI,GAAG,MAAM,EAAE,QAAQ,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAkBvF;AAED,0CAA0C;AAC1C,wBAAgB,UAAU,IAAI,IAAI,CAIjC;AAOD,MAAM,WAAW,iBAAiB;IAChC,uEAAuE;IACvE,SAAS,EAAE,MAAM,CAAC;IAClB,2EAA2E;IAC3E,SAAS,EAAE,MAAM,CAAC;IAClB,+CAA+C;IAC/C,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,IAAI,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC;CACvB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,EAAE,CAmC/D;AAGD,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC"}
|
package/dist/cli/theme.js
CHANGED
|
@@ -14,6 +14,40 @@ export const BRAND_LOGO = [
|
|
|
14
14
|
' \u2588\u2588\u2580\u2580\u2580\u2580 \u2588\u2588\u2580\u2580\u2588\u2588 \u2588\u2588\u2580\u2584\u2588\u2588 \u2588\u2588 \u2580\u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588\u2580\u2580\u2588\u2588 \u2588\u2588\u2588\u2580\u2580 \u2588\u2588 \u2588\u2588 \u2588\u2588\u2580\u2580\u2588\u2588 \u2588\u2588',
|
|
15
15
|
' \u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588\u2584\u2584\u2588\u2588 \u2588\u2588\u2584\u2584\u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588 \u2580\u2588\u2584 \u2588\u2588\u2584\u2584\u2588\u2580 \u2588\u2588 \u2588\u2588 \u2588\u2588',
|
|
16
16
|
];
|
|
17
|
+
// \u2500\u2500 Brand Tagline \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
|
|
18
|
+
// Collective-defense positioning: the logo is three overlapping shields.
|
|
19
|
+
// Each install makes everyone safer. Keep this short \u2014 it's a banner line.
|
|
20
|
+
/** One-line collective-defense tagline for banners (en / zh). */
|
|
21
|
+
export function brandTagline(lang = 'en') {
|
|
22
|
+
return lang === 'zh-TW'
|
|
23
|
+
? 'AI \u4ee3\u7406\u5b89\u5168 \u00b7 \u958b\u653e\u6a19\u6e96 \u00b7 \u96c6\u9ad4\u9632\u79a6'
|
|
24
|
+
: 'AI agent security \u00b7 open \u00b7 collective defense';
|
|
25
|
+
}
|
|
26
|
+
// \u2500\u2500 Clear Status Marks \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
|
|
27
|
+
// Human-readable marks instead of decoded jargon ([~] [#] [!]).
|
|
28
|
+
// \u2713 = good/safe (sage\u00b7green), \u26a0 = needs attention (caution), \u2192 = next step.
|
|
29
|
+
// These wrap a single glyph in brand color; callers add their own spacing.
|
|
30
|
+
/** \u2713 \u2014 safe / done / protected (sage-green). */
|
|
31
|
+
export const ok = (s = '\u2713') => c.safe(s);
|
|
32
|
+
/** \u26a0 \u2014 needs attention / suspicious (caution amber). */
|
|
33
|
+
export const warn = (s = '\u26a0') => c.caution(s);
|
|
34
|
+
/** \u2192 \u2014 next step / pointer (sage). */
|
|
35
|
+
export const arrow = (s = '\u2192') => c.sage(s);
|
|
36
|
+
/** \u2717 \u2014 critical / failed (critical red). */
|
|
37
|
+
export const fail = (s = '\u2717') => c.critical(s);
|
|
38
|
+
/** \u25a3 \u2014 the shield: PanGuard is watching (sage). Used for "protecting" lines. */
|
|
39
|
+
export const shield = (s = '\u25a3') => c.sage(s);
|
|
40
|
+
/**
|
|
41
|
+
* Brand status marks as a stable map, for callers that prefer lookup style.
|
|
42
|
+
* Mirrors the standalone helpers above \u2014 same glyphs, same colors.
|
|
43
|
+
*/
|
|
44
|
+
export const marks = {
|
|
45
|
+
ok: ok(),
|
|
46
|
+
warn: warn(),
|
|
47
|
+
arrow: arrow(),
|
|
48
|
+
fail: fail(),
|
|
49
|
+
shield: shield(),
|
|
50
|
+
};
|
|
17
51
|
// ── Theme Colors ──────────────────────────────────────────────────────
|
|
18
52
|
export const theme = {
|
|
19
53
|
// Brand
|
|
@@ -73,6 +107,46 @@ export function renderLogo() {
|
|
|
73
107
|
console.log(c.sage(line));
|
|
74
108
|
}
|
|
75
109
|
}
|
|
110
|
+
/**
|
|
111
|
+
* Build the "✓ You're protected" hero block as ready-to-print lines.
|
|
112
|
+
* Pure: returns strings, caller does the console.log. Keeps copy + the two
|
|
113
|
+
* trust guarantees (detection-only, nothing-leaves-your-machine) in one place.
|
|
114
|
+
*/
|
|
115
|
+
export function protectedHero(opts) {
|
|
116
|
+
const lang = opts.lang ?? 'en';
|
|
117
|
+
const zh = lang === 'zh-TW';
|
|
118
|
+
const rule = c.bold(c.sage(String(opts.ruleCount)));
|
|
119
|
+
const tool = c.bold(c.sage(String(opts.toolCount)));
|
|
120
|
+
const rule50 = c.dim('─'.repeat(50));
|
|
121
|
+
const lines = [];
|
|
122
|
+
lines.push(` ${rule50}`);
|
|
123
|
+
if (zh) {
|
|
124
|
+
lines.push(` ${ok()} ${c.bold('你已受到保護')}`);
|
|
125
|
+
lines.push(` PanGuard 正在守護 ${tool} 個工具,防範提示注入、工具濫用、`);
|
|
126
|
+
lines.push(` 資料外洩與惡意技能 — 使用 ${rule} 條開放規則。`);
|
|
127
|
+
lines.push(` ${c.dim('僅偵測,不阻擋 — 除非你親自開啟。')}`);
|
|
128
|
+
lines.push(` ${c.dim('任何資料都不會離開這台機器 — 除非你允許。')}`);
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
lines.push(` ${ok()} ${c.bold("You're protected")}`);
|
|
132
|
+
lines.push(` PanGuard is watching ${tool} tools for prompt injection, tool abuse,`);
|
|
133
|
+
lines.push(` data exfiltration, and malicious skills — using ${rule} open rules.`);
|
|
134
|
+
lines.push(` ${c.dim('Detection only. Nothing is blocked unless you turn it on.')}`);
|
|
135
|
+
lines.push(` ${c.dim('Nothing leaves your machine unless you allow it.')}`);
|
|
136
|
+
}
|
|
137
|
+
lines.push('');
|
|
138
|
+
if (opts.dashboardUrl) {
|
|
139
|
+
const dash = zh ? '儀表板' : 'Dashboard';
|
|
140
|
+
const stat = zh ? '狀態' : 'Status';
|
|
141
|
+
lines.push(` ${dash} ${arrow()} ${c.sage(opts.dashboardUrl)} ${stat} ${arrow()} ${c.dim('pga status')}`);
|
|
142
|
+
}
|
|
143
|
+
else {
|
|
144
|
+
const stat = zh ? '狀態' : 'Status';
|
|
145
|
+
lines.push(` ${stat} ${arrow()} ${c.dim('pga status')}`);
|
|
146
|
+
}
|
|
147
|
+
lines.push(` ${rule50}`);
|
|
148
|
+
return lines;
|
|
149
|
+
}
|
|
76
150
|
// Re-export for convenience
|
|
77
151
|
export { c, stripAnsi, visLen };
|
|
78
152
|
//# sourceMappingURL=theme.js.map
|
package/dist/cli/theme.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.js","sourceRoot":"","sources":["../../src/cli/theme.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"theme.js","sourceRoot":"","sources":["../../src/cli/theme.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dynamic ATR rule count for onboarding copy.
|
|
3
|
+
* 動態 ATR 規則數(供 onboarding 文案使用)
|
|
4
|
+
*
|
|
5
|
+
* The community UX requires the rule count to reflect the live ruleset,
|
|
6
|
+
* never a hardcoded number (DESIGN-community-ux 情境 1: "規則數動態,別寫死").
|
|
7
|
+
*
|
|
8
|
+
* Resolution order (truthful, lightweight — no engine import):
|
|
9
|
+
* 1. Threat Cloud cache `uniqueRulesCount` — the live synced count, the same
|
|
10
|
+
* source `pga up` reads. Reflects rules actually loaded by Guard.
|
|
11
|
+
* 2. Bundled rule YAMLs in the `agent-threat-rules` package — the real shipped
|
|
12
|
+
* count, resolved by walking up from this module (mirrors report.ts).
|
|
13
|
+
* 3. `null` — neither available; callers omit the number rather than lie.
|
|
14
|
+
*
|
|
15
|
+
* @module @panguard-ai/panguard/init/rule-count
|
|
16
|
+
*/
|
|
17
|
+
/**
|
|
18
|
+
* Resolve the current ATR rule count for onboarding copy.
|
|
19
|
+
* Returns `null` only when no truthful source is available — callers should
|
|
20
|
+
* phrase copy so the count can be gracefully omitted.
|
|
21
|
+
*/
|
|
22
|
+
export declare function getRuleCount(): number | null;
|
|
23
|
+
//# sourceMappingURL=rule-count.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rule-count.d.ts","sourceRoot":"","sources":["../../src/init/rule-count.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAqFH;;;;GAIG;AACH,wBAAgB,YAAY,IAAI,MAAM,GAAG,IAAI,CAE5C"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dynamic ATR rule count for onboarding copy.
|
|
3
|
+
* 動態 ATR 規則數(供 onboarding 文案使用)
|
|
4
|
+
*
|
|
5
|
+
* The community UX requires the rule count to reflect the live ruleset,
|
|
6
|
+
* never a hardcoded number (DESIGN-community-ux 情境 1: "規則數動態,別寫死").
|
|
7
|
+
*
|
|
8
|
+
* Resolution order (truthful, lightweight — no engine import):
|
|
9
|
+
* 1. Threat Cloud cache `uniqueRulesCount` — the live synced count, the same
|
|
10
|
+
* source `pga up` reads. Reflects rules actually loaded by Guard.
|
|
11
|
+
* 2. Bundled rule YAMLs in the `agent-threat-rules` package — the real shipped
|
|
12
|
+
* count, resolved by walking up from this module (mirrors report.ts).
|
|
13
|
+
* 3. `null` — neither available; callers omit the number rather than lie.
|
|
14
|
+
*
|
|
15
|
+
* @module @panguard-ai/panguard/init/rule-count
|
|
16
|
+
*/
|
|
17
|
+
import { existsSync, readFileSync, readdirSync, statSync } from 'node:fs';
|
|
18
|
+
import { homedir } from 'node:os';
|
|
19
|
+
import { dirname, join, sep } from 'node:path';
|
|
20
|
+
import { fileURLToPath } from 'node:url';
|
|
21
|
+
/** Threat Cloud cache written by Guard once it syncs the live ruleset. */
|
|
22
|
+
function ruleCountFromTcCache() {
|
|
23
|
+
try {
|
|
24
|
+
const cachePath = join(homedir(), '.panguard-guard', 'threat-cloud-cache.json');
|
|
25
|
+
if (!existsSync(cachePath))
|
|
26
|
+
return null;
|
|
27
|
+
const cache = JSON.parse(readFileSync(cachePath, 'utf-8'));
|
|
28
|
+
if (typeof cache.uniqueRulesCount === 'number' && cache.uniqueRulesCount > 0) {
|
|
29
|
+
return cache.uniqueRulesCount;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
catch {
|
|
33
|
+
/* fall through to bundled count */
|
|
34
|
+
}
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Locate the bundled `agent-threat-rules/rules` directory.
|
|
39
|
+
* Walks up from this module's own directory, mirroring report.ts so it works
|
|
40
|
+
* regardless of the customer's cwd (incl. global installs and pnpm layouts).
|
|
41
|
+
*/
|
|
42
|
+
function findBundledRulesDir() {
|
|
43
|
+
const envDir = process.env['PANGUARD_ATR_RULES_DIR'];
|
|
44
|
+
if (envDir && existsSync(envDir) && statSync(envDir).isDirectory()) {
|
|
45
|
+
return envDir;
|
|
46
|
+
}
|
|
47
|
+
try {
|
|
48
|
+
let dir = dirname(fileURLToPath(import.meta.url));
|
|
49
|
+
while (dir !== sep && dir.length > 0) {
|
|
50
|
+
const candidate = join(dir, 'node_modules', 'agent-threat-rules', 'rules');
|
|
51
|
+
if (existsSync(candidate) && statSync(candidate).isDirectory()) {
|
|
52
|
+
return candidate;
|
|
53
|
+
}
|
|
54
|
+
const parent = dirname(dir);
|
|
55
|
+
if (parent === dir)
|
|
56
|
+
break;
|
|
57
|
+
dir = parent;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
catch {
|
|
61
|
+
/* fall through */
|
|
62
|
+
}
|
|
63
|
+
return null;
|
|
64
|
+
}
|
|
65
|
+
/** Count rule YAML files under a directory tree. */
|
|
66
|
+
function countYamlFiles(dir) {
|
|
67
|
+
let count = 0;
|
|
68
|
+
let entries;
|
|
69
|
+
try {
|
|
70
|
+
entries = readdirSync(dir);
|
|
71
|
+
}
|
|
72
|
+
catch {
|
|
73
|
+
return 0;
|
|
74
|
+
}
|
|
75
|
+
for (const entry of entries) {
|
|
76
|
+
const full = join(dir, entry);
|
|
77
|
+
let st;
|
|
78
|
+
try {
|
|
79
|
+
st = statSync(full);
|
|
80
|
+
}
|
|
81
|
+
catch {
|
|
82
|
+
continue;
|
|
83
|
+
}
|
|
84
|
+
if (st.isDirectory()) {
|
|
85
|
+
count += countYamlFiles(full);
|
|
86
|
+
}
|
|
87
|
+
else if (entry.endsWith('.yaml') || entry.endsWith('.yml')) {
|
|
88
|
+
count += 1;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
return count;
|
|
92
|
+
}
|
|
93
|
+
/** Count of bundled rules shipped with the installed `agent-threat-rules`. */
|
|
94
|
+
function ruleCountFromBundle() {
|
|
95
|
+
const rulesDir = findBundledRulesDir();
|
|
96
|
+
if (!rulesDir)
|
|
97
|
+
return null;
|
|
98
|
+
const count = countYamlFiles(rulesDir);
|
|
99
|
+
return count > 0 ? count : null;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Resolve the current ATR rule count for onboarding copy.
|
|
103
|
+
* Returns `null` only when no truthful source is available — callers should
|
|
104
|
+
* phrase copy so the count can be gracefully omitted.
|
|
105
|
+
*/
|
|
106
|
+
export function getRuleCount() {
|
|
107
|
+
return ruleCountFromTcCache() ?? ruleCountFromBundle();
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=rule-count.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rule-count.js","sourceRoot":"","sources":["../../src/init/rule-count.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@panguard-ai/panguard",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.6.1",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -36,24 +36,25 @@
|
|
|
36
36
|
"README.md"
|
|
37
37
|
],
|
|
38
38
|
"dependencies": {
|
|
39
|
+
"@sentry/node": "^8.0.0",
|
|
39
40
|
"commander": "^12.0.0",
|
|
40
41
|
"js-yaml": "^4.1.0",
|
|
41
42
|
"pdfkit": "^0.15.0",
|
|
42
43
|
"zod": "^3.24.0",
|
|
43
|
-
"@panguard-ai/core": "1.
|
|
44
|
-
"@panguard-ai/panguard-
|
|
44
|
+
"@panguard-ai/core": "1.6.1",
|
|
45
|
+
"@panguard-ai/panguard-scan": "1.6.1",
|
|
46
|
+
"@panguard-ai/atr": "1.6.1",
|
|
47
|
+
"@panguard-ai/panguard-chat": "1.6.1",
|
|
48
|
+
"@panguard-ai/panguard-guard": "1.6.1",
|
|
45
49
|
"@panguard-ai/security-hardening": "1.5.6",
|
|
46
|
-
"@panguard-ai/panguard-
|
|
47
|
-
"@panguard-ai/panguard-skill-auditor": "1.
|
|
48
|
-
"@panguard-ai/
|
|
49
|
-
"@panguard-ai/panguard-scan": "1.5.6",
|
|
50
|
-
"@panguard-ai/atr": "1.5.6",
|
|
51
|
-
"@panguard-ai/scan-core": "1.5.6"
|
|
50
|
+
"@panguard-ai/panguard-mcp": "1.6.1",
|
|
51
|
+
"@panguard-ai/panguard-skill-auditor": "1.6.1",
|
|
52
|
+
"@panguard-ai/scan-core": "1.6.1"
|
|
52
53
|
},
|
|
53
54
|
"optionalDependencies": {
|
|
54
|
-
"agent-threat-rules": "^
|
|
55
|
-
"@panguard-ai/threat-cloud": "1.
|
|
56
|
-
"@panguard-ai/panguard-trap": "1.
|
|
55
|
+
"agent-threat-rules": "^3.4.0",
|
|
56
|
+
"@panguard-ai/threat-cloud": "1.6.1",
|
|
57
|
+
"@panguard-ai/panguard-trap": "1.6.1"
|
|
57
58
|
},
|
|
58
59
|
"devDependencies": {
|
|
59
60
|
"@types/js-yaml": "^4.0.9",
|
|
@@ -65,6 +66,7 @@
|
|
|
65
66
|
"build": "tsc --build && cp ../../CHANGELOG.md ./CHANGELOG.md 2>/dev/null || true",
|
|
66
67
|
"clean": "rm -rf dist tsconfig.tsbuildinfo",
|
|
67
68
|
"typecheck": "tsc --noEmit",
|
|
69
|
+
"test": "vitest run",
|
|
68
70
|
"dev": "tsc --build --watch",
|
|
69
71
|
"postinstall": "node -e \"console.log('\\n Panguard AI v' + require('./package.json').version + ' installed.\\n\\n Quick start:\\n pga Open interactive menu\\n pga up Start protection + dashboard\\n pga scan Scan your skills\\n pga audit <dir> Audit a skill before installing\\n\\n First time? Just run: pga\\n')\""
|
|
70
72
|
}
|