@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.
Files changed (53) hide show
  1. package/dist/agent/report-agent.d.ts +23 -2
  2. package/dist/agent/report-agent.d.ts.map +1 -1
  3. package/dist/agent/report-agent.js +80 -15
  4. package/dist/agent/report-agent.js.map +1 -1
  5. package/dist/agent/respond/action-manifest.d.ts +13 -3
  6. package/dist/agent/respond/action-manifest.d.ts.map +1 -1
  7. package/dist/agent/respond/action-manifest.js +40 -13
  8. package/dist/agent/respond/action-manifest.js.map +1 -1
  9. package/dist/agent/respond-agent.d.ts +1 -1
  10. package/dist/agent/respond-agent.d.ts.map +1 -1
  11. package/dist/agent/respond-agent.js +2 -2
  12. package/dist/agent/respond-agent.js.map +1 -1
  13. package/dist/audit/attribution.d.ts +51 -0
  14. package/dist/audit/attribution.d.ts.map +1 -0
  15. package/dist/audit/attribution.js +69 -0
  16. package/dist/audit/attribution.js.map +1 -0
  17. package/dist/audit/audit-chain.d.ts +110 -0
  18. package/dist/audit/audit-chain.d.ts.map +1 -0
  19. package/dist/audit/audit-chain.js +316 -0
  20. package/dist/audit/audit-chain.js.map +1 -0
  21. package/dist/audit/audit-key.d.ts +27 -0
  22. package/dist/audit/audit-key.d.ts.map +1 -0
  23. package/dist/audit/audit-key.js +132 -0
  24. package/dist/audit/audit-key.js.map +1 -0
  25. package/dist/audit/hash-chain.d.ts +96 -0
  26. package/dist/audit/hash-chain.d.ts.map +1 -0
  27. package/dist/audit/hash-chain.js +176 -0
  28. package/dist/audit/hash-chain.js.map +1 -0
  29. package/dist/audit/index.d.ts +15 -0
  30. package/dist/audit/index.d.ts.map +1 -0
  31. package/dist/audit/index.js +15 -0
  32. package/dist/audit/index.js.map +1 -0
  33. package/dist/cli/index.js +27 -0
  34. package/dist/cli/index.js.map +1 -1
  35. package/dist/config.d.ts.map +1 -1
  36. package/dist/config.js +10 -0
  37. package/dist/config.js.map +1 -1
  38. package/dist/dashboard/index.d.ts +26 -5
  39. package/dist/dashboard/index.d.ts.map +1 -1
  40. package/dist/dashboard/index.js +186 -43
  41. package/dist/dashboard/index.js.map +1 -1
  42. package/dist/index.d.ts +2 -0
  43. package/dist/index.d.ts.map +1 -1
  44. package/dist/index.js +2 -0
  45. package/dist/index.js.map +1 -1
  46. package/dist/integrity.d.ts +80 -0
  47. package/dist/integrity.d.ts.map +1 -0
  48. package/dist/integrity.js +208 -0
  49. package/dist/integrity.js.map +1 -0
  50. package/dist/rule-loader.d.ts.map +1 -1
  51. package/dist/rule-loader.js +8 -2
  52. package/dist/rule-loader.js.map +1 -1
  53. package/package.json +12 -8
@@ -10,12 +10,19 @@
10
10
  */
11
11
  import type { SecurityEvent } from '@panguard-ai/core';
12
12
  import type { ThreatVerdict, ResponseResult, EnvironmentBaseline, AnonymizedThreatData, GuardMode } from '../types.js';
13
- /** Full report record written to JSONL */
13
+ import { AuditChain, type Actor, type RuleRef, type VerifyResult } from '../audit/index.js';
14
+ /** Full report record written to JSONL (payload inside the tamper-evident chain). */
14
15
  export interface ReportRecord {
15
16
  event: SecurityEvent;
16
17
  verdict: ThreatVerdict;
17
18
  response: ResponseResult;
18
19
  timestamp: string;
20
+ /** Forensic attribution (who/where) — back-compat optional. */
21
+ actor?: Actor;
22
+ /** Correlates this record across the pipeline — back-compat optional. */
23
+ decisionId?: string;
24
+ /** Lifted rule identity from verdict.evidence — back-compat optional. */
25
+ rule?: RuleRef;
19
26
  }
20
27
  /** Daily/weekly summary structure */
21
28
  export interface ReportSummary {
@@ -58,7 +65,14 @@ export declare class ReportAgent {
58
65
  private mode;
59
66
  private reportCount;
60
67
  private readonly rotation;
61
- constructor(logPath: string, mode: GuardMode, rotation?: Partial<RotationConfig>);
68
+ /**
69
+ * Tamper-evident chain over events.jsonl. The head-anchor lives at
70
+ * <dataDir>/chainHead.json (rotation-independent) so the chain SPANS rotation:
71
+ * after the active file is rotated out, the next file's first record links to
72
+ * the rotated-out file's last hash (carried in the head-anchor).
73
+ */
74
+ private readonly chain;
75
+ constructor(logPath: string, mode: GuardMode, rotation?: Partial<RotationConfig>, auditKey?: Buffer);
62
76
  /** Update operating mode */
63
77
  setMode(mode: GuardMode): void;
64
78
  /**
@@ -80,6 +94,13 @@ export declare class ReportAgent {
80
94
  */
81
95
  private enforceRetention;
82
96
  private appendLog;
97
+ /**
98
+ * Verify the durable events.jsonl chain end-to-end (spans rotated files).
99
+ * Returns the chain verdict an auditor / the dashboard export embeds.
100
+ */
101
+ verify(): Promise<VerifyResult>;
102
+ /** Expose the chain for export readers (dashboard reads the durable log). */
103
+ getChain(): AuditChain;
83
104
  /**
84
105
  * Read log records from JSONL using streaming (line-by-line).
85
106
  * Only loads records after the cutoff date into memory.
@@ -1 +1 @@
1
- {"version":3,"file":"report-agent.d.ts","sourceRoot":"","sources":["../../src/agent/report-agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAeH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,oBAAoB,EACpB,SAAS,EACV,MAAM,aAAa,CAAC;AAKrB,0CAA0C;AAC1C,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,aAAa,CAAC;IACrB,OAAO,EAAE,aAAa,CAAC;IACvB,QAAQ,EAAE,cAAc,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qCAAqC;AACrC,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvD,YAAY,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvD,gBAAgB,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7E;AAED,iCAAiC;AACjC,UAAU,cAAc;IACtB,uDAAuD;IACvD,gBAAgB,EAAE,MAAM,CAAC;IACzB,2DAA2D;IAC3D,eAAe,EAAE,MAAM,CAAC;IACxB,4CAA4C;IAC5C,aAAa,EAAE,MAAM,CAAC;CACvB;AAQD;;GAEG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,IAAI,CAAY;IACxB,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiB;gBAE9B,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC;IAahF,4BAA4B;IAC5B,OAAO,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;IAI9B;;;OAGG;IACH,MAAM,CACJ,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,mBAAmB,GAC5B;QAAE,eAAe,EAAE,mBAAmB,CAAC;QAAC,cAAc,CAAC,EAAE,oBAAoB,CAAA;KAAE;IAuClF;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAoCtB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAkDxB,OAAO,CAAC,SAAS;IAcjB;;;;OAIG;IACG,uBAAuB,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAgBnE;;OAEG;IACH,OAAO,CAAC,WAAW;IAwBnB;;OAEG;IACH,OAAO,CAAC,UAAU;IAgClB;;;OAGG;IACG,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAsDhE,6CAA6C;IACvC,oBAAoB,IAAI,OAAO,CAAC,aAAa,CAAC;IAIpD,4CAA4C;IACtC,qBAAqB,IAAI,OAAO,CAAC,aAAa,CAAC;IAIrD;;;OAGG;IACH,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa;IA8CrD,gDAAgD;IAChD,OAAO,CAAC,kBAAkB;IAyB1B,OAAO,CAAC,sBAAsB;IAwC9B,6BAA6B;IAC7B,cAAc,IAAI,MAAM;IAIxB,yCAAyC;IACzC,eAAe,IAAI,MAAM;IAQzB,sCAAsC;IACtC,mBAAmB,IAAI,MAAM;CAS9B"}
1
+ {"version":3,"file":"report-agent.d.ts","sourceRoot":"","sources":["../../src/agent/report-agent.ts"],"names":[],"mappings":"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"}
@@ -8,11 +8,12 @@
8
8
  *
9
9
  * @module @panguard-ai/panguard-guard/agent/report-agent
10
10
  */
11
- import { appendFileSync, mkdirSync, readFileSync, statSync, renameSync, readdirSync, unlinkSync, createReadStream, } from 'node:fs';
11
+ import { mkdirSync, readFileSync, statSync, renameSync, readdirSync, unlinkSync, createReadStream, } from 'node:fs';
12
12
  import { dirname, join, basename } from 'node:path';
13
13
  import { createInterface } from 'node:readline';
14
14
  import { createLogger } from '@panguard-ai/core';
15
15
  import { updateBaseline } from '../memory/baseline.js';
16
+ import { AuditChain, buildActor, newDecisionId, } from '../audit/index.js';
16
17
  const logger = createLogger('panguard-guard:report-agent');
17
18
  const DEFAULT_ROTATION = {
18
19
  maxFileSizeBytes: 50 * 1024 * 1024, // 50MB
@@ -27,7 +28,14 @@ export class ReportAgent {
27
28
  mode;
28
29
  reportCount = 0;
29
30
  rotation;
30
- constructor(logPath, mode, rotation) {
31
+ /**
32
+ * Tamper-evident chain over events.jsonl. The head-anchor lives at
33
+ * <dataDir>/chainHead.json (rotation-independent) so the chain SPANS rotation:
34
+ * after the active file is rotated out, the next file's first record links to
35
+ * the rotated-out file's last hash (carried in the head-anchor).
36
+ */
37
+ chain;
38
+ constructor(logPath, mode, rotation, auditKey) {
31
39
  this.logPath = logPath;
32
40
  this.mode = mode;
33
41
  this.rotation = { ...DEFAULT_ROTATION, ...rotation };
@@ -38,6 +46,11 @@ export class ReportAgent {
38
46
  catch {
39
47
  // Directory may already exist
40
48
  }
49
+ // Head-anchor defaults to `<logPath>.head` (e.g. events.jsonl.head). It is
50
+ // rotation-independent (never renamed when events.jsonl rotates to .1) and
51
+ // distinct per log file, so the events / manifest / proxy chains in the same
52
+ // dataDir do not collide on a shared chainHead.json.
53
+ this.chain = new AuditChain(logPath, { key: auditKey });
41
54
  }
42
55
  /** Update operating mode */
43
56
  setMode(mode) {
@@ -51,12 +64,17 @@ export class ReportAgent {
51
64
  this.reportCount++;
52
65
  // Step 1: Check if rotation needed before writing
53
66
  this.rotateIfNeeded();
54
- // Step 2: Log to JSONL
67
+ // Step 2: Log to JSONL (tamper-evident chain). Lift rule identity from the
68
+ // verdict's rule-match evidence and attach forensic attribution.
69
+ const rule = liftRuleRef(verdict);
55
70
  const record = {
56
71
  event,
57
72
  verdict,
58
73
  response,
59
74
  timestamp: new Date().toISOString(),
75
+ actor: buildActor(),
76
+ decisionId: newDecisionId(),
77
+ ...(rule ? { rule } : {}),
60
78
  };
61
79
  this.appendLog(record);
62
80
  // Step 3: Update baseline (learning mode adds normal patterns)
@@ -107,6 +125,9 @@ export class ReportAgent {
107
125
  // Rename current log to .1
108
126
  try {
109
127
  renameSync(this.logPath, join(dir, `${base}.1`));
128
+ // The chain spans rotation: the rotation-independent head-anchor still
129
+ // holds the rotated-out file's last hash, so the next append chains to it.
130
+ this.chain.noteRotation();
110
131
  }
111
132
  catch (err) {
112
133
  const msg = err instanceof Error ? err.message : String(err);
@@ -164,14 +185,21 @@ export class ReportAgent {
164
185
  // Log Writing
165
186
  // ---------------------------------------------------------------------------
166
187
  appendLog(record) {
167
- try {
168
- const line = JSON.stringify(record) + '\n';
169
- appendFileSync(this.logPath, line, 'utf-8');
170
- }
171
- catch (err) {
172
- const msg = err instanceof Error ? err.message : String(err);
173
- logger.error(`Failed to write log: ${msg}`);
174
- }
188
+ // Append through the tamper-evident chain. AuditChain.append is itself
189
+ // fail-open (logs to stderr, never throws) so a broken audit file never
190
+ // bricks the pipeline.
191
+ this.chain.append(record);
192
+ }
193
+ /**
194
+ * Verify the durable events.jsonl chain end-to-end (spans rotated files).
195
+ * Returns the chain verdict an auditor / the dashboard export embeds.
196
+ */
197
+ async verify() {
198
+ return this.chain.verify();
199
+ }
200
+ /** Expose the chain for export readers (dashboard reads the durable log). */
201
+ getChain() {
202
+ return this.chain;
175
203
  }
176
204
  // ---------------------------------------------------------------------------
177
205
  // Streaming Log Reader (memory-efficient)
@@ -232,8 +260,8 @@ export class ReportAgent {
232
260
  if (!line.trim())
233
261
  return;
234
262
  try {
235
- const record = JSON.parse(line);
236
- if (new Date(record.timestamp) >= after) {
263
+ const record = unwrapReportRecord(line);
264
+ if (record && new Date(record.timestamp) >= after) {
237
265
  records.push(record);
238
266
  }
239
267
  }
@@ -357,8 +385,8 @@ export class ReportAgent {
357
385
  const lines = content.trim().split('\n').filter(Boolean);
358
386
  for (const line of lines) {
359
387
  try {
360
- const record = JSON.parse(line);
361
- if (new Date(record.timestamp) >= after) {
388
+ const record = unwrapReportRecord(line);
389
+ if (record && new Date(record.timestamp) >= after) {
362
390
  records.push(record);
363
391
  }
364
392
  }
@@ -434,6 +462,43 @@ export class ReportAgent {
434
462
  // ---------------------------------------------------------------------------
435
463
  // Utility functions
436
464
  // ---------------------------------------------------------------------------
465
+ /**
466
+ * Parse a JSONL line into a ReportRecord, transparently unwrapping the
467
+ * tamper-evident chain envelope. New lines are ChainedRecord<ReportRecord>
468
+ * (payload is the report); pre-chain legacy lines are a bare ReportRecord.
469
+ * Both are supported so a mid-upgrade log reads cleanly.
470
+ */
471
+ function unwrapReportRecord(line) {
472
+ const parsed = JSON.parse(line);
473
+ // Chained line: { seq, ts, payload, prevHash, hash } — unwrap .payload.
474
+ if (typeof parsed['hash'] === 'string' &&
475
+ typeof parsed['prevHash'] === 'string' &&
476
+ parsed['payload'] !== undefined) {
477
+ return parsed.payload;
478
+ }
479
+ // Legacy bare ReportRecord.
480
+ if (typeof parsed['timestamp'] === 'string') {
481
+ return parsed;
482
+ }
483
+ return null;
484
+ }
485
+ /**
486
+ * Lift rule identity (id + version) from the verdict's rule-match evidence so
487
+ * forensic queries can index by rule without re-parsing nested evidence.
488
+ */
489
+ function liftRuleRef(verdict) {
490
+ for (const e of verdict.evidence ?? []) {
491
+ if (e.source !== 'rule_match')
492
+ continue;
493
+ const data = e.data;
494
+ const id = (data?.['ruleId'] ?? data?.['rule_id']);
495
+ if (id) {
496
+ const version = (data?.['version'] ?? data?.['ruleVersion']);
497
+ return version ? { id, version } : { id };
498
+ }
499
+ }
500
+ return undefined;
501
+ }
437
502
  function getCountryCode() {
438
503
  const tz = Intl.DateTimeFormat().resolvedOptions().timeZone;
439
504
  const tzCountryMap = {
@@ -1 +1 @@
1
- {"version":3,"file":"report-agent.js","sourceRoot":"","sources":["../../src/agent/report-agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"report-agent.js","sourceRoot":"","sources":["../../src/agent/report-agent.ts"],"names":[],"mappings":"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"}
@@ -4,10 +4,13 @@
4
4
  */
5
5
  import type { ResponseAction, ThreatVerdict } from '../../types.js';
6
6
  import type { ActionManifestEntry } from './types.js';
7
+ import { type VerifyResult } from '../../audit/index.js';
7
8
  export declare class ActionManifest {
8
9
  private readonly entries;
9
10
  private readonly manifestPath;
10
- constructor(dataDir: string);
11
+ /** Tamper-evident chain over action-manifest.jsonl. */
12
+ private readonly chain;
13
+ constructor(dataDir: string, auditKey?: Buffer);
11
14
  /** Record a new action and persist it */
12
15
  record(action: ResponseAction, target: string, verdict: ThreatVerdict, expiresAt?: string): ActionManifestEntry;
13
16
  /** Find an entry by ID that has not been rolled back */
@@ -18,9 +21,16 @@ export declare class ActionManifest {
18
21
  getActive(): ActionManifestEntry[];
19
22
  /** Mark an entry as rolled back and persist the change */
20
23
  markRolledBack(entryId: string): void;
21
- /** Persist a single entry to the JSONL file */
24
+ /**
25
+ * Persist a single entry through the tamper-evident chain. The original
26
+ * ActionManifestEntry shape is preserved verbatim inside record.payload so the
27
+ * load() reader (and any external reader after the .payload unwrap shim) keeps
28
+ * working. AuditChain.append is fail-open (logs to stderr, never throws).
29
+ */
22
30
  persist(entry: ActionManifestEntry): void;
23
- /** Load existing manifest entries from disk */
31
+ /** Verify the durable action-manifest chain end-to-end. */
32
+ verify(): Promise<VerifyResult>;
33
+ /** Load existing manifest entries from disk, unwrapping the chain envelope. */
24
34
  private load;
25
35
  }
26
36
  //# sourceMappingURL=action-manifest.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"action-manifest.d.ts","sourceRoot":"","sources":["../../../src/agent/respond/action-manifest.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAItD,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6B;IACrD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;gBAE1B,OAAO,EAAE,MAAM;IAa3B,yCAAyC;IACzC,MAAM,CACJ,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,aAAa,EACtB,SAAS,CAAC,EAAE,MAAM,GACjB,mBAAmB;IAgBtB,wDAAwD;IACxD,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS;IAIlE,0BAA0B;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS;IAI1D,+CAA+C;IAC/C,SAAS,IAAI,mBAAmB,EAAE;IAIlC,0DAA0D;IAC1D,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAQrC,+CAA+C;IAC/C,OAAO,CAAC,KAAK,EAAE,mBAAmB,GAAG,IAAI;IASzC,+CAA+C;IAC/C,OAAO,CAAC,IAAI;CAiBb"}
1
+ {"version":3,"file":"action-manifest.d.ts","sourceRoot":"","sources":["../../../src/agent/respond/action-manifest.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAkC,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAIzF,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6B;IACrD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,uDAAuD;IACvD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAa;gBAEvB,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;IAiB9C,yCAAyC;IACzC,MAAM,CACJ,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,aAAa,EACtB,SAAS,CAAC,EAAE,MAAM,GACjB,mBAAmB;IAgBtB,wDAAwD;IACxD,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS;IAIlE,0BAA0B;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS;IAI1D,+CAA+C;IAC/C,SAAS,IAAI,mBAAmB,EAAE;IAIlC,0DAA0D;IAC1D,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAQrC;;;;;OAKG;IACH,OAAO,CAAC,KAAK,EAAE,mBAAmB,GAAG,IAAI;IAIzC,2DAA2D;IACrD,MAAM,IAAI,OAAO,CAAC,YAAY,CAAC;IAIrC,+EAA+E;IAC/E,OAAO,CAAC,IAAI;CAiBb"}
@@ -2,14 +2,17 @@
2
2
  * Action manifest for persistence and rollback tracking.
3
3
  * @module @panguard-ai/panguard-guard/agent/respond/action-manifest
4
4
  */
5
- import { appendFileSync, readFileSync, mkdirSync } from 'node:fs';
5
+ import { readFileSync, mkdirSync } from 'node:fs';
6
6
  import { dirname } from 'node:path';
7
7
  import { createLogger } from '@panguard-ai/core';
8
+ import { AuditChain } from '../../audit/index.js';
8
9
  const logger = createLogger('panguard-guard:action-manifest');
9
10
  export class ActionManifest {
10
11
  entries = [];
11
12
  manifestPath;
12
- constructor(dataDir) {
13
+ /** Tamper-evident chain over action-manifest.jsonl. */
14
+ chain;
15
+ constructor(dataDir, auditKey) {
13
16
  this.manifestPath = `${dataDir}/action-manifest.jsonl`;
14
17
  // Ensure manifest directory exists
15
18
  try {
@@ -18,6 +21,9 @@ export class ActionManifest {
18
21
  catch {
19
22
  // Directory may already exist
20
23
  }
24
+ // Head-anchor defaults to `<manifestPath>.head` (per-file, rotation-independent)
25
+ // so it never collides with the events / proxy chain anchors in the same dataDir.
26
+ this.chain = new AuditChain(this.manifestPath, { key: auditKey });
21
27
  this.load();
22
28
  }
23
29
  /** Record a new action and persist it */
@@ -55,25 +61,29 @@ export class ActionManifest {
55
61
  this.persist(entry);
56
62
  }
57
63
  }
58
- /** Persist a single entry to the JSONL file */
64
+ /**
65
+ * Persist a single entry through the tamper-evident chain. The original
66
+ * ActionManifestEntry shape is preserved verbatim inside record.payload so the
67
+ * load() reader (and any external reader after the .payload unwrap shim) keeps
68
+ * working. AuditChain.append is fail-open (logs to stderr, never throws).
69
+ */
59
70
  persist(entry) {
60
- try {
61
- appendFileSync(this.manifestPath, JSON.stringify(entry) + '\n', 'utf-8');
62
- }
63
- catch (err) {
64
- const msg = err instanceof Error ? err.message : String(err);
65
- logger.error(`Failed to persist action manifest: ${msg}`);
66
- }
71
+ this.chain.append(entry);
67
72
  }
68
- /** Load existing manifest entries from disk */
73
+ /** Verify the durable action-manifest chain end-to-end. */
74
+ async verify() {
75
+ return this.chain.verify();
76
+ }
77
+ /** Load existing manifest entries from disk, unwrapping the chain envelope. */
69
78
  load() {
70
79
  try {
71
80
  const content = readFileSync(this.manifestPath, 'utf-8');
72
81
  const lines = content.trim().split('\n').filter(Boolean);
73
82
  for (const line of lines) {
74
83
  try {
75
- const entry = JSON.parse(line);
76
- this.entries.push(entry);
84
+ const entry = unwrapManifestEntry(line);
85
+ if (entry)
86
+ this.entries.push(entry);
77
87
  }
78
88
  catch {
79
89
  // Skip malformed lines
@@ -86,4 +96,21 @@ export class ActionManifest {
86
96
  }
87
97
  }
88
98
  }
99
+ /**
100
+ * Parse a JSONL line into an ActionManifestEntry, unwrapping the tamper-evident
101
+ * chain envelope. New lines are ChainedRecord<ActionManifestEntry>; pre-chain
102
+ * legacy lines are a bare entry. Both are supported for mid-upgrade logs.
103
+ */
104
+ function unwrapManifestEntry(line) {
105
+ const parsed = JSON.parse(line);
106
+ if (typeof parsed['hash'] === 'string' &&
107
+ typeof parsed['prevHash'] === 'string' &&
108
+ parsed['payload'] !== undefined) {
109
+ return parsed.payload;
110
+ }
111
+ if (typeof parsed['id'] === 'string') {
112
+ return parsed;
113
+ }
114
+ return null;
115
+ }
89
116
  //# sourceMappingURL=action-manifest.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"action-manifest.js","sourceRoot":"","sources":["../../../src/agent/respond/action-manifest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"action-manifest.js","sourceRoot":"","sources":["../../../src/agent/respond/action-manifest.ts"],"names":[],"mappings":"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"}
@@ -27,7 +27,7 @@ export declare class RespondAgent {
27
27
  private readonly unblockTimers;
28
28
  private playbookEngine;
29
29
  private readonly atrHandlers;
30
- constructor(actionPolicy: ActionPolicy, mode: GuardMode, whitelistedIPs?: string[], dataDir?: string, enforcementPolicy?: EnforcementPolicy);
30
+ constructor(actionPolicy: ActionPolicy, mode: GuardMode, whitelistedIPs?: string[], dataDir?: string, enforcementPolicy?: EnforcementPolicy, auditKey?: Buffer);
31
31
  /** Update the enforcement policy at runtime (e.g. after config reload). */
32
32
  setEnforcementPolicy(policy: EnforcementPolicy): void;
33
33
  /** Update operating mode */
@@ -1 +1 @@
1
- {"version":3,"file":"respond-agent.d.ts","sourceRoot":"","sources":["../../src/agent/respond-agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EACV,aAAa,EACb,YAAY,EACZ,cAAc,EAEd,SAAS,EACT,iBAAiB,EAClB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAErF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAc3E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAI9D;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,IAAI,CAAY;IACxB,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAc;IACvD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA2B;IACvD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiB;IAC1C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA2B;IACtD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAoD;IAClF,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoB;gBAG9C,YAAY,EAAE,YAAY,EAC1B,IAAI,EAAE,SAAS,EACf,cAAc,GAAE,MAAM,EAAO,EAC7B,OAAO,SAAwB,EAC/B,iBAAiB,GAAE,iBAA8C;IAUnE,2EAA2E;IAC3E,oBAAoB,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI;IAWrD,4BAA4B;IAC5B,OAAO,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;IAI9B,mEAAmE;IACnE,iBAAiB,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;IAK/C,8DAA8D;IAC9D,mBAAmB,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI;IAIzD;;;OAGG;IACG,OAAO,CACX,OAAO,EAAE,aAAa,EACtB,mBAAmB,CAAC,EAAE,wBAAwB,EAAE,GAC/C,OAAO,CAAC,cAAc,CAAC;IA0C1B,sDAAsD;IAChD,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IA0CxD,+CAA+C;IAC/C,gBAAgB,IAAI,mBAAmB,EAAE;IAIzC;;OAEG;IACG,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAwCvD,2CAA2C;IAC3C,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI;IAKxD,6BAA6B;IAC7B,cAAc,IAAI,MAAM;IAIxB,6CAA6C;IAC7C,oBAAoB,IAAI;QACtB,aAAa,EAAE,OAAO,CAAC;QACvB,mBAAmB,EAAE,MAAM,CAAC;QAC5B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACtC;IAID,6BAA6B;IAC7B,oBAAoB,IAAI,GAAG,CACzB,MAAM,EACN;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAChF;IAID,wDAAwD;IACxD,OAAO,IAAI,IAAI;YAWD,WAAW;YAuCX,iBAAiB;YA6CjB,aAAa;YAgCb,cAAc;IA2C5B,OAAO,CAAC,WAAW;CASpB"}
1
+ {"version":3,"file":"respond-agent.d.ts","sourceRoot":"","sources":["../../src/agent/respond-agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EACV,aAAa,EACb,YAAY,EACZ,cAAc,EAEd,SAAS,EACT,iBAAiB,EAClB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAErF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAc3E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAI9D;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,IAAI,CAAY;IACxB,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAc;IACvD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA2B;IACvD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiB;IAC1C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA2B;IACtD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAoD;IAClF,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoB;gBAG9C,YAAY,EAAE,YAAY,EAC1B,IAAI,EAAE,SAAS,EACf,cAAc,GAAE,MAAM,EAAO,EAC7B,OAAO,SAAwB,EAC/B,iBAAiB,GAAE,iBAA8C,EACjE,QAAQ,CAAC,EAAE,MAAM;IAUnB,2EAA2E;IAC3E,oBAAoB,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI;IAWrD,4BAA4B;IAC5B,OAAO,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;IAI9B,mEAAmE;IACnE,iBAAiB,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;IAK/C,8DAA8D;IAC9D,mBAAmB,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI;IAIzD;;;OAGG;IACG,OAAO,CACX,OAAO,EAAE,aAAa,EACtB,mBAAmB,CAAC,EAAE,wBAAwB,EAAE,GAC/C,OAAO,CAAC,cAAc,CAAC;IA0C1B,sDAAsD;IAChD,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IA0CxD,+CAA+C;IAC/C,gBAAgB,IAAI,mBAAmB,EAAE;IAIzC;;OAEG;IACG,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAwCvD,2CAA2C;IAC3C,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI;IAKxD,6BAA6B;IAC7B,cAAc,IAAI,MAAM;IAIxB,6CAA6C;IAC7C,oBAAoB,IAAI;QACtB,aAAa,EAAE,OAAO,CAAC;QACvB,mBAAmB,EAAE,MAAM,CAAC;QAC5B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACtC;IAID,6BAA6B;IAC7B,oBAAoB,IAAI,GAAG,CACzB,MAAM,EACN;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAChF;IAID,wDAAwD;IACxD,OAAO,IAAI,IAAI;YAWD,WAAW;YAuCX,iBAAiB;YA6CjB,aAAa;YAgCb,cAAc;IA2C5B,OAAO,CAAC,WAAW;CASpB"}
@@ -32,12 +32,12 @@ export class RespondAgent {
32
32
  unblockTimers = new Map();
33
33
  playbookEngine = null;
34
34
  atrHandlers;
35
- constructor(actionPolicy, mode, whitelistedIPs = [], dataDir = '/var/panguard-guard', enforcementPolicy = DEFAULT_ENFORCEMENT_POLICY) {
35
+ constructor(actionPolicy, mode, whitelistedIPs = [], dataDir = '/var/panguard-guard', enforcementPolicy = DEFAULT_ENFORCEMENT_POLICY, auditKey) {
36
36
  this.actionPolicy = actionPolicy;
37
37
  this.mode = mode;
38
38
  this.enforcementPolicy = enforcementPolicy;
39
39
  this.additionalWhitelistedIPs = new Set(whitelistedIPs);
40
- this.manifest = new ActionManifest(dataDir);
40
+ this.manifest = new ActionManifest(dataDir, auditKey);
41
41
  this.atrHandlers = new ATRActionHandlers(dataDir);
42
42
  }
43
43
  /** Update the enforcement policy at runtime (e.g. after config reload). */
@@ -1 +1 @@
1
- {"version":3,"file":"respond-agent.js","sourceRoot":"","sources":["../../src/agent/respond-agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"respond-agent.js","sourceRoot":"","sources":["../../src/agent/respond-agent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Forensic attribution for audit records.
3
+ *
4
+ * Every durable audit payload is enriched with a stable `actor` block (who/where
5
+ * the record was produced) plus a `decisionId` and lifted `rule` identity, so an
6
+ * auditor can answer "who did this, on what host, under which rule" from the log
7
+ * alone.
8
+ *
9
+ * The FULL actor (including OS username) is kept in the LOCAL durable log. The
10
+ * EXPORT path anonymizes the username before forwarding to an external auditor
11
+ * (see anonymizeActorForExport).
12
+ *
13
+ * @module @panguard-ai/panguard-guard/audit/attribution
14
+ */
15
+ /** Optional agent identity attached when the record originates from an agent session. */
16
+ export interface AgentAttribution {
17
+ readonly platform: string;
18
+ readonly sessionId: string;
19
+ readonly agentId: string;
20
+ }
21
+ /** Who/where produced an audit record. */
22
+ export interface Actor {
23
+ /** OS username on the producing machine (FULL value, local log only). */
24
+ readonly user: string;
25
+ /** Hostname of the producing machine. */
26
+ readonly host: string;
27
+ /** Process id. */
28
+ readonly pid: number;
29
+ /** Agent identity when applicable. */
30
+ readonly agent?: AgentAttribution;
31
+ }
32
+ /** Lifted rule identity (id + version) for top-level forensic indexing. */
33
+ export interface RuleRef {
34
+ readonly id: string;
35
+ readonly version?: string;
36
+ }
37
+ /**
38
+ * Build the local (full) actor block for the current process. Pass agent identity
39
+ * when the record originates from a guarded agent session.
40
+ */
41
+ export declare function buildActor(agent?: AgentAttribution): Actor;
42
+ /** Generate a fresh decision id. */
43
+ export declare function newDecisionId(): string;
44
+ /**
45
+ * Anonymize an actor for EXPORT: replace the username with a stable salted hash
46
+ * so an auditor can correlate same-user records without learning the username,
47
+ * and never leak a real OS username into a forwarded document. Host/pid/agent
48
+ * are retained (operationally useful, not personally identifying in the same way).
49
+ */
50
+ export declare function anonymizeActorForExport(actor: Actor | undefined): Record<string, unknown> | undefined;
51
+ //# sourceMappingURL=attribution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attribution.d.ts","sourceRoot":"","sources":["../../src/audit/attribution.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,yFAAyF;AACzF,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,0CAA0C;AAC1C,MAAM,WAAW,KAAK;IACpB,yEAAyE;IACzE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,yCAAyC;IACzC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,kBAAkB;IAClB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,sCAAsC;IACtC,QAAQ,CAAC,KAAK,CAAC,EAAE,gBAAgB,CAAC;CACnC;AAED,2EAA2E;AAC3E,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,KAAK,CAAC,EAAE,gBAAgB,GAAG,KAAK,CAO1D;AAED,oCAAoC;AACpC,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAQrG"}