@weave_protocol/mund 0.2.3 → 0.3.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.
Files changed (98) hide show
  1. package/README.md +94 -0
  2. package/dist/analyzers/code-analyzer.d.ts.map +1 -1
  3. package/dist/analyzers/code-analyzer.js +2 -1
  4. package/dist/analyzers/code-analyzer.js.map +1 -1
  5. package/dist/analyzers/exfiltration-detector.d.ts.map +1 -1
  6. package/dist/analyzers/exfiltration-detector.js +2 -1
  7. package/dist/analyzers/exfiltration-detector.js.map +1 -1
  8. package/dist/analyzers/index.js +1 -1
  9. package/dist/analyzers/injection-detector.d.ts.map +1 -1
  10. package/dist/analyzers/injection-detector.js +2 -1
  11. package/dist/analyzers/injection-detector.js.map +1 -1
  12. package/dist/analyzers/mcp-server-analyzer.d.ts +2 -0
  13. package/dist/analyzers/mcp-server-analyzer.d.ts.map +1 -1
  14. package/dist/analyzers/mcp-server-analyzer.js.map +1 -1
  15. package/dist/analyzers/pii-detector.d.ts.map +1 -1
  16. package/dist/analyzers/pii-detector.js +2 -1
  17. package/dist/analyzers/pii-detector.js.map +1 -1
  18. package/dist/analyzers/regex.d.ts +10 -0
  19. package/dist/analyzers/regex.d.ts.map +1 -0
  20. package/dist/analyzers/regex.js +17 -0
  21. package/dist/analyzers/regex.js.map +1 -0
  22. package/dist/analyzers/secret-scanner.d.ts.map +1 -1
  23. package/dist/analyzers/secret-scanner.js +2 -1
  24. package/dist/analyzers/secret-scanner.js.map +1 -1
  25. package/dist/cli/scan.d.ts +49 -0
  26. package/dist/cli/scan.d.ts.map +1 -0
  27. package/dist/cli/scan.js +226 -0
  28. package/dist/cli/scan.js.map +1 -0
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +10 -4
  31. package/dist/index.js.map +1 -1
  32. package/dist/notifications/email.d.ts +21 -8
  33. package/dist/notifications/email.d.ts.map +1 -1
  34. package/dist/notifications/email.js +32 -178
  35. package/dist/notifications/email.js.map +1 -1
  36. package/dist/osv.d.ts +94 -0
  37. package/dist/osv.d.ts.map +1 -0
  38. package/dist/osv.js +239 -0
  39. package/dist/osv.js.map +1 -0
  40. package/dist/sarif.d.ts +20 -0
  41. package/dist/sarif.d.ts.map +1 -0
  42. package/dist/sarif.js +122 -0
  43. package/dist/sarif.js.map +1 -0
  44. package/dist/scoring.d.ts +26 -0
  45. package/dist/scoring.d.ts.map +1 -0
  46. package/dist/scoring.js +49 -0
  47. package/dist/scoring.js.map +1 -0
  48. package/dist/threat-intel-manager.d.ts.map +1 -1
  49. package/dist/threat-intel-manager.js +2 -1
  50. package/dist/threat-intel-manager.js.map +1 -1
  51. package/dist/tools/configuration.d.ts.map +1 -1
  52. package/dist/tools/configuration.js +2 -1
  53. package/dist/tools/configuration.js.map +1 -1
  54. package/dist/tools/mcp-scanning.d.ts.map +1 -1
  55. package/dist/tools/mcp-scanning.js +4 -0
  56. package/dist/tools/mcp-scanning.js.map +1 -1
  57. package/dist/tools/monitoring.d.ts.map +1 -1
  58. package/dist/tools/monitoring.js +22 -1
  59. package/dist/tools/monitoring.js.map +1 -1
  60. package/dist/version.d.ts +6 -0
  61. package/dist/version.d.ts.map +1 -0
  62. package/dist/version.js +19 -0
  63. package/dist/version.js.map +1 -0
  64. package/package.json +2 -4
  65. package/src/analyzers/code-analyzer.ts +2 -1
  66. package/src/analyzers/exfiltration-detector.ts +2 -1
  67. package/src/analyzers/index.ts +1 -1
  68. package/src/analyzers/injection-detector.ts +2 -1
  69. package/src/analyzers/mcp-server-analyzer.ts +2 -0
  70. package/src/analyzers/pii-detector.ts +2 -1
  71. package/src/analyzers/regex.ts +17 -0
  72. package/src/analyzers/secret-scanner.ts +2 -1
  73. package/src/cli/scan.ts +251 -0
  74. package/src/index.ts +11 -4
  75. package/src/notifications/email.ts +38 -194
  76. package/src/osv.ts +310 -0
  77. package/src/sarif.ts +146 -0
  78. package/src/scoring.ts +64 -0
  79. package/src/threat-intel-manager.ts +2 -1
  80. package/src/tools/configuration.ts +2 -1
  81. package/src/tools/mcp-scanning.ts +5 -0
  82. package/src/tools/monitoring.ts +23 -1
  83. package/src/version.ts +20 -0
  84. package/tests/analyzers/engine.test.ts +60 -0
  85. package/tests/analyzers/injection-and-code.test.ts +80 -0
  86. package/tests/analyzers/mcp-server-analyzer.test.ts +82 -0
  87. package/tests/analyzers/regex.test.ts +35 -0
  88. package/tests/analyzers/rules.test.ts +54 -0
  89. package/tests/analyzers/secret-scanner.test.ts +80 -0
  90. package/tests/cli/scan.test.ts +92 -0
  91. package/tests/helpers.ts +51 -0
  92. package/tests/notifications/email.test.ts +68 -0
  93. package/tests/notifications/hub.test.ts +160 -0
  94. package/tests/osv.test.ts +117 -0
  95. package/tests/sarif.test.ts +59 -0
  96. package/tests/scoring.test.ts +49 -0
  97. package/tests/tools/monitoring.test.ts +95 -0
  98. package/vitest.config.ts +8 -0
@@ -0,0 +1,226 @@
1
+ /**
2
+ * Mund - The Guardian Protocol
3
+ * `mund-mcp scan` - scan files on disk and report as text, JSON or SARIF
4
+ *
5
+ * mund-mcp scan [paths...] [--format=text|json|sarif] [--output=FILE]
6
+ * [--fail-on=critical|high|medium|low|none]
7
+ * [--no-osv] [--offline]
8
+ */
9
+ import { readFile, writeFile, readdir, stat } from 'fs/promises';
10
+ import { basename, join, relative, resolve, sep } from 'path';
11
+ import { DEFAULT_RULES } from '../constants.js';
12
+ import { AnalyzerEngine } from '../analyzers/index.js';
13
+ import { computeRiskScore } from '../scoring.js';
14
+ import { toSarif } from '../sarif.js';
15
+ import { OsvClient, parseNpmLockfile, advisoriesToIssues } from '../osv.js';
16
+ import { getVersion } from '../version.js';
17
+ const SKIP_DIRS = new Set(['node_modules', '.git', 'dist', 'build', 'coverage', '.next', '.turbo', 'vendor', '__pycache__', '.venv']);
18
+ const LOCKFILES = new Set(['package-lock.json', 'npm-shrinkwrap.json']);
19
+ const MAX_FILE_BYTES = 1024 * 1024;
20
+ const SEVERITY_RANK = { critical: 0, high: 1, medium: 2, low: 3, info: 4 };
21
+ export const SCAN_USAGE = `Usage: mund-mcp scan [paths...] [options]
22
+
23
+ Scan files for secrets, PII, injection, exfiltration and dangerous code,
24
+ plus known-vulnerable npm dependencies (via OSV.dev) in package-lock.json.
25
+
26
+ Options:
27
+ --format=FORMAT text (default), json, or sarif
28
+ --output=FILE Write the report to FILE instead of stdout
29
+ --fail-on=LEVEL Exit 1 if any finding is at or above LEVEL
30
+ (critical, high [default], medium, low, none)
31
+ --no-osv Skip dependency vulnerability lookups
32
+ --offline Use only the local OSV cache (also: MUND_OFFLINE=1)
33
+
34
+ Examples:
35
+ mund-mcp scan .
36
+ mund-mcp scan src --format=sarif --output=mund.sarif
37
+ `;
38
+ export function parseScanArgs(args) {
39
+ const opts = { paths: [], format: 'text', failOn: 'high', osv: true, offline: false };
40
+ for (let i = 0; i < args.length; i++) {
41
+ const arg = args[i];
42
+ const [flag, inline] = arg.startsWith('--') && arg.includes('=') ? [arg.slice(0, arg.indexOf('=')), arg.slice(arg.indexOf('=') + 1)] : [arg, undefined];
43
+ const value = () => {
44
+ const v = inline ?? args[++i];
45
+ if (v === undefined)
46
+ throw new Error(`${flag} needs a value`);
47
+ return v;
48
+ };
49
+ switch (flag) {
50
+ case '--format': {
51
+ const v = value();
52
+ if (v !== 'text' && v !== 'json' && v !== 'sarif')
53
+ throw new Error(`Unknown format "${v}" (expected text, json or sarif)`);
54
+ opts.format = v;
55
+ break;
56
+ }
57
+ case '--output':
58
+ case '-o':
59
+ opts.output = value();
60
+ break;
61
+ case '--fail-on': {
62
+ const v = value();
63
+ if (v !== 'none' && !(v in SEVERITY_RANK))
64
+ throw new Error(`Unknown --fail-on level "${v}"`);
65
+ opts.failOn = v;
66
+ break;
67
+ }
68
+ case '--no-osv':
69
+ opts.osv = false;
70
+ break;
71
+ case '--offline':
72
+ opts.offline = true;
73
+ break;
74
+ default:
75
+ if (flag.startsWith('-'))
76
+ throw new Error(`Unknown option ${flag}`);
77
+ opts.paths.push(arg);
78
+ }
79
+ }
80
+ if (opts.paths.length === 0)
81
+ opts.paths.push('.');
82
+ return opts;
83
+ }
84
+ export async function runScan(opts, osvClient) {
85
+ const cwd = process.cwd();
86
+ const engine = new AnalyzerEngine();
87
+ const files = [];
88
+ const lockfiles = [];
89
+ let scanned = 0;
90
+ for (const file of await collectFiles(opts.paths.map(p => resolve(cwd, p)))) {
91
+ if (LOCKFILES.has(basename(file))) {
92
+ lockfiles.push(file);
93
+ continue;
94
+ }
95
+ const content = await readText(file);
96
+ if (content === null)
97
+ continue;
98
+ scanned++;
99
+ const issues = await engine.analyzeAll(content, DEFAULT_RULES);
100
+ if (issues.length > 0)
101
+ files.push({ uri: toUri(cwd, file), issues, risk: computeRiskScore(issues) });
102
+ }
103
+ let osv;
104
+ if (opts.osv && lockfiles.length > 0) {
105
+ const client = osvClient ?? new OsvClient({ offline: opts.offline });
106
+ let source = 'live';
107
+ let unchecked = 0;
108
+ let error;
109
+ for (const lockfile of lockfiles) {
110
+ const content = await readFile(lockfile, 'utf8');
111
+ let packages;
112
+ try {
113
+ packages = parseNpmLockfile(content);
114
+ }
115
+ catch {
116
+ continue; // malformed lockfile; nothing to look up
117
+ }
118
+ const result = await client.lookup(packages);
119
+ // Report the weakest source across lockfiles.
120
+ if (result.source === 'unavailable' || (result.source === 'cache' && source === 'live'))
121
+ source = result.source;
122
+ unchecked += result.unchecked.length;
123
+ error ??= result.error;
124
+ const issues = advisoriesToIssues(packages, result, content);
125
+ if (issues.length > 0)
126
+ files.push({ uri: toUri(cwd, lockfile), issues, risk: computeRiskScore(issues) });
127
+ }
128
+ osv = { source, lockfiles: lockfiles.length, unchecked, ...(error ? { error } : {}) };
129
+ }
130
+ return {
131
+ tool: { name: 'mund', version: getVersion() },
132
+ risk: computeRiskScore(files.flatMap(f => f.issues)),
133
+ files_scanned: scanned,
134
+ ...(osv ? { osv } : {}),
135
+ files,
136
+ };
137
+ }
138
+ export function formatReport(report, format) {
139
+ if (format === 'json')
140
+ return JSON.stringify(report, null, 2);
141
+ if (format === 'sarif')
142
+ return JSON.stringify(toSarif(report.files, { toolVersion: report.tool.version }), null, 2);
143
+ const lines = [];
144
+ for (const file of report.files) {
145
+ lines.push(`${file.uri} (risk ${file.risk.score}/100, ${file.risk.label})`);
146
+ for (const issue of file.issues) {
147
+ const where = issue.location?.line ? `${issue.location.line}:${issue.location.column ?? 1}` : '-';
148
+ lines.push(` ${where.padEnd(8)} ${issue.severity.padEnd(8)} ${issue.rule_name}`);
149
+ }
150
+ lines.push('');
151
+ }
152
+ const total = report.files.reduce((n, f) => n + f.issues.length, 0);
153
+ const { counts } = report.risk;
154
+ lines.push(`Scanned ${report.files_scanned} file(s): ${total} finding(s) ` +
155
+ `(${counts.critical} critical, ${counts.high} high, ${counts.medium} medium, ${counts.low} low)`);
156
+ lines.push(`Risk score: ${report.risk.score}/100 (${report.risk.label})`);
157
+ if (report.osv) {
158
+ const note = report.osv.source === 'live' ? 'live' : `${report.osv.source} - ${report.osv.error ?? ''}`.trim();
159
+ lines.push(`Dependencies: OSV.dev (${note})` + (report.osv.unchecked ? `, ${report.osv.unchecked} package(s) unchecked` : ''));
160
+ }
161
+ return lines.join('\n');
162
+ }
163
+ export function shouldFail(report, failOn) {
164
+ if (failOn === 'none')
165
+ return false;
166
+ const threshold = SEVERITY_RANK[failOn];
167
+ return report.files.some(f => f.issues.some((i) => SEVERITY_RANK[i.severity] <= threshold));
168
+ }
169
+ /** Entry point for `mund-mcp scan`. Returns the process exit code. */
170
+ export async function runScanCli(args) {
171
+ if (args.includes('--help') || args.includes('-h')) {
172
+ process.stdout.write(SCAN_USAGE);
173
+ return 0;
174
+ }
175
+ let opts;
176
+ try {
177
+ opts = parseScanArgs(args);
178
+ }
179
+ catch (error) {
180
+ process.stderr.write(`mund scan: ${error.message}\n\n${SCAN_USAGE}`);
181
+ return 2;
182
+ }
183
+ const report = await runScan(opts);
184
+ const out = formatReport(report, opts.format) + '\n';
185
+ if (opts.output)
186
+ await writeFile(opts.output, out);
187
+ else
188
+ process.stdout.write(out);
189
+ return shouldFail(report, opts.failOn) ? 1 : 0;
190
+ }
191
+ async function collectFiles(roots) {
192
+ const out = [];
193
+ const walk = async (path) => {
194
+ const info = await stat(path).catch(() => null);
195
+ if (!info)
196
+ return;
197
+ if (info.isFile()) {
198
+ out.push(path);
199
+ }
200
+ else if (info.isDirectory()) {
201
+ for (const entry of await readdir(path, { withFileTypes: true })) {
202
+ if (entry.isDirectory() && SKIP_DIRS.has(entry.name))
203
+ continue;
204
+ if (entry.isDirectory() || entry.isFile())
205
+ await walk(join(path, entry.name));
206
+ }
207
+ }
208
+ };
209
+ for (const root of roots)
210
+ await walk(root);
211
+ return out.sort();
212
+ }
213
+ /** Read a file as UTF-8 text, or null if it's too big or looks binary. */
214
+ async function readText(file) {
215
+ const info = await stat(file);
216
+ if (info.size > MAX_FILE_BYTES)
217
+ return null;
218
+ const buf = await readFile(file);
219
+ if (buf.subarray(0, 8000).includes(0))
220
+ return null;
221
+ return buf.toString('utf8');
222
+ }
223
+ function toUri(cwd, file) {
224
+ return relative(cwd, file).split(sep).join('/');
225
+ }
226
+ //# sourceMappingURL=scan.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scan.js","sourceRoot":"","sources":["../../src/cli/scan.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;GAGG;AAiXH,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC;AAC1F,cAAc,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;GAGG;AAwXH,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC;AAC1F,cAAc,yBAAyB,CAAC"}
package/dist/index.js CHANGED
@@ -12,6 +12,8 @@ import { createStorage } from './storage/index.js';
12
12
  import { AnalyzerEngine } from './analyzers/index.js';
13
13
  import { NotificationHub } from './notifications/index.js';
14
14
  import { registerAllTools } from './tools/index.js';
15
+ import { runScanCli } from './cli/scan.js';
16
+ import { getVersion } from './version.js';
15
17
  // Threat Intelligence imports
16
18
  import { threatIntel } from './threat-intel-manager.js';
17
19
  import { threatIntelTools, createThreatIntelToolHandlers, UpdateThreatIntelSchema, ListIntelSourcesSchema, IntelStatusSchema, AddIntelSourceSchema, RemoveIntelSourceSchema, ThreatScanSchema, ListPatternsSchema, TogglePatternSchema, } from './threat-intel-tools.js';
@@ -117,7 +119,7 @@ async function createMundServer(config) {
117
119
  // Create MCP server
118
120
  const server = new McpServer({
119
121
  name: 'mund-mcp-server',
120
- version: '0.2.0'
122
+ version: getVersion()
121
123
  });
122
124
  // Initialize storage
123
125
  const storage = createStorage(config);
@@ -165,7 +167,7 @@ async function runHTTP(config) {
165
167
  app.use(express.json({ limit: '10mb' }));
166
168
  // Health check endpoint
167
169
  app.get('/health', (_req, res) => {
168
- res.json({ status: 'ok', version: '0.2.0' });
170
+ res.json({ status: 'ok', version: getVersion() });
169
171
  });
170
172
  // Threat intel status endpoint
171
173
  app.get('/intel/status', (_req, res) => {
@@ -194,7 +196,8 @@ function printHelp() {
194
196
  Mund - The Guardian Protocol
195
197
  MCP-based security monitoring for agentic AI systems
196
198
 
197
- Usage: mund-mcp [options]
199
+ Usage: mund-mcp [options] Run the MCP server
200
+ mund-mcp scan [paths...] Scan files (see: mund-mcp scan --help)
198
201
 
199
202
  Options:
200
203
  --help, -h Show this help message
@@ -252,13 +255,16 @@ For more information, visit: https://github.com/Tyox-all/Weave_Protocol
252
255
  }
253
256
  async function main() {
254
257
  const args = process.argv.slice(2);
258
+ if (args[0] === 'scan') {
259
+ process.exit(await runScanCli(args.slice(1)));
260
+ }
255
261
  // Parse CLI arguments
256
262
  if (args.includes('--help') || args.includes('-h')) {
257
263
  printHelp();
258
264
  process.exit(0);
259
265
  }
260
266
  if (args.includes('--version') || args.includes('-v')) {
261
- console.log('0.2.0');
267
+ console.log(getVersion());
262
268
  process.exit(0);
263
269
  }
264
270
  // Load config
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,31 @@
1
1
  /**
2
2
  * Mund - The Guardian Protocol
3
- * Email Notifier - Send alerts via email
3
+ * Email Notifier - NOT IMPLEMENTED in v0.2.x.
4
+ *
5
+ * The nodemailer dependency was removed because it carried a
6
+ * high-severity CVE and was never actually wired up (the previous
7
+ * revision had only comments like "In a real implementation, use
8
+ * nodemailer here"). Carrying a prod dep for a feature nobody uses
9
+ * meant inheriting its CVE for no benefit.
10
+ *
11
+ * This stub keeps the INotifier contract so NotificationManager can
12
+ * still wire it up when `notificationConfig.email.smtp_host` is set,
13
+ * but every send() call returns false and logs a one-time warning,
14
+ * so operators see email alerts aren't actually being delivered.
15
+ *
16
+ * When/if email notifications become a real feature:
17
+ * 1. npm install nodemailer@^10 @types/nodemailer
18
+ * 2. Replace this stub with a real implementation
19
+ * 3. Add test fixtures under test/notifications/
20
+ * 4. Remove the console.warn in the constructor
4
21
  */
5
22
  import type { INotifier, NotificationPayload, EmailConfig } from '../types.js';
6
23
  export declare class EmailNotifier implements INotifier {
7
24
  name: string;
8
- private config;
25
+ readonly config: EmailConfig;
26
+ private warned;
9
27
  constructor(config: EmailConfig);
10
- send(payload: NotificationPayload): Promise<boolean>;
11
- private formatEmail;
12
- private escapeHtml;
13
- private getSeverityColor;
14
- private getSeverityEmoji;
15
- private meetsMinSeverity;
28
+ send(_payload: NotificationPayload): Promise<boolean>;
16
29
  }
17
30
  export default EmailNotifier;
18
31
  //# sourceMappingURL=email.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"email.d.ts","sourceRoot":"","sources":["../../src/notifications/email.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,mBAAmB,EAAE,WAAW,EAAY,MAAM,aAAa,CAAC;AAKzF,qBAAa,aAAc,YAAW,SAAS;IAC7C,IAAI,SAAmB;IACvB,OAAO,CAAC,MAAM,CAAc;gBAEhB,MAAM,EAAE,WAAW;IAIzB,IAAI,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;IA4C1D,OAAO,CAAC,WAAW;IA6GnB,OAAO,CAAC,UAAU;IASlB,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,gBAAgB;CAMzB;AAED,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"email.d.ts","sourceRoot":"","sources":["../../src/notifications/email.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/E,qBAAa,aAAc,YAAW,SAAS;IAC7C,IAAI,SAAmB;IAIvB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,EAAE,WAAW;IAUzB,IAAI,CAAC,QAAQ,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;CAU5D;AAED,eAAe,aAAa,CAAC"}
@@ -1,191 +1,45 @@
1
1
  /**
2
2
  * Mund - The Guardian Protocol
3
- * Email Notifier - Send alerts via email
3
+ * Email Notifier - NOT IMPLEMENTED in v0.2.x.
4
+ *
5
+ * The nodemailer dependency was removed because it carried a
6
+ * high-severity CVE and was never actually wired up (the previous
7
+ * revision had only comments like "In a real implementation, use
8
+ * nodemailer here"). Carrying a prod dep for a feature nobody uses
9
+ * meant inheriting its CVE for no benefit.
10
+ *
11
+ * This stub keeps the INotifier contract so NotificationManager can
12
+ * still wire it up when `notificationConfig.email.smtp_host` is set,
13
+ * but every send() call returns false and logs a one-time warning,
14
+ * so operators see email alerts aren't actually being delivered.
15
+ *
16
+ * When/if email notifications become a real feature:
17
+ * 1. npm install nodemailer@^10 @types/nodemailer
18
+ * 2. Replace this stub with a real implementation
19
+ * 3. Add test fixtures under test/notifications/
20
+ * 4. Remove the console.warn in the constructor
4
21
  */
5
- // Note: In production, use nodemailer
6
- // For now, we'll implement a basic interface that can be extended
7
22
  export class EmailNotifier {
8
23
  name = 'EmailNotifier';
24
+ // Config is retained so a future real implementation can see what
25
+ // shape to expect. Public (not private) because noUnusedLocals flags
26
+ // unread private members even with an underscore prefix.
9
27
  config;
28
+ warned = false;
10
29
  constructor(config) {
11
30
  this.config = config;
31
+ console.warn('[mund] EmailNotifier configured but NOT IMPLEMENTED in this version. ' +
32
+ 'Email alerts will be dropped. Use a webhook, Slack, or Teams notifier ' +
33
+ 'for actual delivery. Track at ' +
34
+ 'https://github.com/Tyox-all/Weave_Protocol/issues');
12
35
  }
13
- async send(payload) {
14
- const { event } = payload;
15
- // Check minimum severity
16
- if (this.config.min_severity && !this.meetsMinSeverity(event.severity, this.config.min_severity)) {
17
- return true; // Successfully skipped
36
+ async send(_payload) {
37
+ if (!this.warned) {
38
+ console.error('[mund] EmailNotifier.send() called but email delivery is not ' +
39
+ 'implemented. Alert dropped. (This warning fires once per process.)');
40
+ this.warned = true;
18
41
  }
19
- const emailContent = this.formatEmail(payload);
20
- try {
21
- // In a real implementation, use nodemailer here
22
- // For now, we'll log the email content
23
- console.log('Email notification would be sent:');
24
- console.log('To:', this.config.to_addresses.join(', '));
25
- console.log('Subject:', emailContent.subject);
26
- console.log('Body:', emailContent.html.substring(0, 500) + '...');
27
- // Uncomment when nodemailer is configured:
28
- // const transporter = nodemailer.createTransport({
29
- // host: this.config.smtp_host,
30
- // port: this.config.smtp_port,
31
- // secure: this.config.smtp_secure,
32
- // auth: this.config.smtp_user ? {
33
- // user: this.config.smtp_user,
34
- // pass: this.config.smtp_pass
35
- // } : undefined
36
- // });
37
- //
38
- // await transporter.sendMail({
39
- // from: this.config.from_address,
40
- // to: this.config.to_addresses.join(', '),
41
- // subject: emailContent.subject,
42
- // html: emailContent.html,
43
- // text: emailContent.text
44
- // });
45
- return true;
46
- }
47
- catch (error) {
48
- console.error('Failed to send email notification:', error);
49
- return false;
50
- }
51
- }
52
- formatEmail(payload) {
53
- const { event } = payload;
54
- const severityEmoji = this.getSeverityEmoji(event.severity);
55
- const severityColor = this.getSeverityColor(event.severity);
56
- const subject = `${severityEmoji} [Mund ${event.severity.toUpperCase()}] ${event.rule_name}`;
57
- const html = `
58
- <!DOCTYPE html>
59
- <html>
60
- <head>
61
- <style>
62
- body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; line-height: 1.6; color: #333; }
63
- .container { max-width: 600px; margin: 0 auto; padding: 20px; }
64
- .header { background: ${severityColor}; color: white; padding: 20px; border-radius: 8px 8px 0 0; }
65
- .content { background: #f8f9fa; padding: 20px; border: 1px solid #dee2e6; border-top: none; border-radius: 0 0 8px 8px; }
66
- .snippet { background: #1e1e1e; color: #d4d4d4; padding: 15px; border-radius: 4px; font-family: monospace; overflow-x: auto; }
67
- .details { margin-top: 20px; }
68
- .detail-row { display: flex; border-bottom: 1px solid #dee2e6; padding: 8px 0; }
69
- .detail-label { font-weight: bold; width: 120px; flex-shrink: 0; }
70
- .detail-value { color: #495057; }
71
- .footer { margin-top: 20px; padding-top: 20px; border-top: 1px solid #dee2e6; font-size: 12px; color: #6c757d; }
72
- </style>
73
- </head>
74
- <body>
75
- <div class="container">
76
- <div class="header">
77
- <h1 style="margin: 0;">${severityEmoji} Mund Security Alert</h1>
78
- <p style="margin: 10px 0 0 0; opacity: 0.9;">${event.rule_name}</p>
79
- </div>
80
- <div class="content">
81
- <h3>Detected Content</h3>
82
- <div class="snippet">${this.escapeHtml(event.content_snippet)}</div>
83
-
84
- <div class="details">
85
- <h3>Event Details</h3>
86
- <div class="detail-row">
87
- <span class="detail-label">Severity:</span>
88
- <span class="detail-value">${event.severity.toUpperCase()}</span>
89
- </div>
90
- <div class="detail-row">
91
- <span class="detail-label">Type:</span>
92
- <span class="detail-value">${event.type}</span>
93
- </div>
94
- <div class="detail-row">
95
- <span class="detail-label">Action:</span>
96
- <span class="detail-value">${event.action_taken}</span>
97
- </div>
98
- <div class="detail-row">
99
- <span class="detail-label">Rule ID:</span>
100
- <span class="detail-value">${event.rule_id}</span>
101
- </div>
102
- <div class="detail-row">
103
- <span class="detail-label">Event ID:</span>
104
- <span class="detail-value">${event.id}</span>
105
- </div>
106
- <div class="detail-row">
107
- <span class="detail-label">Timestamp:</span>
108
- <span class="detail-value">${event.timestamp.toISOString()}</span>
109
- </div>
110
- ${event.context.tool_name ? `
111
- <div class="detail-row">
112
- <span class="detail-label">Tool:</span>
113
- <span class="detail-value">${event.context.tool_name}</span>
114
- </div>
115
- ` : ''}
116
- ${event.context.agent_id ? `
117
- <div class="detail-row">
118
- <span class="detail-label">Agent:</span>
119
- <span class="detail-value">${event.context.agent_id}</span>
120
- </div>
121
- ` : ''}
122
- </div>
123
-
124
- <div class="footer">
125
- This alert was generated by Mund - The Guardian Protocol.<br>
126
- Review and acknowledge this alert in your security dashboard.
127
- </div>
128
- </div>
129
- </div>
130
- </body>
131
- </html>`;
132
- const text = `
133
- MUND SECURITY ALERT
134
- ====================
135
-
136
- ${event.severity.toUpperCase()}: ${event.rule_name}
137
-
138
- Detected Content:
139
- ${event.content_snippet}
140
-
141
- Event Details:
142
- - Severity: ${event.severity.toUpperCase()}
143
- - Type: ${event.type}
144
- - Action: ${event.action_taken}
145
- - Rule ID: ${event.rule_id}
146
- - Event ID: ${event.id}
147
- - Timestamp: ${event.timestamp.toISOString()}
148
- ${event.context.tool_name ? `- Tool: ${event.context.tool_name}` : ''}
149
- ${event.context.agent_id ? `- Agent: ${event.context.agent_id}` : ''}
150
-
151
- ---
152
- This alert was generated by Mund - The Guardian Protocol.
153
- `;
154
- return { subject, html, text };
155
- }
156
- escapeHtml(text) {
157
- return text
158
- .replace(/&/g, '&amp;')
159
- .replace(/</g, '&lt;')
160
- .replace(/>/g, '&gt;')
161
- .replace(/"/g, '&quot;')
162
- .replace(/'/g, '&#039;');
163
- }
164
- getSeverityColor(severity) {
165
- const colors = {
166
- critical: '#dc3545',
167
- high: '#fd7e14',
168
- medium: '#ffc107',
169
- low: '#17a2b8',
170
- info: '#6c757d'
171
- };
172
- return colors[severity] || colors.info;
173
- }
174
- getSeverityEmoji(severity) {
175
- const emojis = {
176
- critical: '🚨',
177
- high: 'âš ī¸',
178
- medium: '⚡',
179
- low: 'â„šī¸',
180
- info: '📝'
181
- };
182
- return emojis[severity] || '📝';
183
- }
184
- meetsMinSeverity(eventSeverity, minSeverity) {
185
- const order = ['critical', 'high', 'medium', 'low', 'info'];
186
- const eventIndex = order.indexOf(eventSeverity);
187
- const minIndex = order.indexOf(minSeverity);
188
- return eventIndex <= minIndex;
42
+ return false;
189
43
  }
190
44
  }
191
45
  export default EmailNotifier;
@@ -1 +1 @@
1
- {"version":3,"file":"email.js","sourceRoot":"","sources":["../../src/notifications/email.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"email.js","sourceRoot":"","sources":["../../src/notifications/email.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAIH,MAAM,OAAO,aAAa;IACxB,IAAI,GAAG,eAAe,CAAC;IACvB,kEAAkE;IAClE,qEAAqE;IACrE,yDAAyD;IAChD,MAAM,CAAc;IACrB,MAAM,GAAG,KAAK,CAAC;IAEvB,YAAY,MAAmB;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,OAAO,CAAC,IAAI,CACV,uEAAuE;YACrE,wEAAwE;YACxE,gCAAgC;YAChC,mDAAmD,CACtD,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,QAA6B;QACtC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,OAAO,CAAC,KAAK,CACX,+DAA+D;gBAC7D,oEAAoE,CACvE,CAAC;YACF,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACrB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAED,eAAe,aAAa,CAAC"}