hackmyagent 0.15.7 → 0.16.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 (47) hide show
  1. package/dist/.integrity-manifest.json +1 -1
  2. package/dist/arp/intelligence/nanomind-l1.d.ts +30 -0
  3. package/dist/arp/intelligence/nanomind-l1.d.ts.map +1 -1
  4. package/dist/arp/intelligence/nanomind-l1.js +115 -0
  5. package/dist/arp/intelligence/nanomind-l1.js.map +1 -1
  6. package/dist/cli.js +452 -244
  7. package/dist/cli.js.map +1 -1
  8. package/dist/hardening/scanner.d.ts.map +1 -1
  9. package/dist/hardening/scanner.js +125 -4
  10. package/dist/hardening/scanner.js.map +1 -1
  11. package/dist/hardening/taxonomy.d.ts +2 -0
  12. package/dist/hardening/taxonomy.d.ts.map +1 -1
  13. package/dist/hardening/taxonomy.js +5 -0
  14. package/dist/hardening/taxonomy.js.map +1 -1
  15. package/dist/nanomind-core/analyzers/stego-analyzer.d.ts +30 -0
  16. package/dist/nanomind-core/analyzers/stego-analyzer.d.ts.map +1 -0
  17. package/dist/nanomind-core/analyzers/stego-analyzer.js +533 -0
  18. package/dist/nanomind-core/analyzers/stego-analyzer.js.map +1 -0
  19. package/dist/nanomind-core/daemon-lifecycle.d.ts +28 -0
  20. package/dist/nanomind-core/daemon-lifecycle.d.ts.map +1 -0
  21. package/dist/nanomind-core/daemon-lifecycle.js +142 -0
  22. package/dist/nanomind-core/daemon-lifecycle.js.map +1 -0
  23. package/dist/nanomind-core/inference/tme-classifier.d.ts +3 -2
  24. package/dist/nanomind-core/inference/tme-classifier.d.ts.map +1 -1
  25. package/dist/nanomind-core/inference/tme-classifier.js +26 -16
  26. package/dist/nanomind-core/inference/tme-classifier.js.map +1 -1
  27. package/dist/nanomind-core/orchestrate.d.ts.map +1 -1
  28. package/dist/nanomind-core/orchestrate.js +11 -1
  29. package/dist/nanomind-core/orchestrate.js.map +1 -1
  30. package/dist/nanomind-core/scanner-bridge.d.ts.map +1 -1
  31. package/dist/nanomind-core/scanner-bridge.js +6 -0
  32. package/dist/nanomind-core/scanner-bridge.js.map +1 -1
  33. package/dist/plugins/credvault.d.ts.map +1 -1
  34. package/dist/plugins/credvault.js +25 -0
  35. package/dist/plugins/credvault.js.map +1 -1
  36. package/dist/semantic/nanomind-enhancer.d.ts.map +1 -1
  37. package/dist/semantic/nanomind-enhancer.js +206 -0
  38. package/dist/semantic/nanomind-enhancer.js.map +1 -1
  39. package/dist/telemetry/nanomind-feedback.d.ts +43 -0
  40. package/dist/telemetry/nanomind-feedback.d.ts.map +1 -0
  41. package/dist/telemetry/nanomind-feedback.js +104 -0
  42. package/dist/telemetry/nanomind-feedback.js.map +1 -0
  43. package/dist/telemetry/nanomind-telemetry.d.ts +48 -0
  44. package/dist/telemetry/nanomind-telemetry.d.ts.map +1 -0
  45. package/dist/telemetry/nanomind-telemetry.js +123 -0
  46. package/dist/telemetry/nanomind-telemetry.js.map +1 -0
  47. package/package.json +1 -1
@@ -116,10 +116,17 @@ function scanFileForCredentials(filePath, agentDir) {
116
116
  }
117
117
  const relativePath = path.relative(agentDir, filePath);
118
118
  const lines = content.split('\n');
119
+ // Sensitive key names in .env files — flag even if the value doesn't match
120
+ // a known format (the key NAME reveals it's a credential)
121
+ const isEnvFile = relativePath.startsWith('.env') || relativePath.endsWith('.env');
122
+ const ENV_KEY_PATTERNS = /^(.*(?:API_KEY|SECRET_KEY|ACCESS_KEY|AUTH_TOKEN|PASSWORD|PRIVATE_KEY|CLIENT_SECRET|DATABASE_URL|MONGO_URI|REDIS_URL|JWT_SECRET|ENCRYPTION_KEY))\s*=/i;
119
123
  for (let i = 0; i < lines.length; i++) {
120
124
  const line = lines[i];
121
125
  if (line.length > 4096)
122
126
  continue; // Skip long lines to prevent ReDoS
127
+ if (line.trimStart().startsWith('#'))
128
+ continue; // Skip comments
129
+ let found = false;
123
130
  for (const pattern of CREDENTIAL_PATTERNS) {
124
131
  if (pattern.regex.test(line)) {
125
132
  findings.push({
@@ -132,9 +139,27 @@ function scanFileForCredentials(filePath, agentDir) {
132
139
  oasbControl: '1.1',
133
140
  autoFixable: true,
134
141
  });
142
+ found = true;
135
143
  break; // One finding per line
136
144
  }
137
145
  }
146
+ // For .env files, also flag by key name even if value format is unknown
147
+ if (!found && isEnvFile) {
148
+ const keyMatch = line.match(ENV_KEY_PATTERNS);
149
+ if (keyMatch) {
150
+ const keyName = keyMatch[1].trim();
151
+ findings.push({
152
+ id: 'CRED-001',
153
+ title: `Hardcoded credential: ${keyName}`,
154
+ description: `${keyName} found in ${relativePath} at line ${i + 1}. Use a secrets manager or environment variable injection instead of hardcoding values.`,
155
+ severity: 'high',
156
+ filePath: relativePath,
157
+ line: i + 1,
158
+ oasbControl: '1.1',
159
+ autoFixable: true,
160
+ });
161
+ }
162
+ }
138
163
  }
139
164
  return findings;
140
165
  }
@@ -1 +1 @@
1
- {"version":3,"file":"credvault.js","sourceRoot":"","sources":["../../src/plugins/credvault.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"credvault.js","sourceRoot":"","sources":["../../src/plugins/credvault.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"nanomind-enhancer.d.ts","sourceRoot":"","sources":["../../src/semantic/nanomind-enhancer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,eAAgB,SAAQ,WAAW;IAClD,gBAAgB,EAAE,OAAO,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,WAAW,GAAG,gBAAgB,GAAG,UAAU,GAAG,YAAY,CAAC;IAC7E,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,WAAW,EAAE,EACvB,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC,eAAe,EAAE,CAAC,CAe5B;AAmLD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,eAAe,EAAE,GAAG;IAChE,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB,CASA"}
1
+ {"version":3,"file":"nanomind-enhancer.d.ts","sourceRoot":"","sources":["../../src/semantic/nanomind-enhancer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,eAAgB,SAAQ,WAAW;IAClD,gBAAgB,EAAE,OAAO,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,WAAW,GAAG,gBAAgB,GAAG,UAAU,GAAG,YAAY,CAAC;IAC7E,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,WAAW,EAAE,EACvB,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC,eAAe,EAAE,CAAC,CAe5B;AAiZD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,eAAe,EAAE,GAAG;IAChE,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB,CASA"}
@@ -70,6 +70,9 @@ async function enhanceSingleFinding(finding, sourceFiles) {
70
70
  if (checkId.startsWith('A2A-')) {
71
71
  return await enhanceA2AFinding(finding, fileContent);
72
72
  }
73
+ if (checkId.startsWith('UNICODE-STEGO-')) {
74
+ return enhanceStegoFinding(finding, fileContent);
75
+ }
73
76
  }
74
77
  catch {
75
78
  // NanoMind error = return original finding
@@ -187,6 +190,209 @@ async function enhanceA2AFinding(finding, content) {
187
190
  nanomindConfidence: 0.7,
188
191
  };
189
192
  }
193
+ /**
194
+ * Enhance steganography findings with semantic Unicode context analysis.
195
+ *
196
+ * Distinguishes legitimate Unicode (emoji, i18n, Indic text) from actual
197
+ * steganographic attacks (hidden payloads, homoglyph typosquatting, bidi tricks).
198
+ *
199
+ * Key false-positive patterns this catches:
200
+ * - Variation selectors (U+FE0F) after emoji base chars = emoji presentation
201
+ * - Cyrillic chars in Cyrillic text blocks = i18n translations
202
+ * - ZWNJ in Arabic/Persian text = grammatically required
203
+ * - ZWJ between emoji = family/profession emoji sequences
204
+ */
205
+ function enhanceStegoFinding(finding, content) {
206
+ const checkId = finding.checkId.toUpperCase();
207
+ // Analyze the Unicode context in the file
208
+ const analysis = analyzeUnicodeContext(content, finding);
209
+ if (analysis.allLegitimate) {
210
+ // All suspicious chars are in legitimate contexts - downgrade to info
211
+ return {
212
+ ...finding,
213
+ nanomindEnhanced: true,
214
+ nanomindVerdict: 'false_positive',
215
+ nanomindConfidence: analysis.confidence,
216
+ nanomindEvidence: analysis.evidence,
217
+ originalSeverity: finding.severity,
218
+ severity: 'info',
219
+ };
220
+ }
221
+ if (analysis.someLegitimate) {
222
+ // Mixed: some legit, some suspicious - downgrade severity but keep finding
223
+ return {
224
+ ...finding,
225
+ nanomindEnhanced: true,
226
+ nanomindVerdict: 'downgraded',
227
+ nanomindConfidence: analysis.confidence,
228
+ nanomindEvidence: analysis.evidence,
229
+ originalSeverity: finding.severity,
230
+ severity: finding.severity === 'critical' ? 'medium' : finding.severity,
231
+ };
232
+ }
233
+ // Confirmed suspicious - NanoMind agrees with static scanner
234
+ return {
235
+ ...finding,
236
+ nanomindEnhanced: true,
237
+ nanomindVerdict: 'confirmed',
238
+ nanomindConfidence: analysis.confidence,
239
+ nanomindEvidence: analysis.evidence,
240
+ };
241
+ }
242
+ /**
243
+ * Analyze Unicode characters in file content to determine if they're legitimate.
244
+ */
245
+ function analyzeUnicodeContext(content, finding) {
246
+ const checkId = finding.checkId.toUpperCase();
247
+ const codepoints = [...content].map(c => c.codePointAt(0));
248
+ // Count character types
249
+ let variationSelectors = 0;
250
+ let emojiVariationSelectors = 0;
251
+ let cyrillicHomoglyphs = 0;
252
+ let cyrillicInLatinWords = 0;
253
+ let zwjChars = 0;
254
+ let emojiZwj = 0;
255
+ let zwnjChars = 0;
256
+ let arabicZwnj = 0;
257
+ let totalCyrillic = 0;
258
+ let totalArabic = 0;
259
+ let totalCJK = 0;
260
+ let totalIndic = 0;
261
+ // Emoji bases for variation selector check
262
+ const EMOJI_BASE_SET = new Set([
263
+ 0x0023, 0x002A, 0x0030, 0x0031, 0x0032, 0x0033, 0x0034,
264
+ 0x0035, 0x0036, 0x0037, 0x0038, 0x0039,
265
+ // Common symbols that use FE0F
266
+ 0x2600, 0x2601, 0x2614, 0x2615, 0x2622, 0x2623,
267
+ 0x2639, 0x263A, 0x2640, 0x2642,
268
+ 0x2692, 0x2693, 0x2694, 0x2695, 0x2696, 0x2697, 0x2699,
269
+ 0x26A0, 0x26A1, 0x26AA, 0x26AB,
270
+ 0x26BD, 0x26BE, 0x26C4, 0x26C5,
271
+ 0x26D1, 0x26D3, 0x26D4, 0x26E9, 0x26EA,
272
+ 0x26F0, 0x26F1, 0x26F2, 0x26F3, 0x26F4, 0x26F5,
273
+ 0x26F7, 0x26F8, 0x26F9, 0x26FA, 0x26FD,
274
+ 0x2702, 0x2708, 0x2709, 0x270A, 0x270B, 0x270C, 0x270D,
275
+ 0x270F, 0x2712, 0x2714, 0x2716, 0x271D, 0x2721, 0x2728,
276
+ 0x2733, 0x2734, 0x2744, 0x2747, 0x274C, 0x274E,
277
+ 0x2753, 0x2754, 0x2755, 0x2757, 0x2763, 0x2764,
278
+ 0x2795, 0x2796, 0x2797, 0x27A1, 0x27B0, 0x27BF,
279
+ ]);
280
+ const CYRILLIC_HOMOGLYPH_SET = new Set([
281
+ 0x0430, 0x0441, 0x0435, 0x043E, 0x0440, 0x0445, 0x0443,
282
+ 0x041D, 0x0412, 0x0422, 0x041C, 0x041A,
283
+ ]);
284
+ for (let i = 0; i < codepoints.length; i++) {
285
+ const cp = codepoints[i];
286
+ // Count script blocks
287
+ if (cp >= 0x0400 && cp <= 0x052F)
288
+ totalCyrillic++;
289
+ if (cp >= 0x0600 && cp <= 0x06FF)
290
+ totalArabic++;
291
+ if (cp >= 0x4E00 && cp <= 0x9FFF)
292
+ totalCJK++;
293
+ if (cp >= 0x0900 && cp <= 0x0D7F)
294
+ totalIndic++;
295
+ // Variation selectors
296
+ if (cp >= 0xFE00 && cp <= 0xFE0F) {
297
+ variationSelectors++;
298
+ const prev = i > 0 ? codepoints[i - 1] : 0;
299
+ if (EMOJI_BASE_SET.has(prev) || (prev >= 0x1F300 && prev <= 0x1FAFF) || (prev >= 0x2600 && prev <= 0x27BF)) {
300
+ emojiVariationSelectors++;
301
+ }
302
+ }
303
+ // Cyrillic homoglyphs
304
+ if (CYRILLIC_HOMOGLYPH_SET.has(cp)) {
305
+ cyrillicHomoglyphs++;
306
+ const prevLatin = i > 0 && ((codepoints[i - 1] >= 0x41 && codepoints[i - 1] <= 0x5A) || (codepoints[i - 1] >= 0x61 && codepoints[i - 1] <= 0x7A));
307
+ const nextLatin = i < codepoints.length - 1 && ((codepoints[i + 1] >= 0x41 && codepoints[i + 1] <= 0x5A) || (codepoints[i + 1] >= 0x61 && codepoints[i + 1] <= 0x7A));
308
+ if (prevLatin || nextLatin)
309
+ cyrillicInLatinWords++;
310
+ }
311
+ // ZWJ
312
+ if (cp === 0x200D) {
313
+ zwjChars++;
314
+ const prev = i > 0 ? codepoints[i - 1] : 0;
315
+ const next = i < codepoints.length - 1 ? codepoints[i + 1] : 0;
316
+ const prevIsEmoji = (prev >= 0x1F300 && prev <= 0x1FAFF) || prev === 0xFE0F;
317
+ const nextIsEmoji = next >= 0x1F300 && next <= 0x1FAFF;
318
+ if (prevIsEmoji || nextIsEmoji)
319
+ emojiZwj++;
320
+ }
321
+ // ZWNJ
322
+ if (cp === 0x200C) {
323
+ zwnjChars++;
324
+ const hasArabicNearby = codepoints.slice(Math.max(0, i - 5), i + 5).some(c => c >= 0x0600 && c <= 0x06FF);
325
+ const hasIndicNearby = codepoints.slice(Math.max(0, i - 5), i + 5).some(c => c >= 0x0900 && c <= 0x0D7F);
326
+ if (hasArabicNearby || hasIndicNearby)
327
+ arabicZwnj++;
328
+ }
329
+ }
330
+ // Decide based on check type
331
+ if (checkId === 'UNICODE-STEGO-001') {
332
+ // Invisible codepoints check
333
+ if (variationSelectors > 0 && emojiVariationSelectors === variationSelectors) {
334
+ return {
335
+ allLegitimate: true,
336
+ someLegitimate: false,
337
+ confidence: 0.95,
338
+ evidence: `All ${variationSelectors} variation selectors are emoji presentation selectors (FE0F after emoji bases)`,
339
+ };
340
+ }
341
+ if (zwjChars > 0 && emojiZwj === zwjChars) {
342
+ return {
343
+ allLegitimate: true,
344
+ someLegitimate: false,
345
+ confidence: 0.92,
346
+ evidence: `All ${zwjChars} ZWJ characters are in emoji ZWJ sequences`,
347
+ };
348
+ }
349
+ if (zwnjChars > 0 && arabicZwnj === zwnjChars) {
350
+ return {
351
+ allLegitimate: true,
352
+ someLegitimate: false,
353
+ confidence: 0.90,
354
+ evidence: `All ${zwnjChars} ZWNJ characters are in Arabic/Indic text contexts`,
355
+ };
356
+ }
357
+ // Mixed case
358
+ const totalSuspicious = variationSelectors + zwjChars + zwnjChars;
359
+ const totalLegitimate = emojiVariationSelectors + emojiZwj + arabicZwnj;
360
+ if (totalLegitimate > 0 && totalLegitimate < totalSuspicious) {
361
+ return {
362
+ allLegitimate: false,
363
+ someLegitimate: true,
364
+ confidence: 0.7,
365
+ evidence: `${totalLegitimate} of ${totalSuspicious} invisible chars appear legitimate, but ${totalSuspicious - totalLegitimate} remain suspicious`,
366
+ };
367
+ }
368
+ }
369
+ if (checkId === 'UNICODE-STEGO-005') {
370
+ // Homoglyph check
371
+ if (cyrillicHomoglyphs > 0 && cyrillicInLatinWords === 0) {
372
+ return {
373
+ allLegitimate: true,
374
+ someLegitimate: false,
375
+ confidence: 0.93,
376
+ evidence: `${cyrillicHomoglyphs} Cyrillic characters found in Cyrillic text blocks (${totalCyrillic} total Cyrillic chars) - legitimate i18n content`,
377
+ };
378
+ }
379
+ if (cyrillicInLatinWords > 0 && cyrillicInLatinWords < cyrillicHomoglyphs) {
380
+ return {
381
+ allLegitimate: false,
382
+ someLegitimate: true,
383
+ confidence: 0.75,
384
+ evidence: `${cyrillicInLatinWords} of ${cyrillicHomoglyphs} Cyrillic chars are mixed into Latin words (suspicious), rest are in Cyrillic text (legitimate)`,
385
+ };
386
+ }
387
+ }
388
+ // Default: confirm the static finding
389
+ return {
390
+ allLegitimate: false,
391
+ someLegitimate: false,
392
+ confidence: 0.8,
393
+ evidence: 'Unicode steganography patterns confirmed by semantic analysis',
394
+ };
395
+ }
190
396
  // ============================================================================
191
397
  // Statistics
192
398
  // ============================================================================
@@ -1 +1 @@
1
- {"version":3,"file":"nanomind-enhancer.js","sourceRoot":"","sources":["../../src/semantic/nanomind-enhancer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nanomind-enhancer.js","sourceRoot":"","sources":["../../src/semantic/nanomind-enhancer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * NanoMind Classification Feedback
3
+ *
4
+ * Submits user corrections to the Registry's NanoMind feedback endpoint.
5
+ * When a user disagrees with a classification (e.g., a benign skill
6
+ * flagged as malicious), the correction is sent to improve future models.
7
+ *
8
+ * Endpoint: POST api.oa2a.org/api/v1/nanomind/feedback
9
+ *
10
+ * This is Tier 2 data: it includes the artifact content for retraining.
11
+ * Only submitted when the user explicitly provides a correction.
12
+ *
13
+ * Respects the same contribute.enabled opt-in as scan contributions.
14
+ */
15
+ export interface ClassificationFeedback {
16
+ content: string;
17
+ contentType: string;
18
+ modelClassification: string;
19
+ modelConfidence: number;
20
+ correctedLabel: string | null;
21
+ confirmed: boolean;
22
+ modelVersion: string;
23
+ }
24
+ /**
25
+ * Submit a single correction to the Registry.
26
+ * Called when a user disagrees with a NanoMind classification.
27
+ *
28
+ * @param feedback - The correction details
29
+ * @param registryUrl - Override Registry URL (for testing)
30
+ * @param verbose - Log submission status to stderr
31
+ * @returns true if submission succeeded
32
+ */
33
+ export declare function submitFeedback(feedback: ClassificationFeedback, registryUrl?: string, verbose?: boolean): Promise<boolean>;
34
+ /**
35
+ * Confirm that a classification is correct (positive feedback).
36
+ * This is just as valuable as corrections for training data quality.
37
+ */
38
+ export declare function confirmClassification(content: string, contentType: string, classification: string, confidence: number, modelVersion: string, registryUrl?: string): Promise<boolean>;
39
+ /**
40
+ * Correct a misclassification (negative feedback).
41
+ */
42
+ export declare function correctClassification(content: string, contentType: string, originalClassification: string, originalConfidence: number, correctedLabel: string, modelVersion: string, registryUrl?: string): Promise<boolean>;
43
+ //# sourceMappingURL=nanomind-feedback.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nanomind-feedback.d.ts","sourceRoot":"","sources":["../../src/telemetry/nanomind-feedback.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AASH,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAClC,QAAQ,EAAE,sBAAsB,EAChC,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,OAAO,CAAC,CA6ClB;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,OAAO,CAAC,CAUlB;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,sBAAsB,EAAE,MAAM,EAC9B,kBAAkB,EAAE,MAAM,EAC1B,cAAc,EAAE,MAAM,EACtB,YAAY,EAAE,MAAM,EACpB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,OAAO,CAAC,CAUlB"}
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+ /**
3
+ * NanoMind Classification Feedback
4
+ *
5
+ * Submits user corrections to the Registry's NanoMind feedback endpoint.
6
+ * When a user disagrees with a classification (e.g., a benign skill
7
+ * flagged as malicious), the correction is sent to improve future models.
8
+ *
9
+ * Endpoint: POST api.oa2a.org/api/v1/nanomind/feedback
10
+ *
11
+ * This is Tier 2 data: it includes the artifact content for retraining.
12
+ * Only submitted when the user explicitly provides a correction.
13
+ *
14
+ * Respects the same contribute.enabled opt-in as scan contributions.
15
+ */
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.submitFeedback = submitFeedback;
18
+ exports.confirmClassification = confirmClassification;
19
+ exports.correctClassification = correctClassification;
20
+ const index_js_1 = require("../index.js");
21
+ const opt_in_js_1 = require("./opt-in.js");
22
+ const REGISTRY_URL = 'https://api.oa2a.org';
23
+ const FEEDBACK_ENDPOINT = '/api/v1/nanomind/feedback';
24
+ const SUBMIT_TIMEOUT_MS = 5000;
25
+ /**
26
+ * Submit a single correction to the Registry.
27
+ * Called when a user disagrees with a NanoMind classification.
28
+ *
29
+ * @param feedback - The correction details
30
+ * @param registryUrl - Override Registry URL (for testing)
31
+ * @param verbose - Log submission status to stderr
32
+ * @returns true if submission succeeded
33
+ */
34
+ async function submitFeedback(feedback, registryUrl, verbose) {
35
+ if (!(0, opt_in_js_1.isContributeEnabled)()) {
36
+ if (verbose) {
37
+ process.stderr.write('NanoMind feedback: skipped (contribute not enabled)\n');
38
+ }
39
+ return false;
40
+ }
41
+ const url = (registryUrl || REGISTRY_URL) + FEEDBACK_ENDPOINT;
42
+ try {
43
+ const resp = await fetch(url, {
44
+ method: 'POST',
45
+ headers: { 'Content-Type': 'application/json' },
46
+ body: JSON.stringify({
47
+ toolId: `hackmyagent@${index_js_1.VERSION}`,
48
+ feedback: [{
49
+ content: feedback.content,
50
+ contentType: feedback.contentType,
51
+ modelClassification: feedback.modelClassification,
52
+ modelConfidence: feedback.modelConfidence,
53
+ correctedLabel: feedback.correctedLabel,
54
+ confirmed: feedback.confirmed,
55
+ modelVersion: feedback.modelVersion,
56
+ toolId: `hackmyagent@${index_js_1.VERSION}`,
57
+ timestamp: new Date().toISOString(),
58
+ }],
59
+ }),
60
+ signal: AbortSignal.timeout(SUBMIT_TIMEOUT_MS),
61
+ });
62
+ if (verbose) {
63
+ const body = await resp.json().catch(() => ({}));
64
+ process.stderr.write(`NanoMind feedback: ${resp.status} (${body.accepted ?? 0} accepted)\n`);
65
+ }
66
+ return resp.ok;
67
+ }
68
+ catch {
69
+ if (verbose) {
70
+ process.stderr.write('NanoMind feedback: submission failed (network error)\n');
71
+ }
72
+ return false;
73
+ }
74
+ }
75
+ /**
76
+ * Confirm that a classification is correct (positive feedback).
77
+ * This is just as valuable as corrections for training data quality.
78
+ */
79
+ async function confirmClassification(content, contentType, classification, confidence, modelVersion, registryUrl) {
80
+ return submitFeedback({
81
+ content,
82
+ contentType,
83
+ modelClassification: classification,
84
+ modelConfidence: confidence,
85
+ correctedLabel: null,
86
+ confirmed: true,
87
+ modelVersion,
88
+ }, registryUrl);
89
+ }
90
+ /**
91
+ * Correct a misclassification (negative feedback).
92
+ */
93
+ async function correctClassification(content, contentType, originalClassification, originalConfidence, correctedLabel, modelVersion, registryUrl) {
94
+ return submitFeedback({
95
+ content,
96
+ contentType,
97
+ modelClassification: originalClassification,
98
+ modelConfidence: originalConfidence,
99
+ correctedLabel,
100
+ confirmed: false,
101
+ modelVersion,
102
+ }, registryUrl);
103
+ }
104
+ //# sourceMappingURL=nanomind-feedback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nanomind-feedback.js","sourceRoot":"","sources":["../../src/telemetry/nanomind-feedback.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * NanoMind Classification Telemetry
3
+ *
4
+ * Posts anonymous classification stats to the Registry's NanoMind
5
+ * telemetry endpoint. This feeds the intelligence loop: aggregated
6
+ * stats show which content types and classifications are most common,
7
+ * enabling targeted model improvements.
8
+ *
9
+ * Endpoint: POST api.oa2a.org/api/v1/nanomind/telemetry
10
+ *
11
+ * PRIVACY: Only content type, content hash (SHA-256), classification,
12
+ * confidence, verdict, and model version are sent. No file paths,
13
+ * no source code, no raw content, no PII.
14
+ *
15
+ * Respects the same contribute.enabled opt-in as scan contributions.
16
+ */
17
+ export interface ClassificationStat {
18
+ contentType: string;
19
+ contentHash: string;
20
+ classification: string;
21
+ confidence: number;
22
+ verdict: string;
23
+ modelVersion: string;
24
+ }
25
+ /**
26
+ * Hash content for telemetry (privacy-preserving identifier).
27
+ * Only the hash is sent, never the content itself.
28
+ */
29
+ export declare function hashContent(content: string): string;
30
+ /**
31
+ * Queue a classification result for telemetry submission.
32
+ * Call this after every NanoMind classification during a scan.
33
+ */
34
+ export declare function queueClassificationStat(contentType: string, content: string, classification: string, confidence: number, modelVersion: string): void;
35
+ /**
36
+ * Submit queued telemetry to the Registry.
37
+ * Call after scan completes. Non-blocking, best-effort.
38
+ */
39
+ export declare function flushNanoMindTelemetry(registryUrl?: string, verbose?: boolean): Promise<boolean>;
40
+ /**
41
+ * Get the current queue size (for testing/debugging).
42
+ */
43
+ export declare function getTelemetryQueueSize(): number;
44
+ /**
45
+ * Clear the queue without submitting (for testing).
46
+ */
47
+ export declare function clearTelemetryQueue(): void;
48
+ //# sourceMappingURL=nanomind-telemetry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nanomind-telemetry.d.ts","sourceRoot":"","sources":["../../src/telemetry/nanomind-telemetry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAWH,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;CACtB;AAKD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEnD;AAWD;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,GACnB,IAAI,CAWN;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,OAAO,CAAC,CA4ClB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C"}