@neurosec/sentry 1.0.17 → 1.0.18

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.
@@ -0,0 +1,299 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AnomalyDetector = void 0;
4
+ const crypto_1 = require("crypto");
5
+ const logger_1 = require("./logger");
6
+ class AnomalyDetector {
7
+ constructor(auditLogger, hostId) {
8
+ this.baselines = new Map();
9
+ this.actionBuffer = new Map();
10
+ this.alerts = [];
11
+ this.checkTimer = null;
12
+ this.auditLogger = auditLogger;
13
+ this.config = {
14
+ hostId,
15
+ minSamplesForBaseline: 10,
16
+ deviationThreshold: 2.0,
17
+ checkIntervalMs: 60000,
18
+ };
19
+ }
20
+ start() {
21
+ this.checkTimer = setInterval(() => this.runCheck(), this.config.checkIntervalMs);
22
+ logger_1.logger.info('Anomaly detector started', {
23
+ minSamples: this.config.minSamplesForBaseline,
24
+ threshold: this.config.deviationThreshold,
25
+ });
26
+ }
27
+ stop() {
28
+ if (this.checkTimer) {
29
+ clearInterval(this.checkTimer);
30
+ this.checkTimer = null;
31
+ }
32
+ }
33
+ // ── Feed actions into the detector ───────────────────────────────────────
34
+ ingestAction(action) {
35
+ const key = `${action.frameworkId}:${action.pid}`;
36
+ if (!this.actionBuffer.has(key)) {
37
+ this.actionBuffer.set(key, []);
38
+ }
39
+ this.actionBuffer.get(key).push(action);
40
+ // Keep buffer bounded
41
+ const buf = this.actionBuffer.get(key);
42
+ if (buf.length > 1000) {
43
+ buf.splice(0, buf.length - 500);
44
+ }
45
+ }
46
+ // ── Behavioral baseline establishment ────────────────────────────────────
47
+ establishBaseline(frameworkId, pid) {
48
+ const key = `${frameworkId}:${pid}`;
49
+ const actions = this.actionBuffer.get(key);
50
+ if (!actions || actions.length < this.config.minSamplesForBaseline)
51
+ return null;
52
+ const now = Date.now();
53
+ const windowMs = 300000; // 5 minute window for baseline
54
+ const recent = actions.filter(a => (now - a.timestamp) < windowMs);
55
+ if (recent.length < this.config.minSamplesForBaseline)
56
+ return null;
57
+ const minutesElapsed = Math.max(1, (now - recent[0].timestamp) / 60000);
58
+ const fileReads = recent.filter(a => a.type === 'file_read').length;
59
+ const fileWrites = recent.filter(a => a.type === 'file_write').length;
60
+ const networkEgress = recent.filter(a => a.type === 'network_egress').length;
61
+ const networkIngress = recent.filter(a => a.type === 'network_ingress').length;
62
+ const toolCalls = recent.filter(a => a.type === 'tool_call').length;
63
+ const childSpawns = recent.filter(a => a.type === 'child_spawn').length;
64
+ return {
65
+ frameworkId,
66
+ pid,
67
+ hostId: this.config.hostId,
68
+ establishedAt: now,
69
+ sampleCount: recent.length,
70
+ avgActionsPerMinute: recent.length / minutesElapsed,
71
+ avgFileReadsPerMinute: fileReads / minutesElapsed,
72
+ avgFileWritesPerMinute: fileWrites / minutesElapsed,
73
+ avgNetworkEgressPerMinute: networkEgress / minutesElapsed,
74
+ avgNetworkIngressPerMinute: networkIngress / minutesElapsed,
75
+ avgToolCallsPerMinute: toolCalls / minutesElapsed,
76
+ avgChildSpawnsPerMinute: childSpawns / minutesElapsed,
77
+ knownDomains: new Set(recent
78
+ .filter(a => a.type === 'network_egress')
79
+ .map(a => a.input)
80
+ .filter(Boolean)),
81
+ knownPorts: new Set(recent
82
+ .filter(a => a.type === 'network_egress')
83
+ .map(a => parseInt(a.input.split(':')[1], 10))
84
+ .filter(n => !isNaN(n))),
85
+ knownEndpoints: new Set(recent
86
+ .filter(a => a.type === 'api_call' || a.type === 'tool_call')
87
+ .map(a => a.input.split('?')[0])
88
+ .filter(Boolean)),
89
+ knownFilePaths: new Set(recent
90
+ .filter(a => a.type === 'file_read' || a.type === 'file_write')
91
+ .map(a => a.input)),
92
+ knownDirectories: new Set(recent
93
+ .filter(a => a.type === 'file_read' || a.type === 'file_write')
94
+ .map(a => a.input.replace(/\/[^/]*$/, ''))
95
+ .filter(Boolean)),
96
+ activeHours: [...new Set(recent.map(a => new Date(a.timestamp).getHours()))],
97
+ typicalSessionDurationMs: windowMs,
98
+ maxDeviationScore: this.config.deviationThreshold,
99
+ };
100
+ }
101
+ // ── Deviation detection ──────────────────────────────────────────────────
102
+ detectDeviations(frameworkId, pid) {
103
+ const key = `${frameworkId}:${pid}`;
104
+ const existing = this.baselines.get(key);
105
+ if (!existing) {
106
+ const newBase = this.establishBaseline(frameworkId, pid);
107
+ if (newBase) {
108
+ this.baselines.set(key, newBase);
109
+ logger_1.logger.debug('Baseline established', { framework: frameworkId, pid });
110
+ }
111
+ return [];
112
+ }
113
+ const baseline = existing;
114
+ const actions = this.actionBuffer.get(key);
115
+ if (!actions || actions.length === 0)
116
+ return [];
117
+ const now = Date.now();
118
+ const windowMs = 60000;
119
+ const recent = actions.filter(a => (now - a.timestamp) < windowMs);
120
+ if (recent.length === 0)
121
+ return [];
122
+ const alerts = [];
123
+ const minutesElapsed = Math.max(0.1, windowMs / 60000);
124
+ // Check frequency deviations
125
+ this.checkFrequencyDeviation(recent, baseline, 'file_reads', baseline.avgFileReadsPerMinute, recent.filter(a => a.type === 'file_read').length / minutesElapsed, alerts, frameworkId, pid);
126
+ this.checkFrequencyDeviation(recent, baseline, 'file_writes', baseline.avgFileWritesPerMinute, recent.filter(a => a.type === 'file_write').length / minutesElapsed, alerts, frameworkId, pid);
127
+ this.checkFrequencyDeviation(recent, baseline, 'network_egress', baseline.avgNetworkEgressPerMinute, recent.filter(a => a.type === 'network_egress').length / minutesElapsed, alerts, frameworkId, pid);
128
+ this.checkFrequencyDeviation(recent, baseline, 'tool_calls', baseline.avgToolCallsPerMinute, recent.filter(a => a.type === 'tool_call').length / minutesElapsed, alerts, frameworkId, pid);
129
+ // Check for unknown destinations
130
+ for (const action of recent) {
131
+ if (action.type === 'network_egress') {
132
+ const host = action.input;
133
+ if (host && ![...baseline.knownDomains].some(d => host.includes(d))) {
134
+ alerts.push(this.createAlert(frameworkId, pid, 'network', host, 0, 1, action));
135
+ }
136
+ }
137
+ if (action.type === 'file_read' || action.type === 'file_write') {
138
+ const filePath = action.input;
139
+ if (filePath && ![...baseline.knownFilePaths].some(p => filePath.startsWith(p))) {
140
+ alerts.push(this.createAlert(frameworkId, pid, 'file_access', filePath, 0, 1, action));
141
+ }
142
+ }
143
+ }
144
+ // Check time pattern: active during unusual hours
145
+ const currentHour = new Date().getHours();
146
+ if (baseline.activeHours.length > 0 && !baseline.activeHours.includes(currentHour)) {
147
+ const unusualActions = recent.filter(a => !baseline.activeHours.includes(new Date(a.timestamp).getHours()));
148
+ if (unusualActions.length >= 3) {
149
+ alerts.push(this.createAlert(frameworkId, pid, 'time_pattern', 'active_hours', baseline.activeHours.length, currentHour, unusualActions[0]));
150
+ }
151
+ }
152
+ // Check for sensitive data exposure
153
+ const sensitiveActions = recent.filter(a => a.sensitiveDataDetected);
154
+ if (sensitiveActions.length > 0) {
155
+ alerts.push(this.createAlert(frameworkId, pid, 'data_class', 'sensitive_data_exposure', 0, sensitiveActions.length, sensitiveActions[0]));
156
+ }
157
+ return alerts;
158
+ }
159
+ checkFrequencyDeviation(recent, baseline, metric, expectedRate, actualRate, alerts, frameworkId, pid) {
160
+ // Only flag if baseline has samples
161
+ if (expectedRate <= 0 && actualRate <= 0)
162
+ return;
163
+ if (expectedRate <= 0) {
164
+ // No historical activity, any activity is deviation
165
+ alerts.push(this.createAlert(frameworkId, pid, 'frequency', metric, 0, actualRate, recent[0]));
166
+ return;
167
+ }
168
+ const deviation = actualRate / expectedRate;
169
+ if (deviation > this.config.deviationThreshold && actualRate > expectedRate + 0.5) {
170
+ alerts.push(this.createAlert(frameworkId, pid, 'frequency', metric, expectedRate, actualRate, recent[0]));
171
+ }
172
+ }
173
+ createAlert(frameworkId, pid, deviationType, metric, expectedValue, actualValue, triggerAction) {
174
+ const deviationScore = deviationType === 'frequency'
175
+ ? Math.min(10, expectedValue > 0 ? actualValue / expectedValue : actualValue)
176
+ : Math.min(10, actualValue);
177
+ const severity = deviationScore >= 8 ? 'critical' :
178
+ deviationScore >= 5 ? 'high' :
179
+ deviationScore >= 3 ? 'medium' : 'low';
180
+ return {
181
+ id: (0, crypto_1.randomUUID)(),
182
+ pid,
183
+ frameworkId,
184
+ hostId: this.config.hostId,
185
+ timestamp: Date.now(),
186
+ severity,
187
+ deviationType,
188
+ metric,
189
+ expectedValue,
190
+ actualValue,
191
+ deviationScore,
192
+ agentActionId: triggerAction.id,
193
+ description: `AEGIS anomaly: ${deviationType} deviation in ${metric} for ${frameworkId} (pid ${pid})`,
194
+ recommendation: this.getRecommendation(deviationType, metric),
195
+ status: 'open',
196
+ resolvedAt: null,
197
+ resolvedBy: null,
198
+ };
199
+ }
200
+ getRecommendation(deviationType, metric) {
201
+ switch (deviationType) {
202
+ case 'frequency':
203
+ return `Investigate unusual ${metric} rate. Consider updating agent baseline or reviewing agent intent.`;
204
+ case 'network':
205
+ return `Unknown destination detected. Verify if agent has legitimate reason to access this endpoint. Add to allowlist if approved.`;
206
+ case 'file_access':
207
+ return `Unknown file path accessed. Verify data access rationale. Review if this aligns with agent's approved purpose.`;
208
+ case 'time_pattern':
209
+ return `Agent active outside normal hours. Verify if this is expected behavior or potential compromise.`;
210
+ case 'data_class':
211
+ return `Sensitive data detected in agent actions. Review for potential data leakage. Escalate if PII/credentials exposed.`;
212
+ default:
213
+ return 'Investigate anomalous agent behavior';
214
+ }
215
+ }
216
+ // ── Run periodic check ──────────────────────────────────────────────────
217
+ runCheck() {
218
+ const keys = [...this.actionBuffer.keys()];
219
+ for (const key of keys) {
220
+ const [frameworkId, pidStr] = key.split(':');
221
+ const pid = parseInt(pidStr, 10);
222
+ if (!isNaN(pid)) {
223
+ try {
224
+ const newAlerts = this.detectDeviations(frameworkId, pid);
225
+ for (const alert of newAlerts) {
226
+ this.alerts.push(alert);
227
+ this.auditLogger.log({
228
+ id: alert.id,
229
+ timestamp: alert.timestamp,
230
+ type: 'process',
231
+ action: alert.severity === 'critical' || alert.severity === 'high' ? 'deny' : 'allow',
232
+ frameworkId: alert.frameworkId,
233
+ frameworkName: null,
234
+ pid: alert.pid,
235
+ reason: `AEGIS anomaly: ${alert.description}`,
236
+ detail: {
237
+ deviationType: alert.deviationType,
238
+ metric: alert.metric,
239
+ expectedValue: alert.expectedValue,
240
+ actualValue: alert.actualValue,
241
+ deviationScore: alert.deviationScore,
242
+ severity: alert.severity,
243
+ },
244
+ hostname: this.config.hostId,
245
+ });
246
+ logger_1.logger.warn('AEGIS anomaly detected', {
247
+ framework: alert.frameworkId,
248
+ pid: alert.pid,
249
+ type: alert.deviationType,
250
+ metric: alert.metric,
251
+ score: alert.deviationScore,
252
+ severity: alert.severity,
253
+ });
254
+ }
255
+ }
256
+ catch (err) {
257
+ logger_1.logger.debug('Anomaly check failed for process', { key, err: err.message });
258
+ }
259
+ }
260
+ }
261
+ }
262
+ // ── State queries ────────────────────────────────────────────────────────
263
+ getOpenAlerts() {
264
+ return this.alerts.filter(a => a.status === 'open');
265
+ }
266
+ getAllAlerts() {
267
+ return [...this.alerts];
268
+ }
269
+ resolveAlert(alertId, resolvedBy) {
270
+ const alert = this.alerts.find(a => a.id === alertId);
271
+ if (alert) {
272
+ alert.status = 'resolved';
273
+ alert.resolvedAt = Date.now();
274
+ alert.resolvedBy = resolvedBy;
275
+ return true;
276
+ }
277
+ return false;
278
+ }
279
+ acknowledgeAlert(alertId) {
280
+ const alert = this.alerts.find(a => a.id === alertId);
281
+ if (alert && alert.status === 'open') {
282
+ alert.status = 'acknowledged';
283
+ return true;
284
+ }
285
+ return false;
286
+ }
287
+ ingestProcesses(processes) {
288
+ // Remove baselines for departed processes
289
+ const currentKeys = new Set(processes.map(p => `${p.frameworkId}:${p.pid}`));
290
+ for (const key of this.baselines.keys()) {
291
+ if (!currentKeys.has(key)) {
292
+ this.baselines.delete(key);
293
+ this.actionBuffer.delete(key);
294
+ }
295
+ }
296
+ }
297
+ }
298
+ exports.AnomalyDetector = AnomalyDetector;
299
+ //# sourceMappingURL=anomaly-detector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"anomaly-detector.js","sourceRoot":"","sources":["../src/anomaly-detector.ts"],"names":[],"mappings":"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"}
package/dist/api.d.ts CHANGED
@@ -2,6 +2,9 @@ import { SentryConfig } from './config';
2
2
  import { TaggedProcess, SentryStatus } from './types';
3
3
  import { EnforcementEngine } from './enforcement/enforcement-engine';
4
4
  import { SkillEvaluator } from './skill-authz/skill-evaluator';
5
+ import { AgentRegistry } from './agent-registry';
6
+ import { ActionLogger } from './action-logger';
7
+ import { AnomalyDetector } from './anomaly-detector';
5
8
  export declare class SentryApiServer {
6
9
  private config;
7
10
  private getTaggedProcesses;
@@ -9,9 +12,12 @@ export declare class SentryApiServer {
9
12
  private getSkillEvaluator;
10
13
  private getPolicyVersion;
11
14
  private getLastSyncAt;
15
+ private getAgentRegistry;
16
+ private getActionLogger;
17
+ private getAnomalyDetector;
12
18
  private server;
13
19
  private startTime;
14
- constructor(config: SentryConfig, getTaggedProcesses: () => TaggedProcess[], getEngine: () => EnforcementEngine, getSkillEvaluator: () => SkillEvaluator, getPolicyVersion: () => string, getLastSyncAt: () => string | null);
20
+ constructor(config: SentryConfig, getTaggedProcesses: () => TaggedProcess[], getEngine: () => EnforcementEngine, getSkillEvaluator: () => SkillEvaluator, getPolicyVersion: () => string, getLastSyncAt: () => string | null, getAgentRegistry: () => AgentRegistry, getActionLogger: () => ActionLogger, getAnomalyDetector: () => AnomalyDetector);
15
21
  start(): Promise<void>;
16
22
  stop(): Promise<void>;
17
23
  getStatus(): SentryStatus;
package/dist/api.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,aAAa,EAAuB,YAAY,EAAE,MAAM,SAAS,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAG/D,qBAAa,eAAe;IAKxB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,kBAAkB;IAC1B,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,aAAa;IATvB,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,SAAS,CAAc;gBAGrB,MAAM,EAAE,YAAY,EACpB,kBAAkB,EAAE,MAAM,aAAa,EAAE,EACzC,SAAS,EAAE,MAAM,iBAAiB,EAClC,iBAAiB,EAAE,MAAM,cAAc,EACvC,gBAAgB,EAAE,MAAM,MAAM,EAC9B,aAAa,EAAE,MAAM,MAAM,GAAG,IAAI;IAGtC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAqBtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ3B,SAAS,IAAI,YAAY;YAmBX,aAAa;YAuGb,IAAI;CAInB"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,aAAa,EAAuB,YAAY,EAAE,MAAM,SAAS,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGrD,qBAAa,eAAe;IAKxB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,kBAAkB;IAC1B,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,kBAAkB;IAZ5B,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,SAAS,CAAc;gBAGrB,MAAM,EAAE,YAAY,EACpB,kBAAkB,EAAE,MAAM,aAAa,EAAE,EACzC,SAAS,EAAE,MAAM,iBAAiB,EAClC,iBAAiB,EAAE,MAAM,cAAc,EACvC,gBAAgB,EAAE,MAAM,MAAM,EAC9B,aAAa,EAAE,MAAM,MAAM,GAAG,IAAI,EAClC,gBAAgB,EAAE,MAAM,aAAa,EACrC,eAAe,EAAE,MAAM,YAAY,EACnC,kBAAkB,EAAE,MAAM,eAAe;IAG7C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAqBtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ3B,SAAS,IAAI,YAAY;YAmBX,aAAa;YA2Ob,IAAI;CAInB"}
package/dist/api.js CHANGED
@@ -7,13 +7,16 @@ exports.SentryApiServer = void 0;
7
7
  const http_1 = __importDefault(require("http"));
8
8
  const logger_1 = require("./logger");
9
9
  class SentryApiServer {
10
- constructor(config, getTaggedProcesses, getEngine, getSkillEvaluator, getPolicyVersion, getLastSyncAt) {
10
+ constructor(config, getTaggedProcesses, getEngine, getSkillEvaluator, getPolicyVersion, getLastSyncAt, getAgentRegistry, getActionLogger, getAnomalyDetector) {
11
11
  this.config = config;
12
12
  this.getTaggedProcesses = getTaggedProcesses;
13
13
  this.getEngine = getEngine;
14
14
  this.getSkillEvaluator = getSkillEvaluator;
15
15
  this.getPolicyVersion = getPolicyVersion;
16
16
  this.getLastSyncAt = getLastSyncAt;
17
+ this.getAgentRegistry = getAgentRegistry;
18
+ this.getActionLogger = getActionLogger;
19
+ this.getAnomalyDetector = getAnomalyDetector;
17
20
  this.server = null;
18
21
  this.startTime = Date.now();
19
22
  }
@@ -143,6 +146,131 @@ class SentryApiServer {
143
146
  }
144
147
  break;
145
148
  }
149
+ // ═══════════════════════════════════════════════════════════════════
150
+ // AEGIS Framework API Endpoints
151
+ // ═══════════════════════════════════════════════════════════════════
152
+ // AEGIS: Agent identity & lifecycle (IAM Domain)
153
+ case method === 'GET' && pathname === '/api/v1/aegis/agents':
154
+ await this.json(res, 200, this.getAgentRegistry().getAllIdentities());
155
+ break;
156
+ case method === 'GET' && /^\/api\/v1\/aegis\/agents\/([^/]+)$/.test(pathname): {
157
+ const agentId = pathname.match(/^\/api\/v1\/aegis\/agents\/([^/]+)$/)[1];
158
+ const identity = this.getAgentRegistry().getIdentityById(agentId);
159
+ if (identity) {
160
+ await this.json(res, 200, identity);
161
+ }
162
+ else {
163
+ await this.json(res, 404, { error: 'Agent identity not found' });
164
+ }
165
+ break;
166
+ }
167
+ case method === 'GET' && pathname === '/api/v1/aegis/agents/active':
168
+ await this.json(res, 200, this.getAgentRegistry().getActiveIdentities());
169
+ break;
170
+ case method === 'PUT' && /^\/api\/v1\/aegis\/agents\/([^/]+)\/documentation$/.test(pathname): {
171
+ const docId = pathname.match(/^\/api\/v1\/aegis\/agents\/([^/]+)\/documentation$/)[1];
172
+ let body = '';
173
+ for await (const chunk of req)
174
+ body += chunk;
175
+ const updates = JSON.parse(body);
176
+ const identity = this.getAgentRegistry().getIdentityById(docId);
177
+ if (identity) {
178
+ this.getAgentRegistry().updateDocumentation(identity.frameworkId, identity.pid, updates);
179
+ await this.json(res, 200, { message: 'Documentation updated' });
180
+ }
181
+ else {
182
+ await this.json(res, 404, { error: 'Agent identity not found' });
183
+ }
184
+ break;
185
+ }
186
+ case method === 'PUT' && /^\/api\/v1\/aegis\/agents\/([^/]+)\/identity$/.test(pathname): {
187
+ const updId = pathname.match(/^\/api\/v1\/aegis\/agents\/([^/]+)\/identity$/)[1];
188
+ let body = '';
189
+ for await (const chunk of req)
190
+ body += chunk;
191
+ const updates = JSON.parse(body);
192
+ const identity = this.getAgentRegistry().getIdentityById(updId);
193
+ if (identity) {
194
+ this.getAgentRegistry().updateIdentity(identity.frameworkId, identity.pid, updates);
195
+ await this.json(res, 200, { message: 'Identity updated' });
196
+ }
197
+ else {
198
+ await this.json(res, 404, { error: 'Agent identity not found' });
199
+ }
200
+ break;
201
+ }
202
+ // AEGIS: Agent-on-a-Page governance documentation
203
+ case method === 'GET' && /^\/api\/v1\/aegis\/agents\/([^/]+)\/page$/.test(pathname): {
204
+ const pageId = pathname.match(/^\/api\/v1\/aegis\/agents\/([^/]+)\/page$/)[1];
205
+ const identity = this.getAgentRegistry().getIdentityById(pageId);
206
+ if (identity) {
207
+ await this.json(res, 200, {
208
+ agentId: identity.id,
209
+ frameworkId: identity.frameworkId,
210
+ frameworkName: identity.frameworkName,
211
+ pid: identity.pid,
212
+ status: identity.status,
213
+ purpose: identity.purpose,
214
+ riskLevel: identity.riskLevel,
215
+ owner: identity.owner,
216
+ ownerEmail: identity.ownerEmail,
217
+ documentation: identity.documentation,
218
+ allowedTools: identity.allowedTools,
219
+ maxDecisionScope: identity.maxDecisionScope,
220
+ allowedDataClassifications: identity.allowedDataClassifications,
221
+ firstDiscoveredAt: identity.firstDiscoveredAt,
222
+ lastSeenAt: identity.lastSeenAt,
223
+ });
224
+ }
225
+ else {
226
+ await this.json(res, 404, { error: 'Agent identity not found' });
227
+ }
228
+ break;
229
+ }
230
+ // AEGIS: Least-agency constraints (Zero Trust Domain)
231
+ case method === 'GET' && pathname === '/api/v1/aegis/constraints':
232
+ await this.json(res, 200, [...this.getAgentRegistry().getAllIdentities().map(id => ({ frameworkId: id.frameworkId, level: id.maxDecisionScope }))]);
233
+ break;
234
+ // AEGIS: Agent action log (Threat Management Domain)
235
+ case method === 'GET' && pathname === '/api/v1/aegis/actions':
236
+ await this.json(res, 200, this.getActionLogger().getRecentActions(100));
237
+ break;
238
+ case method === 'GET' && pathname === '/api/v1/aegis/actions/stats':
239
+ await this.json(res, 200, { processedCount: this.getActionLogger().getProcessedCount() });
240
+ break;
241
+ // AEGIS: Anomaly alerts (GRC + Threat Management Domains)
242
+ case method === 'GET' && pathname === '/api/v1/aegis/anomalies':
243
+ await this.json(res, 200, this.getAnomalyDetector().getAllAlerts());
244
+ break;
245
+ case method === 'GET' && pathname === '/api/v1/aegis/anomalies/open':
246
+ await this.json(res, 200, this.getAnomalyDetector().getOpenAlerts());
247
+ break;
248
+ case method === 'POST' && /^\/api\/v1\/aegis\/anomalies\/([^/]+)\/resolve$/.test(pathname): {
249
+ const alertId = pathname.match(/^\/api\/v1\/aegis\/anomalies\/([^/]+)\/resolve$/)[1];
250
+ let body = '';
251
+ for await (const chunk of req)
252
+ body += chunk;
253
+ const { resolvedBy } = JSON.parse(body);
254
+ const success = this.getAnomalyDetector().resolveAlert(alertId, resolvedBy);
255
+ if (success) {
256
+ await this.json(res, 200, { message: 'Alert resolved' });
257
+ }
258
+ else {
259
+ await this.json(res, 404, { error: 'Alert not found' });
260
+ }
261
+ break;
262
+ }
263
+ case method === 'POST' && /^\/api\/v1\/aegis\/anomalies\/([^/]+)\/acknowledge$/.test(pathname): {
264
+ const ackId = pathname.match(/^\/api\/v1\/aegis\/anomalies\/([^/]+)\/acknowledge$/)[1];
265
+ const success = this.getAnomalyDetector().acknowledgeAlert(ackId);
266
+ if (success) {
267
+ await this.json(res, 200, { message: 'Alert acknowledged' });
268
+ }
269
+ else {
270
+ await this.json(res, 404, { error: 'Alert not found or already resolved' });
271
+ }
272
+ break;
273
+ }
146
274
  default:
147
275
  await this.json(res, 404, { error: 'Not found', path: pathname });
148
276
  }
package/dist/api.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,aAAa,EAA0B,MAAM,SAAS,CAAC;AAyNhE,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CA8DtF;AAED,wBAAgB,sBAAsB,CAAC,eAAe,EAAE,aAAa,EAAE,GAAG,aAAa,EAAE,CASxF"}
1
+ {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,aAAa,EAA0B,MAAM,SAAS,CAAC;AAsShE,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAiEtF;AAED,wBAAgB,sBAAsB,CAAC,eAAe,EAAE,aAAa,EAAE,GAAG,aAAa,EAAE,CASxF"}