@panguard-ai/panguard-guard 1.4.6 → 2.0.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.
Files changed (94) hide show
  1. package/bundled-rules/sigma-rules/community/2017/TA/Pandemic/registry_event_apt_pandemic.yml +0 -0
  2. package/bundled-rules/sigma-rules/community/linux/builtin/lnx_apt_equationgroup_lnx.yml +0 -0
  3. package/bundled-rules/sigma-rules/community/windows/builtin/security/win_security_net_share_obj_susp_desktop_ini.yml +0 -0
  4. package/bundled-rules/sigma-rules/community/windows/file/file_delete/file_delete_win_delete_prefetch.yml +0 -0
  5. package/bundled-rules/sigma-rules/community/windows/file/file_event/file_event_win_cred_dump_tools_dropped_files.yml +0 -0
  6. package/bundled-rules/sigma-rules/community/windows/file/file_event/file_event_win_desktop_ini_created_by_uncommon_process.yml +0 -0
  7. package/bundled-rules/sigma-rules/community/windows/file/file_event/file_event_win_susp_procexplorer_driver_created_in_tmp_folder.yml +0 -0
  8. package/bundled-rules/sigma-rules/community/windows/file/file_event/file_event_win_tsclient_filewrite_startup.yml +0 -0
  9. package/bundled-rules/sigma-rules/community/windows/file/file_event/file_event_win_webshell_creation_detect.yml +0 -0
  10. package/bundled-rules/sigma-rules/community/windows/file/file_event/file_event_win_wmi_persistence_script_event_consumer_write.yml +0 -0
  11. package/bundled-rules/sigma-rules/community/windows/image_load/image_load_wmi_persistence_commandline_event_consumer.yml +0 -0
  12. package/bundled-rules/sigma-rules/community/windows/network_connection/net_connection_win_eqnedt.yml +0 -0
  13. package/bundled-rules/sigma-rules/community/windows/network_connection/net_connection_win_rdp_reverse_tunnel.yml +0 -0
  14. package/bundled-rules/sigma-rules/community/windows/network_connection/net_connection_win_rundll32_net_connections.yml +0 -0
  15. package/bundled-rules/sigma-rules/community/windows/network_connection/net_connection_win_susp_outbound_kerberos_connection.yml +0 -0
  16. package/bundled-rules/sigma-rules/community/windows/process_access/proc_access_win_cmstp_execution_by_access.yml +0 -0
  17. package/bundled-rules/sigma-rules/community/windows/process_access/proc_access_win_lsass_dump_comsvcs_dll.yml +0 -0
  18. package/bundled-rules/sigma-rules/community/windows/process_access/proc_access_win_lsass_memdump.yml +0 -0
  19. package/bundled-rules/sigma-rules/community/windows/process_creation/proc_creation_win_reg_enable_windows_recall.yml +0 -0
  20. package/bundled-rules/sigma-rules/community/windows/registry/registry_delete/registry_delete_enable_windows_recall.yml +0 -0
  21. package/bundled-rules/sigma-rules/community/windows/registry/registry_event/registry_event_cmstp_execution_by_registry.yml +0 -0
  22. package/bundled-rules/sigma-rules/community/windows/registry/registry_event/registry_event_disable_security_events_logging_adding_reg_key_minint.yml +0 -0
  23. package/bundled-rules/sigma-rules/community/windows/registry/registry_event/registry_event_hack_wce_reg.yml +0 -0
  24. package/bundled-rules/sigma-rules/community/windows/registry/registry_event/registry_event_narrator_feedback_persistance.yml +0 -0
  25. package/bundled-rules/sigma-rules/community/windows/registry/registry_event/registry_event_new_dll_added_to_appcertdlls_registry_key.yml +0 -0
  26. package/bundled-rules/sigma-rules/community/windows/registry/registry_event/registry_event_new_dll_added_to_appinit_dlls_registry_key.yml +0 -0
  27. package/bundled-rules/sigma-rules/community/windows/registry/registry_event/registry_event_ssp_added_lsa_config.yml +0 -0
  28. package/bundled-rules/sigma-rules/community/windows/registry/registry_event/registry_event_stickykey_like_backdoor.yml +0 -0
  29. package/bundled-rules/sigma-rules/community/windows/registry/registry_event/registry_event_susp_download_run_key.yml +0 -0
  30. package/bundled-rules/sigma-rules/community/windows/registry/registry_set/registry_set_dhcp_calloutdll.yml +0 -0
  31. package/bundled-rules/sigma-rules/community/windows/registry/registry_set/registry_set_enable_windows_recall.yml +0 -0
  32. package/bundled-rules/sigma-rules/community/windows/registry/registry_set/registry_set_susp_keyboard_layout_load.yml +0 -0
  33. package/bundled-rules/sigma-rules/community/windows/registry/registry_set/registry_set_susp_reg_persist_explorer_run.yml +0 -0
  34. package/bundled-rules/sigma-rules/community/windows/registry/registry_set/registry_set_susp_run_key_img_folder.yml +0 -0
  35. package/bundled-rules/sigma-rules/community/windows/registry/registry_set/registry_set_susp_service_installed.yml +0 -0
  36. package/bundled-rules/sigma-rules/community/windows/registry/registry_set/registry_set_uac_bypass_eventvwr.yml +0 -0
  37. package/bundled-rules/sigma-rules/community/windows/registry/registry_set/registry_set_uac_bypass_sdclt.yml +0 -0
  38. package/bundled-rules/yara-rules/community/baderj/laplas_clipper.yar +0 -0
  39. package/bundled-rules/yara-rules/community/baderj/win_bitcoin_genesis_b9.yara +0 -0
  40. package/bundled-rules/yara-rules/community/eset/animalfarm/animalfarm.yar +0 -0
  41. package/bundled-rules/yara-rules/community/eset/potao/PotaoNew.yara +0 -0
  42. package/bundled-rules/yara-rules/community/trellix/ransomware/RANSOM_MegaCortex.yar +0 -0
  43. package/bundled-rules/yara-rules/community/volexity/2024/2024-01-10 Ivanti Connect Secure/indicators/yara.yar +0 -0
  44. package/dist/agent/atr-action-handlers.d.ts.map +1 -1
  45. package/dist/agent/atr-action-handlers.js +35 -6
  46. package/dist/agent/atr-action-handlers.js.map +1 -1
  47. package/dist/cli/index.js +0 -0
  48. package/dist/cli/index.js.map +1 -1
  49. package/dist/config.js +2 -2
  50. package/dist/config.js.map +1 -1
  51. package/dist/dashboard/index.d.ts.map +1 -1
  52. package/dist/dashboard/index.js +55 -17
  53. package/dist/dashboard/index.js.map +1 -1
  54. package/dist/engines/atr-drafter.d.ts.map +1 -1
  55. package/dist/engines/atr-drafter.js +2 -2
  56. package/dist/engines/atr-drafter.js.map +1 -1
  57. package/dist/engines/atr-engine.d.ts +10 -2
  58. package/dist/engines/atr-engine.d.ts.map +1 -1
  59. package/dist/engines/atr-engine.js +50 -28
  60. package/dist/engines/atr-engine.js.map +1 -1
  61. package/dist/engines/skill-whitelist.d.ts +1 -0
  62. package/dist/engines/skill-whitelist.d.ts.map +1 -1
  63. package/dist/engines/skill-whitelist.js +9 -4
  64. package/dist/engines/skill-whitelist.js.map +1 -1
  65. package/dist/guard-engine.d.ts.map +1 -1
  66. package/dist/guard-engine.js +23 -7
  67. package/dist/guard-engine.js.map +1 -1
  68. package/dist/index.d.ts +2 -1
  69. package/dist/index.d.ts.map +1 -1
  70. package/dist/index.js +1 -1
  71. package/dist/index.js.map +1 -1
  72. package/dist/monitors/index.d.ts +0 -7
  73. package/dist/monitors/index.d.ts.map +1 -1
  74. package/dist/monitors/index.js +0 -4
  75. package/dist/monitors/index.js.map +1 -1
  76. package/dist/rule-loader.d.ts.map +1 -1
  77. package/dist/rule-loader.js +6 -7
  78. package/dist/rule-loader.js.map +1 -1
  79. package/dist/rule-sync.d.ts +1 -1
  80. package/dist/rule-sync.d.ts.map +1 -1
  81. package/dist/rule-sync.js +37 -10
  82. package/dist/rule-sync.js.map +1 -1
  83. package/dist/summary/daily-summary.d.ts.map +1 -1
  84. package/dist/summary/daily-summary.js +4 -4
  85. package/dist/summary/daily-summary.js.map +1 -1
  86. package/dist/threat-cloud/index.d.ts +26 -2
  87. package/dist/threat-cloud/index.d.ts.map +1 -1
  88. package/dist/threat-cloud/index.js +66 -6
  89. package/dist/threat-cloud/index.js.map +1 -1
  90. package/dist/types.d.ts.map +1 -1
  91. package/dist/watchers/dependency-watcher.d.ts.map +1 -1
  92. package/dist/watchers/dependency-watcher.js +2 -1
  93. package/dist/watchers/dependency-watcher.js.map +1 -1
  94. package/package.json +18 -18
@@ -66,7 +66,20 @@ export class DashboardServer {
66
66
  async start() {
67
67
  return new Promise((resolve) => {
68
68
  this.server = createServer((req, res) => this.handleRequest(req, res));
69
- const wss = new WebSocketServer({ server: this.server, path: '/ws', maxPayload: 64 * 1024 });
69
+ // Handle port conflicts BEFORE attaching WSS to prevent unhandled error crashes
70
+ this.server.on('error', (err) => {
71
+ if (err.code === 'EADDRINUSE') {
72
+ logger.warn(`Dashboard port ${this.port} already in use. ` +
73
+ `Another Guard instance may be running. Dashboard disabled for this session.`);
74
+ this.server = null;
75
+ resolve(); // Don't crash — Guard can run without Dashboard
76
+ }
77
+ else {
78
+ logger.error(`Dashboard server error: ${err.message}`);
79
+ resolve();
80
+ }
81
+ });
82
+ const wss = new WebSocketServer({ noServer: true });
70
83
  wss.on('connection', (ws, req) => {
71
84
  if (this.wsClients.size >= MAX_WS_CLIENTS) {
72
85
  logger.warn('Max WebSocket connections reached');
@@ -78,7 +91,9 @@ export class DashboardServer {
78
91
  if (origin) {
79
92
  try {
80
93
  const parsed = new URL(origin);
81
- const isLoopback = parsed.hostname === '127.0.0.1' || parsed.hostname === 'localhost' || parsed.hostname === '::1';
94
+ const isLoopback = parsed.hostname === '127.0.0.1' ||
95
+ parsed.hostname === 'localhost' ||
96
+ parsed.hostname === '::1';
82
97
  if (!isLoopback) {
83
98
  logger.warn(`Rejected WebSocket from non-loopback origin: ${origin}`);
84
99
  ws.close();
@@ -93,7 +108,7 @@ export class DashboardServer {
93
108
  }
94
109
  // Per-IP connection limit
95
110
  const clientIP = req.socket.remoteAddress ?? 'unknown';
96
- const ipCount = [...this.wsClients].filter(c => c.ip === clientIP).length;
111
+ const ipCount = [...this.wsClients].filter((c) => c.ip === clientIP).length;
97
112
  if (ipCount >= MAX_WS_PER_IP) {
98
113
  logger.warn(`Max WS connections per IP reached for ${clientIP}`);
99
114
  ws.close();
@@ -116,6 +131,18 @@ export class DashboardServer {
116
131
  this.wsClients.delete(client);
117
132
  });
118
133
  });
134
+ // Handle WebSocket upgrade manually (noServer mode)
135
+ this.server.on('upgrade', (req, socket, head) => {
136
+ const { pathname } = new URL(req.url ?? '/', `http://${req.headers.host ?? 'localhost'}`);
137
+ if (pathname === '/ws') {
138
+ wss.handleUpgrade(req, socket, head, (ws) => {
139
+ wss.emit('connection', ws, req);
140
+ });
141
+ }
142
+ else {
143
+ socket.destroy();
144
+ }
145
+ });
119
146
  this.server.listen(this.port, '127.0.0.1', () => {
120
147
  logger.info(`Dashboard started on http://127.0.0.1:${this.port}`);
121
148
  // Token never logged — auth via HttpOnly cookie only
@@ -224,7 +251,11 @@ export class DashboardServer {
224
251
  if (url.startsWith('/api/')) {
225
252
  const authHeader = req.headers.authorization ?? '';
226
253
  // Parse auth token from: 1) Authorization header, 2) HttpOnly cookie, 3) query param (deprecated)
227
- const cookieToken = (req.headers.cookie ?? '').split(';').map(c => c.trim()).find(c => c.startsWith('panguard_auth='))?.split('=')[1] ?? '';
254
+ const cookieToken = (req.headers.cookie ?? '')
255
+ .split(';')
256
+ .map((c) => c.trim())
257
+ .find((c) => c.startsWith('panguard_auth='))
258
+ ?.split('=')[1] ?? '';
228
259
  const queryToken = new URL(url, `http://127.0.0.1:${this.port}`).searchParams.get('token');
229
260
  const providedToken = authHeader.replace('Bearer ', '') || cookieToken || queryToken;
230
261
  if (!providedToken ||
@@ -569,13 +600,10 @@ export class DashboardServer {
569
600
  try {
570
601
  const rulesDir = join(this.getConfig?.()?.dataDir ?? join(homedir(), '.panguard-guard'), '..', 'agent-threat-rules', 'rules');
571
602
  // Try multiple rule locations
572
- const candidates = [
573
- rulesDir,
574
- join(homedir(), '.panguard-guard', 'rules'),
575
- ];
603
+ const candidates = [rulesDir, join(homedir(), '.panguard-guard', 'rules')];
576
604
  // Also try monorepo atr package
577
605
  candidates.push(join(homedir(), '.panguard-guard', 'atr', 'rules'));
578
- let rules = [];
606
+ const rules = [];
579
607
  for (const dir of candidates) {
580
608
  if (!existsSync(dir))
581
609
  continue;
@@ -591,15 +619,25 @@ export class DashboardServer {
591
619
  const category = content.match(/category:\s*["']?([^"'\n]+)/m)?.[1]?.trim() ?? 'unknown';
592
620
  const description = content.match(/^description:\s*["']?([^"'\n]+)/m)?.[1]?.trim() ?? '';
593
621
  if (id && title) {
594
- rules.push({ id, title, severity, category, description: description.slice(0, 200) });
622
+ rules.push({
623
+ id,
624
+ title,
625
+ severity,
626
+ category,
627
+ description: description.slice(0, 200),
628
+ });
595
629
  }
596
630
  }
597
- catch { /* skip unparseable files */ }
631
+ catch {
632
+ /* skip unparseable files */
633
+ }
598
634
  }
599
635
  if (rules.length > 0)
600
636
  break; // Found rules in this dir
601
637
  }
602
- catch { /* skip unreadable dirs */ }
638
+ catch {
639
+ /* skip unreadable dirs */
640
+ }
603
641
  }
604
642
  this.jsonResponse(res, { rules, total: rules.length });
605
643
  }
@@ -1052,7 +1090,7 @@ body{font-family:'Inter','Noto Sans TC',-apple-system,BlinkMacSystemFont,sans-se
1052
1090
  <strong>How it works:</strong><br>
1053
1091
  &bull; <strong>Skill Fingerprinting</strong> &mdash; tracks each skill's behavior baseline and detects drift<br>
1054
1092
  &bull; <strong>Heuristic Analysis</strong> &mdash; flags suspicious patterns (e.g., reading ~/.ssh, injecting prompts, excessive permissions)<br>
1055
- &bull; <strong>ATR Pattern Matching</strong> &mdash; 52 Agent Threat Rules detect known AI agent attack vectors<br><br>
1093
+ &bull; <strong>ATR Pattern Matching</strong> &mdash; 108 Agent Threat Rules detect known AI agent attack vectors<br><br>
1056
1094
  <span style="color:var(--ok)">No external dependencies. No API keys. No data leaves your machine.</span>
1057
1095
  </div>
1058
1096
  </div>
@@ -1083,13 +1121,13 @@ body{font-family:'Inter','Noto Sans TC',-apple-system,BlinkMacSystemFont,sans-se
1083
1121
  <!-- Rules -->
1084
1122
  <div class="pg" id="p-rules">
1085
1123
  <div class="pt" data-i18n="t_ru"><em>Detection Rules</em></div>
1086
- <div class="pd" data-i18n="d_ru">Panguard uses a 3-layer rule system to detect threats. Rules sync automatically from Threat Cloud every hour. ATR (Agent Threat Rules) are community-driven rules auto-drafted by AI from real threat patterns.</div>
1124
+ <div class="pd" data-i18n="d_ru">Panguard uses a 3-layer rule system to detect threats. Rules sync automatically from Threat Cloud every 5 minutes. ATR (Agent Threat Rules) are community-driven rules auto-drafted by AI from real threat patterns.</div>
1087
1125
  <div id="ru-loading" class="empty"><span class="spin"></span> Loading rule data...</div>
1088
1126
  <div id="ru-content" style="display:none">
1089
1127
  <div class="cg">
1090
1128
  <div class="cd"><div class="cl">ATR</div><div class="cv sg" id="ru-atr">0</div><div style="font-size:11px;color:var(--tm);margin-top:4px" data-i18n="ru_atr_d">Agent Threat Rules (AI-drafted)</div></div>
1091
1129
  </div>
1092
- <div style="font-size:12px;color:var(--tm);margin-bottom:20px"><span id="ru-sync"></span> <span data-i18n="ru_auto">Rules sync automatically every hour from Threat Cloud.</span></div>
1130
+ <div style="font-size:12px;color:var(--tm);margin-bottom:20px"><span id="ru-sync"></span> <span data-i18n="ru_auto">Rules sync automatically every 5 minutes from Threat Cloud.</span></div>
1093
1131
  <div class="st">All Loaded Rules</div>
1094
1132
  <div style="display:flex;gap:10px;align-items:center;margin-bottom:10px">
1095
1133
  <input id="ru-search" type="text" placeholder="Search rules by ID, title, or category..." style="flex:1;background:var(--s2);border:1px solid var(--bd);color:var(--t1);padding:8px 14px;border-radius:8px;font-size:13px;outline:none" oninput="filterRules()" onfocus="this.style.borderColor='var(--sage)'" onblur="this.style.borderColor='var(--bd)'">
@@ -1252,7 +1290,7 @@ up1:'Catch attacks in ANY language',up2:'Detect paraphrased injection',up3:'Cont
1252
1290
  connect_llm:'Connect LLM',free_options:'Free options: Gemini (free tier) / Ollama (local)',no_threats:'No threats detected. Your agents are running safely.',
1253
1291
  d_sk:'Panguard audits every MCP skill installed on your system. Safe skills are auto-whitelisted; risky ones are flagged for your review.',
1254
1292
  d_ai:'Panguard uses a 3-layer detection system. Layer 1 (rules) and Layer 2 (fingerprint & heuristic) are always active with zero config. Layer 3 uses cloud AI for the deepest analysis -- configure your API key below.',
1255
- d_ru:'Panguard uses a 3-layer rule system to detect threats. Rules sync automatically from Threat Cloud every hour. ATR rules are community-driven, auto-drafted by AI from real threat patterns.',
1293
+ d_ru:'Panguard uses a 3-layer rule system to detect threats. Rules sync automatically from Threat Cloud every 5 minutes. ATR rules are community-driven, auto-drafted by AI from real threat patterns.',
1256
1294
  d_tc:'Threat Cloud is Panguard\\'s anonymous threat intelligence sharing network. Your device can optionally upload anonymized threat data to help the community, and receives updated detection rules in return.',
1257
1295
  d_th:'All detected threats are logged here. Malicious events are auto-blocked. Suspicious events may require your attention.',
1258
1296
  d_gd:'Follow these steps to activate full protection. Once all steps are complete, Panguard Guard will continuously monitor and protect your system.',
@@ -1264,7 +1302,7 @@ l2:'Layer 2: Fingerprint & Heuristic (Local, zero-config)',l2desc:'Behavioral fi
1264
1302
  l3:'Layer 3: Cloud AI (Most powerful analysis)',l3desc:'Cloud models for the deepest analysis of complex threats. Only used when Layer 1+2 are inconclusive. Requires your own API key.',
1265
1303
  provider:'Provider',endpoint:'Endpoint',model:'Model',api_key:'API Key',custom_ep:'Custom Endpoint',ep_note:'Use custom endpoint for self-hosted models, API proxies, or enterprise gateways. Leave empty for default.',key_note:'Keys are stored locally in ~/.panguard-guard/config.json and never sent to Panguard servers.',
1266
1304
  save:'Save Configuration',reload:'Reload',
1267
- ru_atr_d:'Agent Threat Rules (AI-drafted)',ru_auto:'Rules sync automatically every hour from Threat Cloud.',
1305
+ ru_atr_d:'Agent Threat Rules (AI-drafted)',ru_auto:'Rules sync automatically every 5 minutes from Threat Cloud.',
1268
1306
  what_atr:'What is ATR?',atr_title:'Agent Threat Rules (ATR)',atr_desc:'ATR rules are automatically drafted by AI when your guard engine detects recurring threat patterns (5+ events from 2+ sources within 6 hours). These draft rules are submitted to Threat Cloud for community review, then distributed to all Panguard users after validation.',
1269
1307
  atr_stats:'ATR Activity',atr_matches:'ATR Matches',atr_drafted:'Patterns Drafted',atr_submitted:'Proposals Submitted',
1270
1308
  contrib_title:'Your Community Contribution',contrib_desc:'Every ATR proposal your device submits helps protect the entire Panguard community. Proposals are reviewed and validated before distribution. Contributing is automatic and anonymous.',
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dashboard/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dashboard/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"atr-drafter.d.ts","sourceRoot":"","sources":["../../src/engines/atr-drafter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAUH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAiClE,4BAA4B;AAC5B,MAAM,WAAW,gBAAgB;IAC/B,qEAAqE;IACrE,SAAS,EAAE,MAAM,CAAC;IAClB,wCAAwC;IACxC,cAAc,EAAE,MAAM,CAAC;IACvB,oEAAoE;IACpE,QAAQ,EAAE,MAAM,CAAC;IACjB,qDAAqD;IACrD,oBAAoB,EAAE,MAAM,CAAC;IAC7B,qCAAqC;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,kCAAkC;IAClC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAqBD,qBAAa,UAAU;IAOnB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAP9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmB;IAC1C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmC;IAC5D,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAqB;IACvD,OAAO,CAAC,UAAU,CAA+C;gBAG9C,GAAG,EAAE,UAAU,EACf,WAAW,EAAE,iBAAiB,EAC/C,MAAM,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC;IAKpC;;;;OAIG;IACH,eAAe,CACb,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE;QACP,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;QAC3B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;QAC3B,kEAAkE;QAClE,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,0DAA0D;QAC1D,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;KACjC,GACA,IAAI;IAoEP;;;OAGG;IACH,KAAK,IAAI,IAAI;IAcb;;;OAGG;IACH,IAAI,IAAI,IAAI;IAOZ;;;OAGG;IACG,aAAa,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;YA0ExD,cAAc;IAoD5B;;;OAGG;YACW,kBAAkB;IAmBhC;;;OAGG;IACH,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAgCnD,OAAO,CAAC,gBAAgB;IAwBxB,OAAO,CAAC,iBAAiB;IAIzB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAyCjC,OAAO,CAAC,kBAAkB;IAU1B,qDAAqD;IACrD,eAAe,IAAI,MAAM;IAIzB,mCAAmC;IACnC,iBAAiB,IAAI,MAAM;CAG5B"}
1
+ {"version":3,"file":"atr-drafter.d.ts","sourceRoot":"","sources":["../../src/engines/atr-drafter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAUH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAiClE,4BAA4B;AAC5B,MAAM,WAAW,gBAAgB;IAC/B,qEAAqE;IACrE,SAAS,EAAE,MAAM,CAAC;IAClB,wCAAwC;IACxC,cAAc,EAAE,MAAM,CAAC;IACvB,oEAAoE;IACpE,QAAQ,EAAE,MAAM,CAAC;IACjB,qDAAqD;IACrD,oBAAoB,EAAE,MAAM,CAAC;IAC7B,qCAAqC;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,kCAAkC;IAClC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAqBD,qBAAa,UAAU;IAOnB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAP9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmB;IAC1C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmC;IAC5D,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAqB;IACvD,OAAO,CAAC,UAAU,CAA+C;gBAG9C,GAAG,EAAE,UAAU,EACf,WAAW,EAAE,iBAAiB,EAC/C,MAAM,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC;IAKpC;;;;OAIG;IACH,eAAe,CACb,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE;QACP,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;QAC3B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;QAC3B,kEAAkE;QAClE,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,0DAA0D;QAC1D,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;KACjC,GACA,IAAI;IAoEP;;;OAGG;IACH,KAAK,IAAI,IAAI;IAcb;;;OAGG;IACH,IAAI,IAAI,IAAI;IAOZ;;;OAGG;IACG,aAAa,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;YA0ExD,cAAc;IAsD5B;;;OAGG;YACW,kBAAkB;IAmBhC;;;OAGG;IACH,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAgCnD,OAAO,CAAC,gBAAgB;IAwBxB,OAAO,CAAC,iBAAiB;IAIzB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAyCjC,OAAO,CAAC,kBAAkB;IAU1B,qDAAqD;IACrD,eAAe,IAAI,MAAM;IAIzB,mCAAmC;IACnC,iBAAiB,IAAI,MAAM;CAG5B"}
@@ -225,8 +225,8 @@ export class ATRDrafter {
225
225
  selfReviewVerdict = jsonMatch[0];
226
226
  }
227
227
  }
228
- catch {
229
- // Parse failed, reject
228
+ catch (err) {
229
+ process.stderr.write(`[atr-drafter] Self-review JSON parse failed: ${err instanceof Error ? err.message : String(err)}\n`);
230
230
  }
231
231
  return {
232
232
  patternHash,
@@ -1 +1 @@
1
- {"version":3,"file":"atr-drafter.js","sourceRoot":"","sources":["../../src/engines/atr-drafter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,uBAAuB,EACvB,qBAAqB,GAEtB,MAAM,iCAAiC,CAAC;AACzC,OAAO,IAAI,MAAM,SAAS,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAKjD,MAAM,MAAM,GAAG,YAAY,CAAC,4BAA4B,CAAC,CAAC;AA+C1D,MAAM,cAAc,GAAqB;IACvC,SAAS,EAAE,CAAC;IACZ,cAAc,EAAE,CAAC;IACjB,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;IAC5B,oBAAoB,EAAE,CAAC;IACvB,WAAW,EAAE,SAAS;IACtB,QAAQ,EAAE,SAAS;CACpB,CAAC;AAEF,uCAAuC;AACvC,MAAM,cAAc,GAAG,MAAM,CAAC;AAE9B,yDAAyD;AACzD,MAAM,mBAAmB,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,CAAU,CAAC;AAE9E,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E,MAAM,OAAO,UAAU;IAOF;IACA;IAPF,MAAM,CAAmB;IACzB,QAAQ,GAAG,IAAI,GAAG,EAAwB,CAAC;IAC3C,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/C,UAAU,GAA0C,IAAI,CAAC;IAEjE,YACmB,GAAe,EACf,WAA8B,EAC/C,MAAkC;QAFjB,QAAG,GAAH,GAAG,CAAY;QACf,gBAAW,GAAX,WAAW,CAAmB;QAG/C,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,MAAM,EAAE,CAAC;IACjD,CAAC;IAED;;;;OAIG;IACH,eAAe,CACb,KAAoB,EACpB,OASC;QAED,sEAAsE;QACtE,IAAI,OAAO,CAAC,UAAU,KAAK,QAAQ,IAAI,OAAO,CAAC,UAAU,GAAG,EAAE;YAAE,OAAO;QAEvE,MAAM,UAAU,GAAG,OAAO,CAAC,eAAe,IAAI,EAAE,CAAC;QACjD,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC,QAAQ,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/D,MAAM,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAEhF,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,GAAG;gBACR,UAAU,EAAE,KAAK,CAAC,QAAQ;gBAC1B,eAAe,EAAE,UAAU;gBAC3B,WAAW,EAAE,CAAC;gBACd,WAAW,EAAE,IAAI,GAAG,EAAE;gBACtB,UAAU,EAAE,EAAE;gBACd,kBAAkB,EAAE,EAAE;gBACtB,eAAe,EAAE,EAAE;gBACnB,cAAc,EAAE,EAAE;gBAClB,oBAAoB,EAAE,EAAE;gBACxB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACnC,CAAC;YACF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO,CAAC,WAAW,EAAE,CAAC;QACtB,OAAO,CAAC,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAE5C,MAAM,EAAE,GACL,KAAK,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAY,IAAK,KAAK,CAAC,QAAQ,EAAE,CAAC,eAAe,CAAY,CAAC;QAC5F,IAAI,EAAE;YAAE,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEpC,MAAM,QAAQ,GAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAY,IAAI,QAAQ,CAAC;QACtE,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAEvE,IAAI,OAAO,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1C,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACnE,CAAC;QAED,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;YAC5B,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;gBACxC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;oBACzC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClC,CAAC;YACH,CAAC;QACH,CAAC;QAED,kEAAkE;QAClE,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3D,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACvD,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;gBACrD,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;QAED,iEAAiE;QACjE,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;YACjC,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;gBAChD,IAAI,OAAO,CAAC,oBAAoB,CAAC,MAAM,IAAI,CAAC;oBAAE,MAAM;gBACpD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;gBACrC,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;oBACtD,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC/C,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK;QACH,IAAI,IAAI,CAAC,UAAU;YAAE,OAAO;QAE5B,0DAA0D;QAC1D,UAAU,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,aAAa,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,uBAAuB;QAEpF,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAErF,MAAM,CAAC,IAAI,CACT,+BAA+B,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,OAAO,OAAO;YAClE,mBAAmB,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,OAAO,IAAI,CACxD,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,IAAI;QACF,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC/B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACzB,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,aAAa;QACjB,yBAAyB;QACzB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QAC/C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;YACjF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;QACtC,CAAC;QAED,oCAAoC;QACpC,MAAM,cAAc,GAAmD,EAAE,CAAC;QAE1E,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC5C,IAAI,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,SAAS;YAE/C,IACE,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS;gBAC5C,OAAO,CAAC,WAAW,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,EACtD,CAAC;gBACD,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QAED,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;QACtC,CAAC;QAED,kBAAkB;QAClB,MAAM,SAAS,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;QAC5E,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,SAAS,GAAG,CAAC,CAAC;QAElB,KAAK,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,SAAS,EAAE,CAAC;YAC1C,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBACxD,IAAI,CAAC,MAAM;oBAAE,SAAS;gBACtB,OAAO,EAAE,CAAC;gBAEV,IAAI,MAAM,CAAC,kBAAkB,EAAE,CAAC;oBAC9B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC;wBACvD,WAAW,EAAE,IAAI;wBACjB,WAAW,EAAE,MAAM,CAAC,WAAW;wBAC/B,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;wBACpC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;wBAC9B,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;qBAC5C,CAAC,CAAC;oBAEH,IAAI,OAAO,EAAE,CAAC;wBACZ,SAAS,EAAE,CAAC;wBACZ,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACnC,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC7D,MAAM,CAAC,IAAI,CAAC,gCAAgC,IAAI,KAAK,GAAG,EAAE,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;QAED,uBAAuB;QACvB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YAChB,MAAM,CAAC,IAAI,CACT,oBAAoB,OAAO,aAAa,SAAS,eAAe;gBAC9D,aAAa,OAAO,QAAQ,SAAS,MAAM,CAC9C,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;IAChC,CAAC;IAED,4EAA4E;IAC5E,UAAU;IACV,4EAA4E;IAEpE,KAAK,CAAC,cAAc,CAC1B,WAAmB,EACnB,OAAqB;QAErB,yCAAyC;QACzC,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACnD,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;QAEjE,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC5D,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YAC7C,MAAM,CAAC,IAAI,CACT,iBAAiB,WAAW,qCAAqC;gBAC/D,mCAAmC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAC3E,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;QAED,yCAAyC;QACzC,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QAC1D,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CACT,iBAAiB,WAAW,oCAAoC,eAAe,IAAI;gBACjF,+BAA+B,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAC7D,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;QAED,oDAAoD;QACpD,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QACzD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;QAEnE,IAAI,kBAAkB,GAAG,KAAK,CAAC;QAC/B,IAAI,iBAAiB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YAC9D,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAA2B,CAAC;gBAClE,kBAAkB,GAAG,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC;gBAC9C,iBAAiB,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,uBAAuB;QACzB,CAAC;QAED,OAAO;YACL,WAAW;YACX,WAAW;YACX,kBAAkB;YAClB,iBAAiB;SAClB,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,kBAAkB,CAAC,MAAc;QAC7C,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,cAAc,CAAC,CAAC;QAEnE,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;gBAChC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;gBACxB,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;oBAC/B,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAC/C,MAAM,CAAC,IAAI,KAAK,CAAC,4BAA4B,cAAc,IAAI,CAAC,CAAC,CAClE,CAAC;gBACJ,CAAC,CAAC;aACH,CAAC,CAAC;YACH,OAAO,MAAM,CAAC;QAChB,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,eAAe,CAAC,WAAmB;QACjC,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAClC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,iBAAiB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7E,CAAC;QAED,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3E,OAAO,6BAA6B,CAAC;QACvC,CAAC;QAED,MAAM,GAAG,GAAG,MAAiC,CAAC;QAC9C,MAAM,OAAO,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC;QACvE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,4BAA4B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1D,CAAC;QAED,qCAAqC;QACrC,MAAM,eAAe,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC;QAC/E,IAAI,OAAO,GAAG,CAAC,UAAU,CAAC,KAAK,QAAQ,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;YACtF,OAAO,qBAAqB,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,eAAe,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QAClG,CAAC;QAED,kCAAkC;QAClC,IAAI,OAAO,GAAG,CAAC,WAAW,CAAC,KAAK,QAAQ,IAAI,GAAG,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE,CAAC;YACtE,OAAO,6BAA6B,CAAC;QACvC,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,gBAAgB,CAAC,OAAqB;QAC5C,8EAA8E;QAC9E,MAAM,OAAO,GAAG,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3D,MAAM,SAAS,GAAG,CAAC,GAAG,OAAO,CAAC,cAAc,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE1F,MAAM,WAAW,GACf,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC;QAErF,MAAM,KAAK,GAAsB;YAC/B,OAAO;YACP,MAAM,EAAE,YAAY;YACpB,QAAQ,EAAE,OAAO,CAAC,UAAU;YAC5B,SAAS,EACP,SAAS;gBACT,YAAY,OAAO,CAAC,WAAW,qBAAqB,OAAO,CAAC,WAAW,CAAC,IAAI,mBAAmB;YACjG,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,QAAQ,EAAE,WAA4C;YACtD,OAAO,EAAE,GAAG,OAAO,CAAC,WAAW,iBAAiB,OAAO,CAAC,WAAW,CAAC,IAAI,kBAAkB,OAAO,CAAC,SAAS,OAAO,OAAO,CAAC,QAAQ,EAAE;YACpI,eAAe,EAAE,OAAO,CAAC,eAAe;SACzC,CAAC;QAEF,OAAO,uBAAuB,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;IAEO,iBAAiB,CAAC,WAAmB;QAC3C,OAAO,qBAAqB,CAAC,WAAW,CAAC,CAAC;IAC5C,CAAC;IAED,WAAW,CAAC,IAAY;QACtB,oEAAoE;QACpE,oFAAoF;QACpF,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAC7D,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE;YAAE,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAE3D,2EAA2E;QAC3E,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC1D,IAAI,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACxC,+DAA+D;YAC/D,IAAI,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC;gBAAE,OAAO,OAAO,CAAC;QAC3D,CAAC;QAED,qEAAqE;QACrE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,OAAO,GAAG,CAAC,QAAQ,EAAE,iBAAiB,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;QAClE,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE;YAClC,MAAM,OAAO,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;YAC9B,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QACH,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YACf,uFAAuF;YACvF,MAAM,SAAS,GAAa,EAAE,CAAC;YAC/B,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;gBACvB,IACE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;oBACtB,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,EAC7D,CAAC;oBACD,MAAM;gBACR,CAAC;gBACD,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvB,CAAC;YACD,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;YAC3C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,MAAM,CAAC;QACvC,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAEO,kBAAkB;QACxB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrD,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC5C,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC;gBAClD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC3B,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;IACH,CAAC;IAED,qDAAqD;IACrD,eAAe;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED,mCAAmC;IACnC,iBAAiB;QACf,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;IACrC,CAAC;CACF"}
1
+ {"version":3,"file":"atr-drafter.js","sourceRoot":"","sources":["../../src/engines/atr-drafter.ts"],"names":[],"mappings":"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"}
@@ -33,6 +33,7 @@ export declare class GuardATREngine {
33
33
  private readonly engine;
34
34
  private readonly bundledEngine;
35
35
  private readonly cloudRuleIds;
36
+ private readonly bundledRuleIds;
36
37
  private matchCount;
37
38
  private readonly sessionTracker;
38
39
  private readonly fingerprintStore;
@@ -49,11 +50,18 @@ export declare class GuardATREngine {
49
50
  * Converts SecurityEvent to AgentEvent format and runs evaluation.
50
51
  */
51
52
  evaluate(event: SecurityEvent): ATRMatch[];
53
+ /** Maximum number of cloud rules to accept (prevent resource exhaustion) */
54
+ private static readonly MAX_CLOUD_RULES;
52
55
  /**
53
- * Add a rule from Threat Cloud. Skips if already loaded.
54
- * 新增從 Threat Cloud 接收的規則(避免重複)
56
+ * Add a rule from Threat Cloud. Skips if already loaded, over capacity,
57
+ * or contains unsafe regex patterns.
55
58
  */
56
59
  addCloudRule(rule: ATRRule): void;
60
+ /**
61
+ * Validate that all regex patterns in a rule are safe to compile and execute.
62
+ * Rejects patterns that are too long or fail to compile.
63
+ */
64
+ private static validatePatterns;
57
65
  /**
58
66
  * Convert a SecurityEvent into an AgentEvent for ATR evaluation.
59
67
  * Returns null if the event is not relevant to agent threat detection.
@@ -1 +1 @@
1
- {"version":3,"file":"atr-engine.d.ts","sourceRoot":"","sources":["../../src/engines/atr-engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAOH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,KAAK,EACV,QAAQ,EACR,OAAO,EAIR,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AA8DjE,MAAM,WAAW,oBAAoB;IACnC,iDAAiD;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8FAA8F;IAC9F,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,sCAAsC;IACtC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,kDAAkD;IAClD,SAAS,CAAC,EAAE,oBAAoB,CAAC;CAClC;AAED;;;;;;;GAOG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAY;IACnC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAmB;IACjD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAwB;IACzD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAwB;IACzD,OAAO,CAAC,YAAY,CAA+C;gBAEvD,MAAM,GAAE,oBAAyB;IA6B7C;;;OAGG;IACG,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;IA6BlC;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,QAAQ,EAAE;IA6C1C;;;OAGG;IACH,YAAY,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAMjC;;;OAGG;IACH,OAAO,CAAC,YAAY;IAqFpB,4BAA4B;IAC5B,aAAa,IAAI,MAAM;IAIvB,+CAA+C;IAC/C,YAAY,IAAI,MAAM;IAItB;;;OAGG;IACH,mBAAmB,IAAI,IAAI;IAqB3B,iCAAiC;IACjC,IAAI,IAAI,IAAI;IAOZ,+BAA+B;IAC/B,eAAe,IAAI,MAAM;IAIzB;;;OAGG;IACH,eAAe,IAAI;QACjB,cAAc,EAAE,MAAM,CAAC;QACvB,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC;QACnB,aAAa,EAAE,MAAM,CAAC;QACtB,kBAAkB,EAAE,MAAM,CAAC;KAC5B;IAUD,gDAAgD;IAChD,oBAAoB,IAAI,MAAM;IAI9B,+CAA+C;IAC/C,yBAAyB,IAAI,MAAM;IAInC,oDAAoD;IACpD,mBAAmB,IAAI,qBAAqB;IAI5C,oEAAoE;IACpE,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAI9C;;;;;;;;;;OAUG;IACH,OAAO,CAAC,wBAAwB;IAwBhC;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;CAyC1B"}
1
+ {"version":3,"file":"atr-engine.d.ts","sourceRoot":"","sources":["../../src/engines/atr-engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,KAAK,EACV,QAAQ,EACR,OAAO,EAIR,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AA4CjE,MAAM,WAAW,oBAAoB;IACnC,iDAAiD;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8FAA8F;IAC9F,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,sCAAsC;IACtC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,kDAAkD;IAClD,SAAS,CAAC,EAAE,oBAAoB,CAAC;CAClC;AAED;;;;;;;GAOG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAY;IACnC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAmB;IACjD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAqB;IACpD,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAwB;IACzD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAwB;IACzD,OAAO,CAAC,YAAY,CAA+C;gBAEvD,MAAM,GAAE,oBAAyB;IA4B7C;;;OAGG;IACG,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;IAiClC;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,QAAQ,EAAE;IA6C1C,4EAA4E;IAC5E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAO;IAE9C;;;OAGG;IACH,YAAY,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAWjC;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAqB/B;;;OAGG;IACH,OAAO,CAAC,YAAY;IAqFpB,4BAA4B;IAC5B,aAAa,IAAI,MAAM;IAIvB,+CAA+C;IAC/C,YAAY,IAAI,MAAM;IAItB;;;OAGG;IACH,mBAAmB,IAAI,IAAI;IAqB3B,iCAAiC;IACjC,IAAI,IAAI,IAAI;IAOZ,+BAA+B;IAC/B,eAAe,IAAI,MAAM;IAIzB;;;OAGG;IACH,eAAe,IAAI;QACjB,cAAc,EAAE,MAAM,CAAC;QACvB,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC;QACnB,aAAa,EAAE,MAAM,CAAC;QACtB,kBAAkB,EAAE,MAAM,CAAC;KAC5B;IAUD,gDAAgD;IAChD,oBAAoB,IAAI,MAAM;IAI9B,+CAA+C;IAC/C,yBAAyB,IAAI,MAAM;IAInC,oDAAoD;IACpD,mBAAmB,IAAI,qBAAqB;IAI5C,oEAAoE;IACpE,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAI9C;;;;;;;;;;OAUG;IACH,OAAO,CAAC,wBAAwB;IAwBhC;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;CAwC1B"}
@@ -10,7 +10,6 @@
10
10
  import { join, dirname } from 'node:path';
11
11
  import { existsSync } from 'node:fs';
12
12
  import { fileURLToPath } from 'node:url';
13
- import { createRequire } from 'node:module';
14
13
  import { createLogger } from '@panguard-ai/core';
15
14
  import { ATREngine, SessionTracker, SkillFingerprintStore } from '@panguard-ai/atr';
16
15
  import { SkillWhitelistManager } from './skill-whitelist.js';
@@ -20,32 +19,14 @@ const logger = createLogger('panguard-guard:atr-engine');
20
19
  * Falls back to null if the package can't be resolved.
21
20
  */
22
21
  function resolveBundledRulesDir() {
23
- // Strategy 1: createRequire from this module's location (works in dev/workspace)
24
- try {
25
- const req1 = createRequire(import.meta.url);
26
- const atrPkgPath = req1.resolve('@panguard-ai/atr/package.json');
27
- return join(dirname(atrPkgPath), 'rules');
28
- }
29
- catch {
30
- /* continue to next strategy */
31
- }
32
- // Strategy 2: createRequire from the CLI entry point (handles npm -g flat install)
33
- try {
34
- if (process.argv[1]) {
35
- const req2 = createRequire(join(dirname(process.argv[1]), '_resolve.js'));
36
- const atrPkgPath = req2.resolve('@panguard-ai/atr/package.json');
37
- return join(dirname(atrPkgPath), 'rules');
38
- }
39
- }
40
- catch {
41
- /* continue to next strategy */
42
- }
43
- // Strategy 3: Walk up from this module searching node_modules
22
+ // Strategy 1: Walk up from this module searching node_modules for agent-threat-rules/rules.
23
+ // This is more robust than require.resolve() which fails when the package
24
+ // uses strict ESM exports (as agent-threat-rules v2.0.0 does).
44
25
  try {
45
26
  const thisDir = dirname(fileURLToPath(import.meta.url));
46
27
  let dir = thisDir;
47
28
  for (let i = 0; i < 10; i++) {
48
- const candidate = join(dir, 'node_modules', '@panguard-ai', 'atr', 'rules');
29
+ const candidate = join(dir, 'node_modules', 'agent-threat-rules', 'rules');
49
30
  if (existsSync(candidate))
50
31
  return candidate;
51
32
  const parent = dirname(dir);
@@ -88,6 +69,7 @@ export class GuardATREngine {
88
69
  engine;
89
70
  bundledEngine;
90
71
  cloudRuleIds = new Set();
72
+ bundledRuleIds = new Set();
91
73
  matchCount = 0;
92
74
  sessionTracker;
93
75
  fingerprintStore;
@@ -99,7 +81,6 @@ export class GuardATREngine {
99
81
  // Primary engine for custom user rules
100
82
  this.engine = new ATREngine({
101
83
  rulesDir: config.rulesDir,
102
- hotReload: config.hotReload,
103
84
  sessionTracker,
104
85
  });
105
86
  // Bundled rules from the @panguard-ai/atr package
@@ -127,6 +108,10 @@ export class GuardATREngine {
127
108
  if (this.bundledEngine) {
128
109
  const bundled = await this.bundledEngine.loadRules();
129
110
  total += bundled;
111
+ // Track bundled rule IDs so cloud rules don't duplicate them
112
+ for (const r of this.bundledEngine.getRules()) {
113
+ this.bundledRuleIds.add(r.id);
114
+ }
130
115
  logger.info(`ATR bundled rules loaded: ${bundled} rules`);
131
116
  }
132
117
  // Load custom user rules
@@ -185,16 +170,54 @@ export class GuardATREngine {
185
170
  }
186
171
  return matches;
187
172
  }
173
+ /** Maximum number of cloud rules to accept (prevent resource exhaustion) */
174
+ static MAX_CLOUD_RULES = 500;
188
175
  /**
189
- * Add a rule from Threat Cloud. Skips if already loaded.
190
- * 新增從 Threat Cloud 接收的規則(避免重複)
176
+ * Add a rule from Threat Cloud. Skips if already loaded, over capacity,
177
+ * or contains unsafe regex patterns.
191
178
  */
192
179
  addCloudRule(rule) {
193
- if (this.cloudRuleIds.has(rule.id))
180
+ // Skip if already loaded from bundled or cloud sources
181
+ if (this.bundledRuleIds.has(rule.id) || this.cloudRuleIds.has(rule.id))
182
+ return;
183
+ // Layer 3: capacity cap
184
+ if (this.cloudRuleIds.size >= GuardATREngine.MAX_CLOUD_RULES)
185
+ return;
186
+ // Layer 2: reject rules with unsafe regex patterns (ReDoS prevention)
187
+ if (!GuardATREngine.validatePatterns(rule))
194
188
  return;
195
189
  this.engine.addRule(rule);
196
190
  this.cloudRuleIds.add(rule.id);
197
191
  }
192
+ /**
193
+ * Validate that all regex patterns in a rule are safe to compile and execute.
194
+ * Rejects patterns that are too long or fail to compile.
195
+ */
196
+ static validatePatterns(rule) {
197
+ const MAX_PATTERN_LEN = 2000;
198
+ try {
199
+ const conditions = rule.detection?.conditions;
200
+ if (!Array.isArray(conditions))
201
+ return true; // no patterns to validate
202
+ for (const cond of conditions) {
203
+ const patterns = cond.patterns;
204
+ if (!Array.isArray(patterns))
205
+ continue;
206
+ for (const p of patterns) {
207
+ if (typeof p !== 'string')
208
+ return false;
209
+ if (p.length > MAX_PATTERN_LEN)
210
+ return false;
211
+ // Verify the pattern compiles without error
212
+ new RegExp(p);
213
+ }
214
+ }
215
+ return true;
216
+ }
217
+ catch {
218
+ return false;
219
+ }
220
+ }
198
221
  /**
199
222
  * Convert a SecurityEvent into an AgentEvent for ATR evaluation.
200
223
  * Returns null if the event is not relevant to agent threat detection.
@@ -422,7 +445,6 @@ export class GuardATREngine {
422
445
  matchedPatterns: [anomaly.newValue],
423
446
  confidence: this.computeAnomalyConfidence(anomaly),
424
447
  timestamp: new Date().toISOString(),
425
- scan_context: 'native',
426
448
  };
427
449
  }
428
450
  }
@@ -1 +1 @@
1
- {"version":3,"file":"atr-engine.js","sourceRoot":"","sources":["../../src/engines/atr-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"atr-engine.js","sourceRoot":"","sources":["../../src/engines/atr-engine.ts"],"names":[],"mappings":"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"}