@panguard-ai/panguard-guard 1.7.1 → 1.7.2
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/agent/report-agent.d.ts +23 -2
- package/dist/agent/report-agent.d.ts.map +1 -1
- package/dist/agent/report-agent.js +80 -15
- package/dist/agent/report-agent.js.map +1 -1
- package/dist/agent/respond/action-manifest.d.ts +13 -3
- package/dist/agent/respond/action-manifest.d.ts.map +1 -1
- package/dist/agent/respond/action-manifest.js +40 -13
- package/dist/agent/respond/action-manifest.js.map +1 -1
- package/dist/agent/respond-agent.d.ts +1 -1
- package/dist/agent/respond-agent.d.ts.map +1 -1
- package/dist/agent/respond-agent.js +2 -2
- package/dist/agent/respond-agent.js.map +1 -1
- package/dist/audit/attribution.d.ts +51 -0
- package/dist/audit/attribution.d.ts.map +1 -0
- package/dist/audit/attribution.js +69 -0
- package/dist/audit/attribution.js.map +1 -0
- package/dist/audit/audit-chain.d.ts +110 -0
- package/dist/audit/audit-chain.d.ts.map +1 -0
- package/dist/audit/audit-chain.js +316 -0
- package/dist/audit/audit-chain.js.map +1 -0
- package/dist/audit/audit-key.d.ts +27 -0
- package/dist/audit/audit-key.d.ts.map +1 -0
- package/dist/audit/audit-key.js +132 -0
- package/dist/audit/audit-key.js.map +1 -0
- package/dist/audit/hash-chain.d.ts +96 -0
- package/dist/audit/hash-chain.d.ts.map +1 -0
- package/dist/audit/hash-chain.js +176 -0
- package/dist/audit/hash-chain.js.map +1 -0
- package/dist/audit/index.d.ts +15 -0
- package/dist/audit/index.d.ts.map +1 -0
- package/dist/audit/index.js +15 -0
- package/dist/audit/index.js.map +1 -0
- package/dist/cli/index.js +27 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +10 -0
- package/dist/config.js.map +1 -1
- package/dist/dashboard/index.d.ts +26 -5
- package/dist/dashboard/index.d.ts.map +1 -1
- package/dist/dashboard/index.js +186 -43
- package/dist/dashboard/index.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/integrity.d.ts +80 -0
- package/dist/integrity.d.ts.map +1 -0
- package/dist/integrity.js +208 -0
- package/dist/integrity.js.map +1 -0
- package/dist/rule-loader.d.ts.map +1 -1
- package/dist/rule-loader.js +8 -2
- package/dist/rule-loader.js.map +1 -1
- package/package.json +12 -8
package/dist/index.d.ts
CHANGED
|
@@ -11,6 +11,8 @@
|
|
|
11
11
|
/** Package version / 套件版本 */
|
|
12
12
|
export declare const PANGUARD_GUARD_VERSION: string;
|
|
13
13
|
export declare const CLAWGUARD_NAME = "PanguardGuard";
|
|
14
|
+
export { verifyConfigIntegrity, checkSelfState, sealConfigManifest, manifestPath, wasInitialized, } from './integrity.js';
|
|
15
|
+
export type { IntegrityVerdict, IntegrityFinding, SelfStateVerdict, SelfStateFinding, SelfStateRef, IntegrityStatus, } from './integrity.js';
|
|
14
16
|
export type { InvestigationTool, InvestigationStep, InvestigationResult, InvestigationPlan, EvidenceSource, Evidence, ResponseAction, ThreatVerdict, ActionPolicy, ProcessPattern, ConnectionPattern, LoginPattern, PortPattern, EnvironmentBaseline, DeviationResult, CorrelationPatternType, CorrelationEvent, CorrelationPattern, CorrelationResult, DetectionResult, ResponseResult, TelegramConfig, SlackConfig, EmailConfig, NotificationConfig, NotificationResult, AnonymizedThreatData, ThreatCloudUpdate, ThreatCloudStatus, LicenseTier, LicenseInfo, LLMAnalysisResult, LLMClassificationResult, AnalyzeLLM, DashboardStatus, DashboardEvent, ThreatMapEntry, GuardMode, GuardConfig, GuardStatus, } from './types.js';
|
|
15
17
|
export { DEFAULT_ACTION_POLICY, TIER_FEATURES } from './types.js';
|
|
16
18
|
export { loadConfig, saveConfig, ensureDataDir, DEFAULT_DATA_DIR, DEFAULT_GUARD_CONFIG, } from './config.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -14,6 +14,8 @@ const _pkg = _require('../package.json');
|
|
|
14
14
|
/** Package version / 套件版本 */
|
|
15
15
|
export const PANGUARD_GUARD_VERSION = _pkg.version;
|
|
16
16
|
export const CLAWGUARD_NAME = 'PanguardGuard';
|
|
17
|
+
// S5: config-integrity + self-removal detection API (consumed by `pga doctor`).
|
|
18
|
+
export { verifyConfigIntegrity, checkSelfState, sealConfigManifest, manifestPath, wasInitialized, } from './integrity.js';
|
|
17
19
|
export { DEFAULT_ACTION_POLICY, TIER_FEATURES } from './types.js';
|
|
18
20
|
// Config / 配置
|
|
19
21
|
export { loadConfig, saveConfig, ensureDataDir, DEFAULT_DATA_DIR, DEFAULT_GUARD_CONFIG, } from './config.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAChD,MAAM,IAAI,GAAG,QAAQ,CAAC,iBAAiB,CAAwB,CAAC;AAEhE,6BAA6B;AAC7B,MAAM,CAAC,MAAM,sBAAsB,GAAW,IAAI,CAAC,OAAO,CAAC;AAC3D,MAAM,CAAC,MAAM,cAAc,GAAG,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Config integrity + self-removal detection (S5).
|
|
3
|
+
*
|
|
4
|
+
* Tamper-EVIDENCE, not tamper-PREVENTION. A same-privilege local attacker can
|
|
5
|
+
* recompute the machine-derived HMAC key and re-seal a tampered config, so this
|
|
6
|
+
* does NOT stop a targeted attacker. What it DOES catch — turning every case from
|
|
7
|
+
* SILENT to LOUD-and-honest (preserving the S2 honest-status invariant):
|
|
8
|
+
* - accidental config corruption,
|
|
9
|
+
* - unsophisticated/automated tampering (a malicious skill that edits
|
|
10
|
+
* config.json to weaken protection but does not know to re-HMAC the manifest),
|
|
11
|
+
* - anything that changes the config without also rewriting the sealed manifest,
|
|
12
|
+
* - removal/disabling of the guard's own LaunchAgent / hooks / proxy injection
|
|
13
|
+
* (verified by re-checking the presence + content-marker of recorded paths).
|
|
14
|
+
*
|
|
15
|
+
* A real trust root (a key a same-user attacker cannot read — Secure Enclave /
|
|
16
|
+
* keychain ACL, or a server-side seal) is out of scope for the free CLI and noted
|
|
17
|
+
* as future work. Do NOT describe this as "cryptographically protected config";
|
|
18
|
+
* it is "tamper-evident: detects unauthorized changes the guard did not make".
|
|
19
|
+
*
|
|
20
|
+
* @module @panguard-ai/panguard-guard/integrity
|
|
21
|
+
*/
|
|
22
|
+
/** Config fields whose silent change weakens protection — the integrity-watched set. */
|
|
23
|
+
export declare const SECURITY_FIELDS: readonly ["mode", "enforcementPolicy", "threatCloudEndpoint", "threatCloudRuleSyncEnabled", "dashboardEnabled", "telemetryEnabled", "trustedSkills"];
|
|
24
|
+
/** A guard-owned artifact whose presence (and optional content marker) proves the
|
|
25
|
+
* guard has not been silently removed. Recorded at seal time by the installer. */
|
|
26
|
+
export interface SelfStateRef {
|
|
27
|
+
readonly kind: 'launchagent' | 'hook' | 'proxy';
|
|
28
|
+
readonly path: string;
|
|
29
|
+
/** If set, the file must still CONTAIN this substring (e.g. the injected hook command). */
|
|
30
|
+
readonly marker?: string;
|
|
31
|
+
readonly label?: string;
|
|
32
|
+
}
|
|
33
|
+
export interface IntegrityFinding {
|
|
34
|
+
readonly field: string;
|
|
35
|
+
readonly was: unknown;
|
|
36
|
+
readonly now: unknown;
|
|
37
|
+
readonly severity: 'critical' | 'warn';
|
|
38
|
+
}
|
|
39
|
+
export interface SelfStateFinding {
|
|
40
|
+
readonly kind: string;
|
|
41
|
+
readonly path: string;
|
|
42
|
+
readonly label?: string;
|
|
43
|
+
readonly reason: 'missing' | 'marker-gone';
|
|
44
|
+
}
|
|
45
|
+
export type IntegrityStatus = 'sealed' | 'tampered' | 'unsealed' | 'manifest-tampered';
|
|
46
|
+
export interface IntegrityVerdict {
|
|
47
|
+
readonly status: IntegrityStatus;
|
|
48
|
+
readonly findings: IntegrityFinding[];
|
|
49
|
+
readonly checkedAt: string;
|
|
50
|
+
}
|
|
51
|
+
export interface SelfStateVerdict {
|
|
52
|
+
readonly ok: boolean;
|
|
53
|
+
readonly findings: SelfStateFinding[];
|
|
54
|
+
}
|
|
55
|
+
/** Where the sealed manifest lives (0600), next to the config. */
|
|
56
|
+
export declare function manifestPath(dataDir: string): string;
|
|
57
|
+
export declare function wasInitialized(dataDir: string): boolean;
|
|
58
|
+
/**
|
|
59
|
+
* Seal the current config + self-state into the manifest (atomic, 0600). Call this
|
|
60
|
+
* at the END of every LEGITIMATE config write / install so a user's own change
|
|
61
|
+
* re-establishes trust instead of looking like tampering.
|
|
62
|
+
*/
|
|
63
|
+
export declare function sealConfigManifest(config: Record<string, unknown>, selfState: SelfStateRef[], dataDir: string): void;
|
|
64
|
+
/**
|
|
65
|
+
* Verify the config against its sealed manifest. Never throws.
|
|
66
|
+
* - no manifest → 'unsealed' (trust not yet established)
|
|
67
|
+
* - outer mac bad → 'manifest-tampered' (the seal itself was rewritten)
|
|
68
|
+
* - config hmac differs→ 'tampered' (+ the specific security-field deltas)
|
|
69
|
+
* - all match → 'sealed'
|
|
70
|
+
*/
|
|
71
|
+
export declare function verifyConfigIntegrity(config: Record<string, unknown>, dataDir: string): IntegrityVerdict;
|
|
72
|
+
/**
|
|
73
|
+
* Re-check that every guard-owned artifact recorded at seal time is still present
|
|
74
|
+
* (and still contains its content marker). Detects silent removal of the
|
|
75
|
+
* LaunchAgent / hooks / proxy injection. Never throws.
|
|
76
|
+
*/
|
|
77
|
+
export declare function checkSelfState(dataDir: string): SelfStateVerdict;
|
|
78
|
+
/** Read the self-state refs recorded in the manifest (for re-sealing after a change). */
|
|
79
|
+
export declare function readSelfStateRefs(dataDir: string): SelfStateRef[];
|
|
80
|
+
//# sourceMappingURL=integrity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"integrity.d.ts","sourceRoot":"","sources":["../src/integrity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAOH,wFAAwF;AACxF,eAAO,MAAM,eAAe,sJAQlB,CAAC;AAUX;mFACmF;AACnF,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,GAAG,OAAO,CAAC;IAChD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,2FAA2F;IAC3F,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,UAAU,GAAG,MAAM,CAAC;CACxC;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,aAAa,CAAC;CAC5C;AAED,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,UAAU,GAAG,UAAU,GAAG,mBAAmB,CAAC;AAEvF,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,EAAE,CAAC;CACvC;AAkDD,kEAAkE;AAClE,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEpD;AAYD,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,SAAS,EAAE,YAAY,EAAE,EACzB,OAAO,EAAE,MAAM,GACd,IAAI,CAqBN;AAYD;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,OAAO,EAAE,MAAM,GACd,gBAAgB,CAuBlB;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,CAsBhE;AAED,yFAAyF;AACzF,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,EAAE,CAIjE"}
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Config integrity + self-removal detection (S5).
|
|
3
|
+
*
|
|
4
|
+
* Tamper-EVIDENCE, not tamper-PREVENTION. A same-privilege local attacker can
|
|
5
|
+
* recompute the machine-derived HMAC key and re-seal a tampered config, so this
|
|
6
|
+
* does NOT stop a targeted attacker. What it DOES catch — turning every case from
|
|
7
|
+
* SILENT to LOUD-and-honest (preserving the S2 honest-status invariant):
|
|
8
|
+
* - accidental config corruption,
|
|
9
|
+
* - unsophisticated/automated tampering (a malicious skill that edits
|
|
10
|
+
* config.json to weaken protection but does not know to re-HMAC the manifest),
|
|
11
|
+
* - anything that changes the config without also rewriting the sealed manifest,
|
|
12
|
+
* - removal/disabling of the guard's own LaunchAgent / hooks / proxy injection
|
|
13
|
+
* (verified by re-checking the presence + content-marker of recorded paths).
|
|
14
|
+
*
|
|
15
|
+
* A real trust root (a key a same-user attacker cannot read — Secure Enclave /
|
|
16
|
+
* keychain ACL, or a server-side seal) is out of scope for the free CLI and noted
|
|
17
|
+
* as future work. Do NOT describe this as "cryptographically protected config";
|
|
18
|
+
* it is "tamper-evident: detects unauthorized changes the guard did not make".
|
|
19
|
+
*
|
|
20
|
+
* @module @panguard-ai/panguard-guard/integrity
|
|
21
|
+
*/
|
|
22
|
+
import { createHash, createHmac, timingSafeEqual } from 'node:crypto';
|
|
23
|
+
import { existsSync, readFileSync, writeFileSync, mkdirSync, renameSync } from 'node:fs';
|
|
24
|
+
import { join, dirname } from 'node:path';
|
|
25
|
+
import { hostname, userInfo } from 'node:os';
|
|
26
|
+
/** Config fields whose silent change weakens protection — the integrity-watched set. */
|
|
27
|
+
export const SECURITY_FIELDS = [
|
|
28
|
+
'mode',
|
|
29
|
+
'enforcementPolicy',
|
|
30
|
+
'threatCloudEndpoint',
|
|
31
|
+
'threatCloudRuleSyncEnabled',
|
|
32
|
+
'dashboardEnabled',
|
|
33
|
+
'telemetryEnabled',
|
|
34
|
+
'trustedSkills',
|
|
35
|
+
];
|
|
36
|
+
const CRITICAL_FIELDS = new Set([
|
|
37
|
+
'mode',
|
|
38
|
+
'enforcementPolicy',
|
|
39
|
+
'threatCloudEndpoint',
|
|
40
|
+
'threatCloudRuleSyncEnabled',
|
|
41
|
+
'trustedSkills',
|
|
42
|
+
]);
|
|
43
|
+
/**
|
|
44
|
+
* Machine-bound HMAC key = sha256(hostname + username + 'panguard-ai'). Deterministic
|
|
45
|
+
* per host/user so the seal verifies across runs without storing a key file. HONEST
|
|
46
|
+
* LIMIT: a same-user attacker can recompute this — see the module header.
|
|
47
|
+
*/
|
|
48
|
+
function deriveMachineKey() {
|
|
49
|
+
return createHash('sha256').update(`${hostname()}\n${userInfo().username}\npanguard-ai`).digest();
|
|
50
|
+
}
|
|
51
|
+
/** Deterministic JSON with RECURSIVELY sorted keys, so the HMAC is order-stable. */
|
|
52
|
+
function canonical(v) {
|
|
53
|
+
if (v === null || v === undefined)
|
|
54
|
+
return 'null';
|
|
55
|
+
if (typeof v !== 'object')
|
|
56
|
+
return JSON.stringify(v);
|
|
57
|
+
if (Array.isArray(v))
|
|
58
|
+
return '[' + v.map(canonical).join(',') + ']';
|
|
59
|
+
const o = v;
|
|
60
|
+
const keys = Object.keys(o).sort();
|
|
61
|
+
return '{' + keys.map((k) => JSON.stringify(k) + ':' + canonical(o[k])).join(',') + '}';
|
|
62
|
+
}
|
|
63
|
+
function hmacHex(data) {
|
|
64
|
+
return createHmac('sha256', deriveMachineKey()).update(data).digest('hex');
|
|
65
|
+
}
|
|
66
|
+
function safeEqHex(a, b) {
|
|
67
|
+
const ab = Buffer.from(a, 'utf8');
|
|
68
|
+
const bb = Buffer.from(b, 'utf8');
|
|
69
|
+
if (ab.length !== bb.length)
|
|
70
|
+
return false;
|
|
71
|
+
return timingSafeEqual(ab, bb);
|
|
72
|
+
}
|
|
73
|
+
function nowIso() {
|
|
74
|
+
return new Date().toISOString();
|
|
75
|
+
}
|
|
76
|
+
function securitySnapshot(config) {
|
|
77
|
+
const snap = {};
|
|
78
|
+
for (const f of SECURITY_FIELDS)
|
|
79
|
+
snap[f] = config[f];
|
|
80
|
+
return snap;
|
|
81
|
+
}
|
|
82
|
+
/** Where the sealed manifest lives (0600), next to the config. */
|
|
83
|
+
export function manifestPath(dataDir) {
|
|
84
|
+
return join(dataDir, 'config.manifest.json');
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Durable breadcrumb proving the guard sealed at least once. Lets the start path
|
|
88
|
+
* distinguish a TRUE first run (no breadcrumb → safe to auto-seal) from a manifest
|
|
89
|
+
* that was DELETED after a prior seal (breadcrumb present → suspicious; do NOT
|
|
90
|
+
* silently re-seal a possibly-tampered config).
|
|
91
|
+
*/
|
|
92
|
+
function initMarkerPath(dataDir) {
|
|
93
|
+
return join(dataDir, '.integrity-initialized');
|
|
94
|
+
}
|
|
95
|
+
export function wasInitialized(dataDir) {
|
|
96
|
+
return existsSync(initMarkerPath(dataDir));
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Seal the current config + self-state into the manifest (atomic, 0600). Call this
|
|
100
|
+
* at the END of every LEGITIMATE config write / install so a user's own change
|
|
101
|
+
* re-establishes trust instead of looking like tampering.
|
|
102
|
+
*/
|
|
103
|
+
export function sealConfigManifest(config, selfState, dataDir) {
|
|
104
|
+
const inner = {
|
|
105
|
+
version: 1,
|
|
106
|
+
sealedAt: nowIso(),
|
|
107
|
+
alg: 'hmac-sha256',
|
|
108
|
+
config: { sha256: hmacHex(canonical(config)), securityFields: securitySnapshot(config) },
|
|
109
|
+
selfState,
|
|
110
|
+
};
|
|
111
|
+
const mac = hmacHex(canonical(inner));
|
|
112
|
+
const path = manifestPath(dataDir);
|
|
113
|
+
mkdirSync(dirname(path), { recursive: true, mode: 0o700 });
|
|
114
|
+
const tmp = `${path}.tmp`;
|
|
115
|
+
writeFileSync(tmp, JSON.stringify({ ...inner, mac }, null, 2), { mode: 0o600 });
|
|
116
|
+
renameSync(tmp, path);
|
|
117
|
+
// Durable "has been sealed" breadcrumb (best-effort) so a later manifest deletion
|
|
118
|
+
// is distinguishable from a genuine first run.
|
|
119
|
+
try {
|
|
120
|
+
writeFileSync(initMarkerPath(dataDir), inner.sealedAt, { mode: 0o600 });
|
|
121
|
+
}
|
|
122
|
+
catch {
|
|
123
|
+
/* best-effort breadcrumb */
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
function readManifest(dataDir) {
|
|
127
|
+
const path = manifestPath(dataDir);
|
|
128
|
+
if (!existsSync(path))
|
|
129
|
+
return 'absent';
|
|
130
|
+
try {
|
|
131
|
+
return JSON.parse(readFileSync(path, 'utf-8'));
|
|
132
|
+
}
|
|
133
|
+
catch {
|
|
134
|
+
return 'unreadable';
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Verify the config against its sealed manifest. Never throws.
|
|
139
|
+
* - no manifest → 'unsealed' (trust not yet established)
|
|
140
|
+
* - outer mac bad → 'manifest-tampered' (the seal itself was rewritten)
|
|
141
|
+
* - config hmac differs→ 'tampered' (+ the specific security-field deltas)
|
|
142
|
+
* - all match → 'sealed'
|
|
143
|
+
*/
|
|
144
|
+
export function verifyConfigIntegrity(config, dataDir) {
|
|
145
|
+
const checkedAt = nowIso();
|
|
146
|
+
const m = readManifest(dataDir);
|
|
147
|
+
if (m === 'absent')
|
|
148
|
+
return { status: 'unsealed', findings: [], checkedAt };
|
|
149
|
+
if (m === 'unreadable')
|
|
150
|
+
return { status: 'manifest-tampered', findings: [], checkedAt };
|
|
151
|
+
const { mac, ...inner } = m;
|
|
152
|
+
if (typeof mac !== 'string' || !safeEqHex(mac, hmacHex(canonical(inner)))) {
|
|
153
|
+
return { status: 'manifest-tampered', findings: [], checkedAt };
|
|
154
|
+
}
|
|
155
|
+
const expected = inner.config?.sha256;
|
|
156
|
+
if (typeof expected !== 'string' || !safeEqHex(expected, hmacHex(canonical(config)))) {
|
|
157
|
+
const sealed = inner.config?.securityFields ?? {};
|
|
158
|
+
const findings = [];
|
|
159
|
+
for (const f of SECURITY_FIELDS) {
|
|
160
|
+
const was = sealed[f];
|
|
161
|
+
const now = config[f];
|
|
162
|
+
if (canonical(was) !== canonical(now)) {
|
|
163
|
+
findings.push({ field: f, was, now, severity: CRITICAL_FIELDS.has(f) ? 'critical' : 'warn' });
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
return { status: 'tampered', findings, checkedAt };
|
|
167
|
+
}
|
|
168
|
+
return { status: 'sealed', findings: [], checkedAt };
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Re-check that every guard-owned artifact recorded at seal time is still present
|
|
172
|
+
* (and still contains its content marker). Detects silent removal of the
|
|
173
|
+
* LaunchAgent / hooks / proxy injection. Never throws.
|
|
174
|
+
*/
|
|
175
|
+
export function checkSelfState(dataDir) {
|
|
176
|
+
const m = readManifest(dataDir);
|
|
177
|
+
if (m === 'absent' || m === 'unreadable')
|
|
178
|
+
return { ok: true, findings: [] };
|
|
179
|
+
const refs = Array.isArray(m.selfState) ? m.selfState : [];
|
|
180
|
+
const findings = [];
|
|
181
|
+
for (const r of refs) {
|
|
182
|
+
if (!r || typeof r.path !== 'string')
|
|
183
|
+
continue;
|
|
184
|
+
if (!existsSync(r.path)) {
|
|
185
|
+
findings.push({ kind: r.kind, path: r.path, label: r.label, reason: 'missing' });
|
|
186
|
+
continue;
|
|
187
|
+
}
|
|
188
|
+
if (r.marker) {
|
|
189
|
+
try {
|
|
190
|
+
if (!readFileSync(r.path, 'utf-8').includes(r.marker)) {
|
|
191
|
+
findings.push({ kind: r.kind, path: r.path, label: r.label, reason: 'marker-gone' });
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
catch {
|
|
195
|
+
findings.push({ kind: r.kind, path: r.path, label: r.label, reason: 'missing' });
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
return { ok: findings.length === 0, findings };
|
|
200
|
+
}
|
|
201
|
+
/** Read the self-state refs recorded in the manifest (for re-sealing after a change). */
|
|
202
|
+
export function readSelfStateRefs(dataDir) {
|
|
203
|
+
const m = readManifest(dataDir);
|
|
204
|
+
if (m === 'absent' || m === 'unreadable')
|
|
205
|
+
return [];
|
|
206
|
+
return Array.isArray(m.selfState) ? m.selfState : [];
|
|
207
|
+
}
|
|
208
|
+
//# sourceMappingURL=integrity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"integrity.js","sourceRoot":"","sources":["../src/integrity.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rule-loader.d.ts","sourceRoot":"","sources":["../src/rule-loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,EAEL,sBAAsB,EAEtB,WAAW,EACX,kBAAkB,EACnB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAGvE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"rule-loader.d.ts","sourceRoot":"","sources":["../src/rule-loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,EAEL,sBAAsB,EAEtB,WAAW,EACX,kBAAkB,EACnB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAGvE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGxF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAG5D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAStD,oDAAoD;AACpD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;IACnC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;IAClD,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAC;IACxC,QAAQ,CAAC,WAAW,EAAE,sBAAsB,CAAC;IAC7C,QAAQ,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;IACzC,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACvD,QAAQ,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,OAAO,YAAY,EAAE,mBAAmB,CAAC;IAC5D,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,WAAW,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;CAC3D;AAsBD;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,MAAM,EAAE,WAAW,EACnB,GAAG,EAAE,UAAU,GAAG,IAAI,GACrB,OAAO,CAAC,iBAAiB,CAAC,CAsL5B;AAED;;;GAGG;AACH;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,OAAO,CAcV;AAED,wBAAsB,YAAY,CAChC,SAAS,EAAE,cAAc,EACzB,WAAW,EAAE,iBAAiB,EAC9B,WAAW,EAAE,sBAAsB,EACnC,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,IAAI,CAAC,CA0Gf;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,cAAc,GAAG;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,CAIxE"}
|
package/dist/rule-loader.js
CHANGED
|
@@ -14,6 +14,7 @@ import { createPublicKey, verify as edVerify } from 'node:crypto';
|
|
|
14
14
|
import { createLogger, ThreatIntelFeedManager, setFeedManager, SmartRouter, KnowledgeDistiller, } from '@panguard-ai/core';
|
|
15
15
|
import { TIER_FEATURES } from './types.js';
|
|
16
16
|
import { DetectAgent, AnalyzeAgent, RespondAgent, ReportAgent } from './agent/index.js';
|
|
17
|
+
import { getAuditKey } from './audit/index.js';
|
|
17
18
|
import { loadBaseline } from './memory/index.js';
|
|
18
19
|
import { InvestigationEngine } from './investigation/index.js';
|
|
19
20
|
import { ThreatCloudClient } from './threat-cloud/index.js';
|
|
@@ -119,10 +120,15 @@ export async function initEngines(config, llm) {
|
|
|
119
120
|
},
|
|
120
121
|
});
|
|
121
122
|
}
|
|
123
|
+
// Resolve the tamper-evident audit HMAC key once (keychain-first, file
|
|
124
|
+
// fallback). getAuditKey never throws; on total failure it yields an in-memory
|
|
125
|
+
// key so audit signing still works for the life of the process. Shared by the
|
|
126
|
+
// action-manifest chain (RespondAgent) and the events chain (ReportAgent).
|
|
127
|
+
const auditKey = await getAuditKey();
|
|
122
128
|
// EnforcementPolicy: take from config or fall back to the conservative
|
|
123
129
|
// DEFAULT_ENFORCEMENT_POLICY (all OS actions OFF) defined in safety-rules.ts.
|
|
124
130
|
// Operators must explicitly opt in to enforcement via GuardConfig.enforcementPolicy.
|
|
125
|
-
const respondAgent = new RespondAgent(config.actionPolicy, config.mode, [], config.dataDir, config.enforcementPolicy);
|
|
131
|
+
const respondAgent = new RespondAgent(config.actionPolicy, config.mode, [], config.dataDir, config.enforcementPolicy, auditKey);
|
|
126
132
|
respondAgent.setWhitelistManager(atrEngine.getWhitelistManager());
|
|
127
133
|
try {
|
|
128
134
|
const playbookEngine = new PlaybookEngine();
|
|
@@ -143,7 +149,7 @@ export async function initEngines(config, llm) {
|
|
|
143
149
|
logger.warn(`PlaybookEngine initialization failed, continuing without playbooks: ${msg} / ` +
|
|
144
150
|
`PlaybookEngine 初始化失敗,將在無劇本的情況下繼續: ${msg}`);
|
|
145
151
|
}
|
|
146
|
-
const reportAgent = new ReportAgent(join(config.dataDir, 'events.jsonl'), config.mode);
|
|
152
|
+
const reportAgent = new ReportAgent(join(config.dataDir, 'events.jsonl'), config.mode, undefined, auditKey);
|
|
147
153
|
const investigationEngine = new InvestigationEngine(baseline);
|
|
148
154
|
// Auto-provision TC client key so a fresh `pga up` becomes a Threat Cloud sensor
|
|
149
155
|
// without requiring the user to pre-configure an API key. If the endpoint is
|
package/dist/rule-loader.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rule-loader.js","sourceRoot":"","sources":["../src/rule-loader.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"rule-loader.js","sourceRoot":"","sources":["../src/rule-loader.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@panguard-ai/panguard-guard",
|
|
3
|
-
"version": "1.7.
|
|
3
|
+
"version": "1.7.2",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -15,6 +15,10 @@
|
|
|
15
15
|
".": {
|
|
16
16
|
"import": "./dist/index.js",
|
|
17
17
|
"types": "./dist/index.d.ts"
|
|
18
|
+
},
|
|
19
|
+
"./audit": {
|
|
20
|
+
"import": "./dist/audit/index.js",
|
|
21
|
+
"types": "./dist/audit/index.d.ts"
|
|
18
22
|
}
|
|
19
23
|
},
|
|
20
24
|
"bin": {
|
|
@@ -38,13 +42,13 @@
|
|
|
38
42
|
"js-yaml": "^4.1.0",
|
|
39
43
|
"ws": "^8.21.0",
|
|
40
44
|
"zod": "^3.24.0",
|
|
41
|
-
"@panguard-ai/atr": "1.7.
|
|
42
|
-
"@panguard-ai/panguard-mcp": "1.7.
|
|
43
|
-
"@panguard-ai/
|
|
44
|
-
"@panguard-ai/
|
|
45
|
-
"@panguard-ai/
|
|
46
|
-
"@panguard-ai/panguard-
|
|
47
|
-
"@panguard-ai/
|
|
45
|
+
"@panguard-ai/atr": "1.7.2",
|
|
46
|
+
"@panguard-ai/panguard-mcp": "1.7.2",
|
|
47
|
+
"@panguard-ai/core": "1.7.2",
|
|
48
|
+
"@panguard-ai/scan-core": "1.7.2",
|
|
49
|
+
"@panguard-ai/panguard-skill-auditor": "1.7.2",
|
|
50
|
+
"@panguard-ai/panguard-trap": "1.7.2",
|
|
51
|
+
"@panguard-ai/security-hardening": "1.7.2"
|
|
48
52
|
},
|
|
49
53
|
"devDependencies": {
|
|
50
54
|
"@types/js-yaml": "^4.0.9",
|