hackmyagent 0.11.10 → 0.11.11

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/README.md CHANGED
@@ -88,7 +88,7 @@ npm install --save-dev hackmyagent
88
88
  ```
89
89
 
90
90
  ┌──────────────────────────────────────────┐
91
- │ HackMyAgent v0.11.5 — Security Scanner
91
+ │ HackMyAgent v0.11.10 — Security Scanner
92
92
  │ Found: 3 critical · 5 high · 12 medium │
93
93
  │ │
94
94
  │ CRED-001 critical Hardcoded API key in .env │
@@ -1,9 +1,10 @@
1
1
  /**
2
2
  * Community Contribution Module
3
3
  *
4
- * Queue-based contribution of anonymized HMA scan summaries to the
5
- * OpenA2A Registry. Compatible with @opena2a/contribute queue format:
6
- * events queued by HMA are flushed by opena2a-cli and vice versa.
4
+ * Delegates queue, flush, and contributor token operations to
5
+ * @opena2a/contribute. Retains HMA-specific logic for building
6
+ * scan events from SecurityFinding arrays (ecosystem detection,
7
+ * finding-to-summary conversion).
7
8
  *
8
9
  * Queue file: ~/.opena2a/contribute-queue.json
9
10
  * Endpoint: POST api.oa2a.org/api/v1/contribute
@@ -12,37 +13,11 @@
12
13
  * severity counts, score, verdict). No file paths, no source code,
13
14
  * no raw finding descriptions, no PII.
14
15
  */
16
+ import { getContributorToken as sharedGetContributorToken } from '@opena2a/contribute';
17
+ import type { ContributionEvent, ContributionBatch } from '@opena2a/contribute';
15
18
  import type { SecurityFinding } from '../hardening';
16
- /** Matches ContributionEvent from @opena2a/contribute/types. */
17
- export interface ContributionEvent {
18
- type: 'scan_result' | 'detection' | 'behavior' | 'interaction' | 'adoption';
19
- tool: string;
20
- toolVersion: string;
21
- timestamp: string;
22
- package?: {
23
- name: string;
24
- version?: string;
25
- ecosystem?: string;
26
- };
27
- scanSummary?: {
28
- totalChecks: number;
29
- passed: number;
30
- critical: number;
31
- high: number;
32
- medium: number;
33
- low: number;
34
- score: number;
35
- verdict: string;
36
- durationMs: number;
37
- };
38
- }
39
- /** Matches ContributionBatch from @opena2a/contribute/types. */
40
- export interface ContributionBatch {
41
- contributorToken: string;
42
- events: ContributionEvent[];
43
- submittedAt: string;
44
- }
45
- export declare function getContributorToken(): string;
19
+ export type { ContributionEvent, ContributionBatch };
20
+ export declare const getContributorToken: typeof sharedGetContributorToken;
46
21
  export declare function queueEvent(event: ContributionEvent): void;
47
22
  /**
48
23
  * Build a ContributionEvent from HMA scan findings.
@@ -70,5 +45,5 @@ export declare function submitContribution(payload: ContributionEvent, registryU
70
45
  error?: string;
71
46
  }>;
72
47
  /** @deprecated Kept for backward compat. */
73
- export declare const generateContributorToken: typeof getContributorToken;
48
+ export declare const generateContributorToken: typeof sharedGetContributorToken;
74
49
  //# sourceMappingURL=contribute.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"contribute.d.ts","sourceRoot":"","sources":["../../src/telemetry/contribute.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAOH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAwBpD,gEAAgE;AAChE,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,aAAa,GAAG,WAAW,GAAG,UAAU,GAAG,aAAa,GAAG,UAAU,CAAC;IAC5E,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,WAAW,CAAC,EAAE;QACZ,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAED,gEAAgE;AAChE,MAAM,WAAW,iBAAiB;IAChC,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;CACrB;AAWD,wBAAgB,mBAAmB,IAAI,MAAM,CAe5C;AAyBD,wBAAgB,UAAU,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI,CASzD;AA+ED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,eAAe,EAAE,EAC3B,UAAU,EAAE,MAAM,GACjB,iBAAiB,CA8BnB;AAMD;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,iBAAiB,EACxB,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,IAAI,CAAC,CAMf;AAED;;;GAGG;AACH,wBAAsB,UAAU,CAC9B,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,OAAO,CAAC,CAqClB;AAMD,mEAAmE;AACnE,wBAAgB,+BAA+B,CAC7C,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,eAAe,EAAE,GAC1B,iBAAiB,CAEnB;AAED,0CAA0C;AAC1C,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,iBAAiB,EAC1B,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAIhE;AAED,4CAA4C;AAC5C,eAAO,MAAM,wBAAwB,4BAAsB,CAAC"}
1
+ {"version":3,"file":"contribute.d.ts","sourceRoot":"","sources":["../../src/telemetry/contribute.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,mBAAmB,IAAI,yBAAyB,EAMjD,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,qBAAqB,CAAC;AAI7B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAMpD,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,CAAC;AAMrD,eAAO,MAAM,mBAAmB,kCAA4B,CAAC;AAM7D,wBAAgB,UAAU,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI,CAEzD;AAiDD;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,eAAe,EAAE,EAC3B,UAAU,EAAE,MAAM,GACjB,iBAAiB,CA8BnB;AAMD;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,iBAAiB,EACxB,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,IAAI,CAAC,CAMf;AAED;;;GAGG;AACH,wBAAsB,UAAU,CAC9B,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,OAAO,CAAC,CASlB;AAMD,mEAAmE;AACnE,wBAAgB,+BAA+B,CAC7C,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,eAAe,EAAE,GAC1B,iBAAiB,CAEnB;AAED,0CAA0C;AAC1C,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,iBAAiB,EAC1B,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAIhE;AAED,4CAA4C;AAC5C,eAAO,MAAM,wBAAwB,kCAAsB,CAAC"}
@@ -2,9 +2,10 @@
2
2
  /**
3
3
  * Community Contribution Module
4
4
  *
5
- * Queue-based contribution of anonymized HMA scan summaries to the
6
- * OpenA2A Registry. Compatible with @opena2a/contribute queue format:
7
- * events queued by HMA are flushed by opena2a-cli and vice versa.
5
+ * Delegates queue, flush, and contributor token operations to
6
+ * @opena2a/contribute. Retains HMA-specific logic for building
7
+ * scan events from SecurityFinding arrays (ecosystem detection,
8
+ * finding-to-summary conversion).
8
9
  *
9
10
  * Queue file: ~/.opena2a/contribute-queue.json
10
11
  * Endpoint: POST api.oa2a.org/api/v1/contribute
@@ -14,99 +15,29 @@
14
15
  * no raw finding descriptions, no PII.
15
16
  */
16
17
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.generateContributorToken = void 0;
18
- exports.getContributorToken = getContributorToken;
18
+ exports.generateContributorToken = exports.getContributorToken = void 0;
19
19
  exports.queueEvent = queueEvent;
20
20
  exports.buildScanEvent = buildScanEvent;
21
21
  exports.queueAndMaybeFlush = queueAndMaybeFlush;
22
22
  exports.flushQueue = flushQueue;
23
23
  exports.buildContributionPayloadFromDir = buildContributionPayloadFromDir;
24
24
  exports.submitContribution = submitContribution;
25
- const crypto_1 = require("crypto");
25
+ const contribute_1 = require("@opena2a/contribute");
26
26
  const fs_1 = require("fs");
27
- const os_1 = require("os");
28
27
  const path_1 = require("path");
29
28
  const index_1 = require("../index");
30
29
  // ---------------------------------------------------------------------------
31
- // Paths and constants
30
+ // Contributor token (delegated to @opena2a/contribute)
32
31
  // ---------------------------------------------------------------------------
33
- const REGISTRY_URL = 'https://api.oa2a.org';
34
- const FLUSH_THRESHOLD = 10;
35
- const MAX_QUEUE_SIZE = 100;
36
- const TIMEOUT_MS = 10000;
37
- function getOpena2aHome() {
38
- return process.env.OPENA2A_HOME || (0, path_1.join)(require('os').homedir(), '.opena2a');
39
- }
40
- function ensureDir() {
41
- const dir = getOpena2aHome();
42
- if (!(0, fs_1.existsSync)(dir))
43
- (0, fs_1.mkdirSync)(dir, { recursive: true });
44
- }
45
- // ---------------------------------------------------------------------------
46
- // Contributor token (stable per-device, SHA256-hashed)
47
- // ---------------------------------------------------------------------------
48
- function getContributorToken() {
49
- const home = getOpena2aHome();
50
- const saltPath = (0, path_1.join)(home, 'contributor-salt');
51
- let salt;
52
- if ((0, fs_1.existsSync)(saltPath)) {
53
- salt = (0, fs_1.readFileSync)(saltPath, 'utf-8').trim();
54
- }
55
- else {
56
- salt = (0, crypto_1.randomBytes)(32).toString('hex');
57
- ensureDir();
58
- (0, fs_1.writeFileSync)(saltPath, salt, { mode: 0o600 });
59
- }
60
- const input = `${(0, os_1.hostname)()}|${(0, os_1.userInfo)().username}|${salt}`;
61
- return (0, crypto_1.createHash)('sha256').update(input).digest('hex');
62
- }
32
+ exports.getContributorToken = contribute_1.getContributorToken;
63
33
  // ---------------------------------------------------------------------------
64
- // Queue operations (compatible with @opena2a/contribute queue format)
34
+ // Queue operations (delegated to @opena2a/contribute)
65
35
  // ---------------------------------------------------------------------------
66
- function queuePath() {
67
- return (0, path_1.join)(getOpena2aHome(), 'contribute-queue.json');
68
- }
69
- function loadQueue() {
70
- const path = queuePath();
71
- if (!(0, fs_1.existsSync)(path))
72
- return { events: [] };
73
- try {
74
- return JSON.parse((0, fs_1.readFileSync)(path, 'utf-8'));
75
- }
76
- catch {
77
- return { events: [] };
78
- }
79
- }
80
- function saveQueue(queue) {
81
- ensureDir();
82
- (0, fs_1.writeFileSync)(queuePath(), JSON.stringify(queue), { mode: 0o600 });
83
- }
84
36
  function queueEvent(event) {
85
- const queue = loadQueue();
86
- queue.events.push(event);
87
- if (queue.events.length > MAX_QUEUE_SIZE) {
88
- queue.events = queue.events.slice(-MAX_QUEUE_SIZE);
89
- }
90
- saveQueue(queue);
91
- }
92
- function shouldFlush() {
93
- return loadQueue().events.length >= FLUSH_THRESHOLD;
94
- }
95
- function buildBatch() {
96
- const events = loadQueue().events;
97
- if (events.length === 0)
98
- return null;
99
- return {
100
- contributorToken: getContributorToken(),
101
- events,
102
- submittedAt: new Date().toISOString(),
103
- };
104
- }
105
- function clearQueue() {
106
- saveQueue({ events: [] });
37
+ (0, contribute_1.queueEvent)(event);
107
38
  }
108
39
  // ---------------------------------------------------------------------------
109
- // Ecosystem and version detection
40
+ // Ecosystem and version detection (HMA-specific)
110
41
  // ---------------------------------------------------------------------------
111
42
  function detectEcosystem(directory) {
112
43
  if ((0, fs_1.existsSync)((0, path_1.join)(directory, 'package.json')))
@@ -139,18 +70,7 @@ function detectPackageVersion(directory, ecosystem) {
139
70
  return '';
140
71
  }
141
72
  // ---------------------------------------------------------------------------
142
- // Map OS type
143
- // ---------------------------------------------------------------------------
144
- function resolveOsType() {
145
- const t = (0, os_1.type)();
146
- if (t === 'Darwin')
147
- return 'macos';
148
- if (t === 'Windows_NT')
149
- return 'windows';
150
- return 'linux';
151
- }
152
- // ---------------------------------------------------------------------------
153
- // Build contribution event from scan findings
73
+ // Build contribution event from scan findings (HMA-specific adapter)
154
74
  // ---------------------------------------------------------------------------
155
75
  function computeVerdict(findings) {
156
76
  const critical = findings.filter(f => !f.passed && f.severity === 'critical').length;
@@ -197,15 +117,15 @@ function buildScanEvent(packageName, directory, findings, durationMs) {
197
117
  };
198
118
  }
199
119
  // ---------------------------------------------------------------------------
200
- // Submit: queue + flush
120
+ // Submit: queue + flush (delegated to @opena2a/contribute)
201
121
  // ---------------------------------------------------------------------------
202
122
  /**
203
123
  * Queue a scan result and flush if threshold reached.
204
124
  * Non-blocking, best-effort. Never throws.
205
125
  */
206
126
  async function queueAndMaybeFlush(event, registryUrl, verbose) {
207
- queueEvent(event);
208
- if (shouldFlush()) {
127
+ (0, contribute_1.queueEvent)(event);
128
+ if ((0, contribute_1.shouldFlush)()) {
209
129
  await flushQueue(registryUrl, verbose);
210
130
  }
211
131
  }
@@ -214,36 +134,14 @@ async function queueAndMaybeFlush(event, registryUrl, verbose) {
214
134
  * Returns true if submission succeeded (or queue was empty).
215
135
  */
216
136
  async function flushQueue(registryUrl, verbose) {
217
- const batch = buildBatch();
137
+ const batch = (0, contribute_1.buildBatch)();
218
138
  if (!batch)
219
139
  return true;
220
- const url = `${(registryUrl || REGISTRY_URL).replace(/\/+$/, '')}/api/v1/contribute`;
221
- try {
222
- const controller = new AbortController();
223
- const timer = setTimeout(() => controller.abort(), TIMEOUT_MS);
224
- const response = await fetch(url, {
225
- method: 'POST',
226
- headers: {
227
- 'Content-Type': 'application/json',
228
- 'User-Agent': `HackMyAgent-CLI/${index_1.VERSION}`,
229
- },
230
- body: JSON.stringify(batch),
231
- signal: controller.signal,
232
- });
233
- clearTimeout(timer);
234
- if (response.ok) {
235
- clearQueue();
236
- if (verbose) {
237
- process.stderr.write(` Shared: anonymized results for ${batch.events.length} scan(s) (community trust)\n`);
238
- }
239
- return true;
240
- }
241
- return false;
242
- }
243
- catch {
244
- // Offline or unreachable -- events stay in queue for next time
245
- return false;
140
+ const success = await (0, contribute_1.submitBatch)(batch, registryUrl, verbose);
141
+ if (success) {
142
+ (0, contribute_1.clearQueue)();
246
143
  }
144
+ return success;
247
145
  }
248
146
  // ---------------------------------------------------------------------------
249
147
  // Legacy compatibility exports (used by existing code)
@@ -254,10 +152,10 @@ function buildContributionPayloadFromDir(packageName, directory, findings) {
254
152
  }
255
153
  /** @deprecated Use flushQueue instead. */
256
154
  async function submitContribution(payload, registryUrl) {
257
- queueEvent(payload);
155
+ (0, contribute_1.queueEvent)(payload);
258
156
  const ok = await flushQueue(registryUrl);
259
157
  return { success: ok };
260
158
  }
261
159
  /** @deprecated Kept for backward compat. */
262
- exports.generateContributorToken = getContributorToken;
160
+ exports.generateContributorToken = exports.getContributorToken;
263
161
  //# sourceMappingURL=contribute.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"contribute.js","sourceRoot":"","sources":["../../src/telemetry/contribute.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contribute.js","sourceRoot":"","sources":["../../src/telemetry/contribute.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hackmyagent",
3
- "version": "0.11.10",
3
+ "version": "0.11.11",
4
4
  "description": "Find it. Break it. Fix it. The hacker's toolkit for AI agents.",
5
5
  "bin": {
6
6
  "hackmyagent": "dist/cli.js"
@@ -31,12 +31,13 @@
31
31
  "clean": "rm -rf dist"
32
32
  },
33
33
  "dependencies": {
34
- "@opena2a/shared": "^0.1.0",
35
- "@opena2a/aim-core": "^0.1.2",
36
34
  "@modelcontextprotocol/sdk": "^1.12.1",
35
+ "@opena2a/aim-core": "^0.1.2",
36
+ "@opena2a/contribute": "^0.1.0",
37
+ "@opena2a/shared": "^0.1.0",
38
+ "ai-trust": "^0.1.1",
37
39
  "commander": "^12.0.0",
38
- "js-yaml": "^4.1.1",
39
- "ai-trust": "^0.1.1"
40
+ "js-yaml": "^4.1.1"
40
41
  },
41
42
  "devDependencies": {
42
43
  "@types/js-yaml": "^4.0.9",