@panguard-ai/manager 0.2.0 → 1.0.0

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/server.js ADDED
@@ -0,0 +1,469 @@
1
+ /**
2
+ * Manager HTTP API Server
3
+ * Manager HTTP API 伺服器
4
+ *
5
+ * Exposes the Manager orchestrator as a REST API for Guard agents
6
+ * and the Admin dashboard.
7
+ *
8
+ * Endpoints:
9
+ * - POST /api/agents/register Register a new agent
10
+ * - POST /api/agents/:id/heartbeat Agent heartbeat
11
+ * - POST /api/agents/:id/events Submit threat report
12
+ * - DELETE /api/agents/:id Deregister an agent
13
+ * - GET /api/agents List all agents
14
+ * - GET /api/agents/:id Get single agent
15
+ * - GET /api/overview Dashboard overview
16
+ * - GET /api/threats Recent threats
17
+ * - GET /api/threats/summary Threat summary
18
+ * - POST /api/policy Create policy
19
+ * - GET /api/policy/active Get active policy
20
+ * - GET /api/policy/agent/:id Get policy for agent
21
+ * - GET /api/events/stream SSE stream for real-time updates
22
+ * - GET /health Health check
23
+ *
24
+ * @module @panguard-ai/manager/server
25
+ */
26
+ import { createServer } from 'node:http';
27
+ import { createHash, timingSafeEqual } from 'node:crypto';
28
+ import { createLogger } from '@panguard-ai/core';
29
+ import { Manager } from './manager.js';
30
+ const logger = createLogger('panguard-manager:server');
31
+ /**
32
+ * Manager HTTP API Server
33
+ * Wraps the Manager class with a REST API using raw node:http.
34
+ */
35
+ export class ManagerServer {
36
+ server = null;
37
+ manager;
38
+ config;
39
+ rateLimits = new Map();
40
+ hashedAuthToken;
41
+ sseClients = new Set();
42
+ constructor(config) {
43
+ this.config = config;
44
+ this.manager = new Manager(config);
45
+ // In production, require an auth token to prevent unauthenticated access
46
+ if (process.env['NODE_ENV'] === 'production' && !config.authToken) {
47
+ throw new Error('MANAGER_AUTH_TOKEN is required in production. ' + 'Generate one with: openssl rand -hex 32');
48
+ }
49
+ // Pre-hash auth token for constant-time comparison
50
+ this.hashedAuthToken = config.authToken
51
+ ? createHash('sha256').update(config.authToken).digest()
52
+ : Buffer.alloc(0);
53
+ }
54
+ /** Get the underlying Manager instance */
55
+ getManager() {
56
+ return this.manager;
57
+ }
58
+ /** Start the HTTP server and Manager service */
59
+ async start() {
60
+ return new Promise((resolve, reject) => {
61
+ this.server = createServer((req, res) => {
62
+ void this.handleRequest(req, res);
63
+ });
64
+ this.server.once('error', (err) => {
65
+ reject(err);
66
+ });
67
+ this.server.listen(this.config.port, () => {
68
+ this.manager.start();
69
+ logger.info(`Manager server started on port ${this.config.port} / ` +
70
+ `Manager 伺服器已啟動於埠 ${this.config.port}`);
71
+ resolve();
72
+ });
73
+ });
74
+ }
75
+ /** Stop the server and Manager service gracefully */
76
+ async stop() {
77
+ // Close all SSE connections / 關閉所有 SSE 連線
78
+ for (const client of this.sseClients) {
79
+ client.end();
80
+ }
81
+ this.sseClients.clear();
82
+ this.manager.stop();
83
+ return new Promise((resolve) => {
84
+ if (this.server) {
85
+ this.server.close(() => resolve());
86
+ setTimeout(() => resolve(), 10_000);
87
+ }
88
+ else {
89
+ resolve();
90
+ }
91
+ });
92
+ }
93
+ // ===== Request Handling / 請求處理 =====
94
+ async handleRequest(req, res) {
95
+ // Security headers
96
+ res.setHeader('X-Content-Type-Options', 'nosniff');
97
+ res.setHeader('X-Frame-Options', 'DENY');
98
+ res.setHeader('X-XSS-Protection', '0');
99
+ res.setHeader('Referrer-Policy', 'strict-origin-when-cross-origin');
100
+ res.setHeader('Content-Type', 'application/json');
101
+ if (process.env['NODE_ENV'] === 'production') {
102
+ res.setHeader('Strict-Transport-Security', 'max-age=63072000; includeSubDomains; preload');
103
+ }
104
+ // CORS
105
+ const corsEnv = process.env['CORS_ALLOWED_ORIGINS'] ?? '';
106
+ const allowedOrigins = corsEnv ? corsEnv.split(',').map((o) => o.trim()) : [];
107
+ const origin = req.headers.origin ?? '';
108
+ if (allowedOrigins.includes('*') && process.env['NODE_ENV'] !== 'production') {
109
+ res.setHeader('Access-Control-Allow-Origin', origin || '*');
110
+ }
111
+ else if (origin && allowedOrigins.includes(origin)) {
112
+ res.setHeader('Access-Control-Allow-Origin', origin);
113
+ }
114
+ res.setHeader('Access-Control-Allow-Methods', 'GET, POST, DELETE, OPTIONS');
115
+ res.setHeader('Access-Control-Allow-Headers', 'Content-Type, Authorization');
116
+ if (req.method === 'OPTIONS') {
117
+ res.writeHead(204);
118
+ res.end();
119
+ return;
120
+ }
121
+ const clientIP = req.socket.remoteAddress ?? 'unknown';
122
+ // Rate limiting
123
+ if (!this.checkRateLimit(clientIP)) {
124
+ this.sendJson(res, 429, { ok: false, error: 'Rate limit exceeded' });
125
+ return;
126
+ }
127
+ const url = req.url ?? '/';
128
+ const pathname = url.split('?')[0] ?? '/';
129
+ // Health check (no auth required)
130
+ if (pathname === '/health') {
131
+ this.sendJson(res, 200, {
132
+ ok: true,
133
+ data: {
134
+ status: 'healthy',
135
+ uptime: process.uptime(),
136
+ agents: this.manager.getAgentCount(),
137
+ running: this.manager.isRunning(),
138
+ },
139
+ });
140
+ return;
141
+ }
142
+ // Auth check for all other endpoints
143
+ if (!this.verifyAuth(req)) {
144
+ this.sendJson(res, 401, { ok: false, error: 'Unauthorized' });
145
+ return;
146
+ }
147
+ // Content-Type check for POST requests
148
+ if (req.method === 'POST') {
149
+ const contentType = req.headers['content-type'] ?? '';
150
+ if (!contentType.includes('application/json')) {
151
+ this.sendJson(res, 415, { ok: false, error: 'Content-Type must be application/json' });
152
+ return;
153
+ }
154
+ }
155
+ try {
156
+ await this.route(req, res, pathname);
157
+ }
158
+ catch (err) {
159
+ const message = err instanceof Error ? err.message : 'Internal server error';
160
+ logger.error(`Request error: ${message}`);
161
+ this.sendJson(res, 500, { ok: false, error: message });
162
+ }
163
+ }
164
+ /** Route requests to handlers */
165
+ async route(req, res, pathname) {
166
+ const method = req.method ?? 'GET';
167
+ // POST /api/agents/register
168
+ if (pathname === '/api/agents/register' && method === 'POST') {
169
+ await this.handleRegister(req, res);
170
+ return;
171
+ }
172
+ // POST /api/agents/:id/heartbeat
173
+ const heartbeatMatch = pathname.match(/^\/api\/agents\/([^/]+)\/heartbeat$/);
174
+ if (heartbeatMatch && method === 'POST') {
175
+ await this.handleHeartbeat(req, res, heartbeatMatch[1]);
176
+ return;
177
+ }
178
+ // POST /api/agents/:id/events
179
+ const eventsMatch = pathname.match(/^\/api\/agents\/([^/]+)\/events$/);
180
+ if (eventsMatch && method === 'POST') {
181
+ await this.handleEvents(req, res, eventsMatch[1]);
182
+ return;
183
+ }
184
+ // DELETE /api/agents/:id
185
+ const deleteMatch = pathname.match(/^\/api\/agents\/([^/]+)$/);
186
+ if (deleteMatch && method === 'DELETE') {
187
+ this.handleDeregister(res, deleteMatch[1]);
188
+ return;
189
+ }
190
+ // GET /api/agents/:id
191
+ const agentMatch = pathname.match(/^\/api\/agents\/([^/]+)$/);
192
+ if (agentMatch && method === 'GET') {
193
+ this.handleGetAgent(res, agentMatch[1]);
194
+ return;
195
+ }
196
+ // GET /api/agents
197
+ if (pathname === '/api/agents' && method === 'GET') {
198
+ this.handleListAgents(req, res);
199
+ return;
200
+ }
201
+ // GET /api/overview
202
+ if (pathname === '/api/overview' && method === 'GET') {
203
+ this.handleOverview(req, res);
204
+ return;
205
+ }
206
+ // GET /api/threats/summary
207
+ if (pathname === '/api/threats/summary' && method === 'GET') {
208
+ this.handleThreatSummary(res);
209
+ return;
210
+ }
211
+ // GET /api/threats
212
+ if (pathname === '/api/threats' && method === 'GET') {
213
+ this.handleRecentThreats(req, res);
214
+ return;
215
+ }
216
+ // POST /api/policy
217
+ if (pathname === '/api/policy' && method === 'POST') {
218
+ await this.handleCreatePolicy(req, res);
219
+ return;
220
+ }
221
+ // GET /api/policy/active
222
+ if (pathname === '/api/policy/active' && method === 'GET') {
223
+ this.handleActivePolicy(res);
224
+ return;
225
+ }
226
+ // GET /api/policy/agent/:id
227
+ const policyAgentMatch = pathname.match(/^\/api\/policy\/agent\/([^/]+)$/);
228
+ if (policyAgentMatch && method === 'GET') {
229
+ this.handlePolicyForAgent(res, policyAgentMatch[1]);
230
+ return;
231
+ }
232
+ // GET /api/events/stream (SSE)
233
+ if (pathname === '/api/events/stream' && method === 'GET') {
234
+ this.handleSSEStream(res);
235
+ return;
236
+ }
237
+ // 404
238
+ this.sendJson(res, 404, { ok: false, error: 'Not found' });
239
+ }
240
+ // ===== Route Handlers / 路由處理器 =====
241
+ async handleRegister(req, res) {
242
+ const body = await this.readBody(req);
243
+ if (!body || !body.hostname || !body.os || !body.arch || !body.version) {
244
+ this.sendJson(res, 400, {
245
+ ok: false,
246
+ error: 'Missing required fields: hostname, os, arch, version',
247
+ });
248
+ return;
249
+ }
250
+ try {
251
+ const registration = this.manager.handleRegistration(body);
252
+ this.sendJson(res, 201, { ok: true, data: registration });
253
+ this.broadcastSSE('agent_online', {
254
+ agentId: registration.agentId,
255
+ hostname: registration.hostname,
256
+ });
257
+ }
258
+ catch (err) {
259
+ const message = err instanceof Error ? err.message : 'Registration failed';
260
+ this.sendJson(res, 409, { ok: false, error: message });
261
+ }
262
+ }
263
+ async handleHeartbeat(req, res, agentId) {
264
+ const body = await this.readBody(req);
265
+ if (!body) {
266
+ this.sendJson(res, 400, { ok: false, error: 'Invalid JSON body' });
267
+ return;
268
+ }
269
+ const heartbeat = { ...body, agentId };
270
+ const updated = this.manager.handleHeartbeat(heartbeat);
271
+ if (!updated) {
272
+ this.sendJson(res, 404, { ok: false, error: `Agent ${agentId} not found` });
273
+ return;
274
+ }
275
+ this.sendJson(res, 200, { ok: true, data: updated });
276
+ }
277
+ async handleEvents(req, res, agentId) {
278
+ const body = await this.readBody(req);
279
+ if (!body || !Array.isArray(body.threats)) {
280
+ this.sendJson(res, 400, { ok: false, error: 'Invalid body: threats array required' });
281
+ return;
282
+ }
283
+ const report = { ...body, agentId };
284
+ const aggregated = this.manager.handleThreatReport(report);
285
+ this.sendJson(res, 200, {
286
+ ok: true,
287
+ data: { accepted: aggregated.length, threats: aggregated },
288
+ });
289
+ if (aggregated.length > 0) {
290
+ this.broadcastSSE('threats_reported', {
291
+ agentId,
292
+ count: aggregated.length,
293
+ threats: aggregated.map((t) => ({
294
+ id: t.id,
295
+ severity: t.originalThreat.verdict.conclusion,
296
+ sourceHostname: t.sourceHostname,
297
+ })),
298
+ });
299
+ }
300
+ }
301
+ handleDeregister(res, agentId) {
302
+ const removed = this.manager.handleDeregistration(agentId);
303
+ if (!removed) {
304
+ this.sendJson(res, 404, { ok: false, error: `Agent ${agentId} not found` });
305
+ return;
306
+ }
307
+ this.sendJson(res, 200, { ok: true, data: { agentId, removed: true } });
308
+ this.broadcastSSE('agent_offline', { agentId });
309
+ }
310
+ handleGetAgent(res, agentId) {
311
+ const agent = this.manager.getAgent(agentId);
312
+ if (!agent) {
313
+ this.sendJson(res, 404, { ok: false, error: `Agent ${agentId} not found` });
314
+ return;
315
+ }
316
+ this.sendJson(res, 200, { ok: true, data: agent });
317
+ }
318
+ handleListAgents(_req, res) {
319
+ const overview = this.manager.getOverview();
320
+ this.sendJson(res, 200, { ok: true, data: overview.agents });
321
+ }
322
+ handleOverview(_req, res) {
323
+ const overview = this.manager.getOverview();
324
+ this.sendJson(res, 200, { ok: true, data: overview });
325
+ }
326
+ handleThreatSummary(res) {
327
+ const summary = this.manager.getThreatSummary();
328
+ this.sendJson(res, 200, { ok: true, data: summary });
329
+ }
330
+ handleRecentThreats(req, res) {
331
+ const url = req.url ?? '/';
332
+ const params = new URL(url, 'http://localhost').searchParams;
333
+ const sinceParam = params.get('since');
334
+ const since = sinceParam ? new Date(sinceParam) : new Date(Date.now() - 3_600_000); // default 1h
335
+ const threats = this.manager.getRecentThreats(since);
336
+ this.sendJson(res, 200, { ok: true, data: threats });
337
+ }
338
+ async handleCreatePolicy(req, res) {
339
+ const body = await this.readBody(req);
340
+ if (!body || !Array.isArray(body.rules)) {
341
+ this.sendJson(res, 400, { ok: false, error: 'Invalid body: rules array required' });
342
+ return;
343
+ }
344
+ const policy = await this.manager.createPolicy(body.rules, body.broadcast ?? true);
345
+ this.sendJson(res, 201, { ok: true, data: policy });
346
+ this.broadcastSSE('policy_created', {
347
+ policyId: policy.policyId,
348
+ version: policy.version,
349
+ });
350
+ }
351
+ handleActivePolicy(res) {
352
+ const policy = this.manager.getActivePolicy();
353
+ if (!policy) {
354
+ this.sendJson(res, 200, { ok: true, data: null });
355
+ return;
356
+ }
357
+ this.sendJson(res, 200, { ok: true, data: policy });
358
+ }
359
+ handlePolicyForAgent(res, agentId) {
360
+ const policy = this.manager.getPolicyForAgent(agentId);
361
+ this.sendJson(res, 200, { ok: true, data: policy });
362
+ }
363
+ // ===== SSE / 伺服器推送事件 =====
364
+ /** Handle a new SSE stream connection / 處理新的 SSE 串流連線 */
365
+ handleSSEStream(res) {
366
+ res.writeHead(200, {
367
+ 'Content-Type': 'text/event-stream',
368
+ 'Cache-Control': 'no-cache',
369
+ Connection: 'keep-alive',
370
+ 'X-Accel-Buffering': 'no',
371
+ });
372
+ // Send initial connection event / 發送初始連線事件
373
+ this.sendSSE(res, 'connected', { timestamp: new Date().toISOString() });
374
+ // Keep-alive every 30 seconds to prevent proxy timeouts / 每 30 秒保持連線
375
+ const keepAlive = setInterval(() => {
376
+ res.write(':keep-alive\n\n');
377
+ }, 30_000);
378
+ // Track client / 追蹤客戶端
379
+ this.sseClients.add(res);
380
+ // Clean up on disconnect / 斷線時清理
381
+ res.on('close', () => {
382
+ clearInterval(keepAlive);
383
+ this.sseClients.delete(res);
384
+ });
385
+ }
386
+ /** Broadcast an event to all connected SSE clients / 向所有已連線的 SSE 客戶端廣播事件 */
387
+ broadcastSSE(eventType, data) {
388
+ const payload = `data: ${JSON.stringify({ type: eventType, data, timestamp: new Date().toISOString() })}\n\n`;
389
+ for (const client of this.sseClients) {
390
+ try {
391
+ client.write(payload);
392
+ }
393
+ catch {
394
+ this.sseClients.delete(client);
395
+ }
396
+ }
397
+ }
398
+ /** Send an SSE event to a single client / 向單個客戶端發送 SSE 事件 */
399
+ sendSSE(res, event, data) {
400
+ res.write(`event: ${event}\ndata: ${JSON.stringify(data)}\n\n`);
401
+ }
402
+ // ===== Utilities / 工具方法 =====
403
+ /** Read and parse JSON body from request */
404
+ readBody(req) {
405
+ return new Promise((resolve) => {
406
+ const chunks = [];
407
+ let size = 0;
408
+ const maxSize = 1_048_576; // 1 MB
409
+ req.on('data', (chunk) => {
410
+ size += chunk.length;
411
+ if (size > maxSize) {
412
+ req.destroy();
413
+ resolve(null);
414
+ return;
415
+ }
416
+ chunks.push(chunk);
417
+ });
418
+ req.on('end', () => {
419
+ try {
420
+ const raw = Buffer.concat(chunks).toString('utf8');
421
+ resolve(JSON.parse(raw));
422
+ }
423
+ catch {
424
+ resolve(null);
425
+ }
426
+ });
427
+ req.on('error', () => resolve(null));
428
+ });
429
+ }
430
+ /** Send JSON response */
431
+ sendJson(res, status, body) {
432
+ const json = JSON.stringify(body);
433
+ res.writeHead(status, { 'Content-Type': 'application/json' });
434
+ res.end(json);
435
+ }
436
+ /** Verify Bearer token authentication */
437
+ verifyAuth(req) {
438
+ // If no auth token configured, only allow loopback (dev safety)
439
+ if (this.hashedAuthToken.length === 0) {
440
+ const remoteAddr = req.socket.remoteAddress ?? '';
441
+ return (remoteAddr === '127.0.0.1' || remoteAddr === '::1' || remoteAddr === '::ffff:127.0.0.1');
442
+ }
443
+ const authHeader = req.headers.authorization ?? '';
444
+ const token = authHeader.startsWith('Bearer ') ? authHeader.slice(7) : '';
445
+ if (!token)
446
+ return false;
447
+ const tokenHash = createHash('sha256').update(token).digest();
448
+ try {
449
+ return timingSafeEqual(tokenHash, this.hashedAuthToken);
450
+ }
451
+ catch {
452
+ return false;
453
+ }
454
+ }
455
+ /** Simple in-memory rate limiter */
456
+ checkRateLimit(key, maxRequests = 60) {
457
+ const now = Date.now();
458
+ const windowMs = 60_000;
459
+ const entry = this.rateLimits.get(key);
460
+ if (!entry || now > entry.resetAt) {
461
+ this.rateLimits.set(key, { count: 1, resetAt: now + windowMs });
462
+ return true;
463
+ }
464
+ const newCount = entry.count + 1;
465
+ this.rateLimits.set(key, { ...entry, count: newCount });
466
+ return newCount <= maxRequests;
467
+ }
468
+ }
469
+ //# sourceMappingURL=server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"threat-aggregator.d.ts","sourceRoot":"","sources":["../src/threat-aggregator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,KAAK,EACV,YAAY,EAEZ,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACd,MAAM,YAAY,CAAC;AAYpB;;;;;GAKG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgC;IACxD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAGlD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4B;IACpD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA4B;IACtD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA4B;IAG1D,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAS;IAC7C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;gBAEzB,mBAAmB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;IAU5D;;;;;;;;OAQG;IACH,YAAY,CACV,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,MAAM,GACf,SAAS,gBAAgB,EAAE;IAuE9B;;OAEG;IACH,OAAO,CAAC,WAAW;IA0BnB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IA0FxB;;;;;OAKG;IACH,gBAAgB,CAAC,KAAK,EAAE,IAAI,GAAG,SAAS,gBAAgB,EAAE;IAU1D;;;;;OAKG;IACH,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,gBAAgB,EAAE;IAS/D;;;;OAIG;IACH,eAAe,IAAI,SAAS,gBAAgB,EAAE;IAI9C;;;;OAIG;IACH,UAAU,IAAI,aAAa;IAyC3B;;;;;OAKG;IACH,YAAY,IAAI,MAAM;IA6BtB;;OAEG;IACH,OAAO,CAAC,cAAc;IActB;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;CACF"}
1
+ {"version":3,"file":"threat-aggregator.d.ts","sourceRoot":"","sources":["../src/threat-aggregator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,KAAK,EACV,YAAY,EAEZ,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACd,MAAM,YAAY,CAAC;AAYpB;;;;;GAKG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgC;IACxD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAGlD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4B;IACpD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA4B;IACtD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA4B;IAG1D,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAS;IAC7C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;gBAEzB,mBAAmB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;IAU5D;;;;;;;;OAQG;IACH,YAAY,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,gBAAgB,EAAE;IAmEjF;;OAEG;IACH,OAAO,CAAC,WAAW;IA0BnB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IA0FxB;;;;;OAKG;IACH,gBAAgB,CAAC,KAAK,EAAE,IAAI,GAAG,SAAS,gBAAgB,EAAE;IAU1D;;;;;OAKG;IACH,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,gBAAgB,EAAE;IAS/D;;;;OAIG;IACH,eAAe,IAAI,SAAS,gBAAgB,EAAE;IAI9C;;;;OAIG;IACH,UAAU,IAAI,aAAa;IAyC3B;;;;;OAKG;IACH,YAAY,IAAI,MAAM;IA4BtB;;OAEG;IACH,OAAO,CAAC,cAAc;IActB;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;CACF"}
@@ -314,8 +314,7 @@ export class ThreatAggregator {
314
314
  this.rebuildIndexes();
315
315
  }
316
316
  if (toRemove.length > 0) {
317
- logger.info(`Purged ${toRemove.length} expired threats / ` +
318
- `清除了 ${toRemove.length} 個過期威脅`);
317
+ logger.info(`Purged ${toRemove.length} expired threats / ` + `清除了 ${toRemove.length} 個過期威脅`);
319
318
  }
320
319
  return toRemove.length;
321
320
  }
@@ -1 +1 @@
1
- {"version":3,"file":"threat-aggregator.js","sourceRoot":"","sources":["../src/threat-aggregator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"threat-aggregator.js","sourceRoot":"","sources":["../src/threat-aggregator.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -17,15 +17,18 @@ export interface AgentPlatformInfo {
17
17
  export interface AgentRegistration {
18
18
  readonly agentId: string;
19
19
  readonly hostname: string;
20
+ readonly endpoint: string;
20
21
  readonly platform: AgentPlatformInfo;
21
22
  readonly version: string;
22
23
  readonly registeredAt: string;
23
24
  readonly lastHeartbeat: string;
24
25
  readonly status: AgentStatus;
26
+ readonly organizationId?: string;
25
27
  }
26
28
  /** Incoming registration request from a Guard agent / 來自 Guard 代理的登錄請求 */
27
29
  export interface AgentRegistrationRequest {
28
30
  readonly hostname: string;
31
+ readonly endpoint: string;
29
32
  readonly os: string;
30
33
  readonly arch: string;
31
34
  readonly version: string;
@@ -66,6 +69,7 @@ export interface AggregatedThreat {
66
69
  readonly sourceHostname: string;
67
70
  readonly receivedAt: string;
68
71
  readonly correlatedWith: readonly string[];
72
+ readonly organizationId?: string;
69
73
  }
70
74
  /** Correlation match indicating related threats / 表示相關威脅的關聯比對 */
71
75
  export interface CorrelationMatch {
@@ -100,6 +104,7 @@ export interface PolicyUpdate {
100
104
  readonly rules: readonly PolicyRule[];
101
105
  readonly updatedAt: string;
102
106
  readonly appliedTo: readonly string[];
107
+ readonly organizationId?: string;
103
108
  }
104
109
  /** Manager server configuration / Manager 伺服器配置 */
105
110
  export interface ManagerConfig {
@@ -132,10 +137,19 @@ export interface ManagerOverview {
132
137
  readonly activePolicyVersion: number;
133
138
  readonly uptimeMs: number;
134
139
  }
140
+ /** Per-agent policy push result / 單一代理策略推送結果 */
141
+ export interface AgentPushResult {
142
+ readonly agentId: string;
143
+ readonly success: boolean;
144
+ readonly error?: string;
145
+ }
135
146
  /** Policy broadcast result / 策略廣播結果 */
136
147
  export interface PolicyBroadcastResult {
137
148
  readonly policyId: string;
138
149
  readonly targetAgents: readonly string[];
139
150
  readonly queuedAt: string;
151
+ readonly agentResults?: readonly AgentPushResult[];
152
+ readonly successCount?: number;
153
+ readonly failureCount?: number;
140
154
  }
141
155
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAIjE,gDAAgD;AAChD,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC;AAEzD,0CAA0C;AAC1C,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,yCAAyC;AACzC,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;CAC9B;AAED,0EAA0E;AAC1E,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;CACtB;AAID,6DAA6D;AAC7D,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAID,yDAAyD;AACzD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE;QAChB,QAAQ,CAAC,UAAU,EAAE,QAAQ,GAAG,YAAY,GAAG,WAAW,CAAC;QAC3D,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;QAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;KACzB,CAAC;CACH;AAED,2EAA2E;AAC3E,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,SAAS,WAAW,EAAE,CAAC;IACzC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,4FAA4F;AAC5F,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,cAAc,EAAE,WAAW,CAAC;IACrC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5C;AAED,iEAAiE;AACjE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,eAAe,EAAE,gBAAgB,GAAG,mBAAmB,GAAG,qBAAqB,CAAC;IACzF,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CAClC;AAED,8CAA8C;AAC9C,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;CACnC;AAID,sCAAsC;AACtC,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,iBAAiB,GAAG,cAAc,GAAG,QAAQ,CAAC;IAC1E,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,qCAAqC;AACrC,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;CACvC;AAID,mDAAmD;AACnD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;CACpC;AAED,oDAAoD;AACpD,eAAO,MAAM,sBAAsB,EAAE,aAQpC,CAAC;AAIF,kDAAkD;AAClD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,8DAA8D;AAC9D,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,SAAS,aAAa,EAAE,CAAC;IAC1C,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,uCAAuC;AACvC,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAqIH,oDAAoD;AACpD,MAAM,CAAC,MAAM,sBAAsB,GAAkB;IACnD,IAAI,EAAE,IAAI;IACV,SAAS,EAAE,EAAE;IACb,mBAAmB,EAAE,MAAM;IAC3B,kBAAkB,EAAE,MAAM;IAC1B,SAAS,EAAE,GAAG;IACd,mBAAmB,EAAE,OAAO,EAAE,YAAY;IAC1C,iBAAiB,EAAE,UAAU,EAAE,WAAW;CAC3C,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA0IH,oDAAoD;AACpD,MAAM,CAAC,MAAM,sBAAsB,GAAkB;IACnD,IAAI,EAAE,IAAI;IACV,SAAS,EAAE,EAAE;IACb,mBAAmB,EAAE,MAAM;IAC3B,kBAAkB,EAAE,MAAM;IAC1B,SAAS,EAAE,GAAG;IACd,mBAAmB,EAAE,OAAO,EAAE,YAAY;IAC1C,iBAAiB,EAAE,UAAU,EAAE,WAAW;CAC3C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,MAAM,GAAG,SAAS,CAkBpB;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,MAAM,GAAG,SAAS,CAkBpB"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,SAAS,CAkBrF;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,SAAS,CAWrF"}