hackmyagent 0.10.0 → 0.11.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 (132) hide show
  1. package/README.md +111 -257
  2. package/dist/arp/index.d.ts +5 -1
  3. package/dist/arp/index.d.ts.map +1 -1
  4. package/dist/arp/index.js +38 -1
  5. package/dist/arp/index.js.map +1 -1
  6. package/dist/arp/monitors/skill-capability-monitor.d.ts +119 -0
  7. package/dist/arp/monitors/skill-capability-monitor.d.ts.map +1 -0
  8. package/dist/arp/monitors/skill-capability-monitor.js +258 -0
  9. package/dist/arp/monitors/skill-capability-monitor.js.map +1 -0
  10. package/dist/arp/telemetry/forwarder.d.ts +62 -0
  11. package/dist/arp/telemetry/forwarder.d.ts.map +1 -0
  12. package/dist/arp/telemetry/forwarder.js +106 -0
  13. package/dist/arp/telemetry/forwarder.js.map +1 -0
  14. package/dist/arp/telemetry/gtin.d.ts +87 -0
  15. package/dist/arp/telemetry/gtin.d.ts.map +1 -0
  16. package/dist/arp/telemetry/gtin.js +239 -0
  17. package/dist/arp/telemetry/gtin.js.map +1 -0
  18. package/dist/arp/telemetry/index.d.ts +6 -0
  19. package/dist/arp/telemetry/index.d.ts.map +1 -0
  20. package/dist/arp/telemetry/index.js +17 -0
  21. package/dist/arp/telemetry/index.js.map +1 -0
  22. package/dist/arp/types.d.ts +10 -0
  23. package/dist/arp/types.d.ts.map +1 -1
  24. package/dist/attack/index.d.ts +1 -1
  25. package/dist/attack/index.d.ts.map +1 -1
  26. package/dist/attack/index.js +5 -1
  27. package/dist/attack/index.js.map +1 -1
  28. package/dist/attack/payloads/context-window.d.ts +7 -0
  29. package/dist/attack/payloads/context-window.d.ts.map +1 -0
  30. package/dist/attack/payloads/context-window.js +110 -0
  31. package/dist/attack/payloads/context-window.js.map +1 -0
  32. package/dist/attack/payloads/index.d.ts +5 -1
  33. package/dist/attack/payloads/index.d.ts.map +1 -1
  34. package/dist/attack/payloads/index.js +17 -1
  35. package/dist/attack/payloads/index.js.map +1 -1
  36. package/dist/attack/payloads/memory-weaponization.d.ts +7 -0
  37. package/dist/attack/payloads/memory-weaponization.d.ts.map +1 -0
  38. package/dist/attack/payloads/memory-weaponization.js +110 -0
  39. package/dist/attack/payloads/memory-weaponization.js.map +1 -0
  40. package/dist/attack/payloads/supply-chain.d.ts +7 -0
  41. package/dist/attack/payloads/supply-chain.d.ts.map +1 -0
  42. package/dist/attack/payloads/supply-chain.js +110 -0
  43. package/dist/attack/payloads/supply-chain.js.map +1 -0
  44. package/dist/attack/payloads/tool-shadow.d.ts +8 -0
  45. package/dist/attack/payloads/tool-shadow.d.ts.map +1 -0
  46. package/dist/attack/payloads/tool-shadow.js +209 -0
  47. package/dist/attack/payloads/tool-shadow.js.map +1 -0
  48. package/dist/attack/scanner.d.ts.map +1 -1
  49. package/dist/attack/scanner.js +4 -0
  50. package/dist/attack/scanner.js.map +1 -1
  51. package/dist/attack/types.d.ts +1 -1
  52. package/dist/attack/types.d.ts.map +1 -1
  53. package/dist/attack/types.js +20 -0
  54. package/dist/attack/types.js.map +1 -1
  55. package/dist/checker/index.d.ts +2 -0
  56. package/dist/checker/index.d.ts.map +1 -1
  57. package/dist/checker/index.js +8 -1
  58. package/dist/checker/index.js.map +1 -1
  59. package/dist/checker/skill-dependency-graph.d.ts +55 -0
  60. package/dist/checker/skill-dependency-graph.d.ts.map +1 -0
  61. package/dist/checker/skill-dependency-graph.js +288 -0
  62. package/dist/checker/skill-dependency-graph.js.map +1 -0
  63. package/dist/cli.js +481 -66
  64. package/dist/cli.js.map +1 -1
  65. package/dist/hardening/index.d.ts +5 -0
  66. package/dist/hardening/index.d.ts.map +1 -1
  67. package/dist/hardening/index.js +11 -1
  68. package/dist/hardening/index.js.map +1 -1
  69. package/dist/hardening/scanner.d.ts +40 -0
  70. package/dist/hardening/scanner.d.ts.map +1 -1
  71. package/dist/hardening/scanner.js +988 -11
  72. package/dist/hardening/scanner.js.map +1 -1
  73. package/dist/hardening/security-check.d.ts +2 -0
  74. package/dist/hardening/security-check.d.ts.map +1 -1
  75. package/dist/hardening/skill-capability-validator.d.ts +31 -0
  76. package/dist/hardening/skill-capability-validator.d.ts.map +1 -0
  77. package/dist/hardening/skill-capability-validator.js +237 -0
  78. package/dist/hardening/skill-capability-validator.js.map +1 -0
  79. package/dist/hardening/skill-context.d.ts +22 -0
  80. package/dist/hardening/skill-context.d.ts.map +1 -0
  81. package/dist/hardening/skill-context.js +127 -0
  82. package/dist/hardening/skill-context.js.map +1 -0
  83. package/dist/hardening/taxonomy.d.ts +17 -0
  84. package/dist/hardening/taxonomy.d.ts.map +1 -0
  85. package/dist/hardening/taxonomy.js +152 -0
  86. package/dist/hardening/taxonomy.js.map +1 -0
  87. package/dist/index.d.ts +12 -4
  88. package/dist/index.d.ts.map +1 -1
  89. package/dist/index.js +36 -3
  90. package/dist/index.js.map +1 -1
  91. package/dist/plugins/credvault.js +2 -2
  92. package/dist/plugins/credvault.js.map +1 -1
  93. package/dist/plugins/secretless.d.ts +15 -0
  94. package/dist/plugins/secretless.d.ts.map +1 -0
  95. package/dist/plugins/secretless.js +199 -0
  96. package/dist/plugins/secretless.js.map +1 -0
  97. package/dist/plugins/signcrypt.js +2 -2
  98. package/dist/plugins/signcrypt.js.map +1 -1
  99. package/dist/plugins/skillguard.js +2 -2
  100. package/dist/plugins/skillguard.js.map +1 -1
  101. package/dist/registry/client.d.ts +1 -1
  102. package/dist/registry/client.d.ts.map +1 -1
  103. package/dist/registry/client.js +4 -1
  104. package/dist/registry/client.js.map +1 -1
  105. package/dist/registry/publish.d.ts.map +1 -1
  106. package/dist/registry/publish.js +7 -1
  107. package/dist/registry/publish.js.map +1 -1
  108. package/dist/resolve-mcp.d.ts +21 -0
  109. package/dist/resolve-mcp.d.ts.map +1 -0
  110. package/dist/resolve-mcp.js +42 -0
  111. package/dist/resolve-mcp.js.map +1 -0
  112. package/dist/scanner/external-scanner.d.ts.map +1 -1
  113. package/dist/scanner/external-scanner.js +48 -14
  114. package/dist/scanner/external-scanner.js.map +1 -1
  115. package/dist/scanner/types.d.ts +1 -0
  116. package/dist/scanner/types.d.ts.map +1 -1
  117. package/dist/soul/scanner.d.ts.map +1 -1
  118. package/dist/soul/scanner.js +2 -1
  119. package/dist/soul/scanner.js.map +1 -1
  120. package/dist/telemetry/contribute.d.ts +60 -0
  121. package/dist/telemetry/contribute.d.ts.map +1 -0
  122. package/dist/telemetry/contribute.js +169 -0
  123. package/dist/telemetry/contribute.js.map +1 -0
  124. package/dist/telemetry/index.d.ts +6 -0
  125. package/dist/telemetry/index.d.ts.map +1 -0
  126. package/dist/telemetry/index.js +18 -0
  127. package/dist/telemetry/index.js.map +1 -0
  128. package/dist/telemetry/opt-in.d.ts +46 -0
  129. package/dist/telemetry/opt-in.d.ts.map +1 -0
  130. package/dist/telemetry/opt-in.js +220 -0
  131. package/dist/telemetry/opt-in.js.map +1 -0
  132. package/package.json +9 -3
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+ /**
3
+ * GTIN Event Forwarder
4
+ *
5
+ * Subscribes to ARP events and forwards anomalous ones to the
6
+ * OpenA2A Registry for community threat intelligence. Events are
7
+ * batched internally and submitted individually (the API accepts
8
+ * one event at a time).
9
+ *
10
+ * Non-blocking: network failures are logged as warnings and never
11
+ * affect ARP monitoring.
12
+ */
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.GTINForwarder = void 0;
15
+ const gtin_1 = require("./gtin");
16
+ /**
17
+ * GTIN Event Forwarder
18
+ *
19
+ * Accumulates anomalous events and flushes them to the registry
20
+ * every 30 seconds (or on explicit flush/shutdown).
21
+ */
22
+ class GTINForwarder {
23
+ constructor(config) {
24
+ this.queue = [];
25
+ this.flushTimer = null;
26
+ this.stopped = false;
27
+ /** Batch interval in milliseconds (30 seconds) */
28
+ this.batchIntervalMs = 30000;
29
+ this.config = config;
30
+ }
31
+ /**
32
+ * Start the forwarder's batch flush timer.
33
+ * Called automatically when the first event is queued, or can be called explicitly.
34
+ */
35
+ start() {
36
+ if (this.flushTimer || this.stopped)
37
+ return;
38
+ this.flushTimer = setInterval(() => {
39
+ this.flush().catch(() => {
40
+ // Non-blocking: swallow flush errors
41
+ });
42
+ }, this.batchIntervalMs);
43
+ // Allow the timer to not prevent process exit
44
+ if (this.flushTimer && typeof this.flushTimer === 'object' && 'unref' in this.flushTimer) {
45
+ this.flushTimer.unref();
46
+ }
47
+ }
48
+ /**
49
+ * Handle an incoming ARP event.
50
+ *
51
+ * If GTIN is enabled and the event is anomalous, it is queued for
52
+ * submission. Normal events are silently ignored.
53
+ */
54
+ onEvent(event) {
55
+ if (!this.config.enabled || this.stopped)
56
+ return;
57
+ if (!(0, gtin_1.isAnomalousEvent)(event))
58
+ return;
59
+ const payload = (0, gtin_1.buildGTINPayload)(event, this.config.packageName, this.config.packageVersion);
60
+ this.queue.push(payload);
61
+ // Auto-start the flush timer on first queued event
62
+ if (!this.flushTimer) {
63
+ this.start();
64
+ }
65
+ }
66
+ /**
67
+ * Force-send all queued events immediately.
68
+ * Each event is submitted individually (the API takes one event at a time).
69
+ */
70
+ async flush() {
71
+ if (this.queue.length === 0)
72
+ return;
73
+ // Drain the queue atomically
74
+ const batch = this.queue.splice(0);
75
+ const submissions = batch.map((payload) => (0, gtin_1.submitGTINEvent)(payload, this.config.registryUrl).catch((err) => {
76
+ // Log warning but never crash
77
+ if (process.env.ARP_DEBUG) {
78
+ console.warn(`[ARP] GTIN submission failed: ${err instanceof Error ? err.message : 'Unknown error'}`);
79
+ }
80
+ return { success: false, error: String(err) };
81
+ }));
82
+ await Promise.allSettled(submissions);
83
+ }
84
+ /**
85
+ * Flush all queued events and stop the forwarder.
86
+ * After shutdown, no new events are accepted.
87
+ */
88
+ async shutdown() {
89
+ this.stopped = true;
90
+ if (this.flushTimer) {
91
+ clearInterval(this.flushTimer);
92
+ this.flushTimer = null;
93
+ }
94
+ await this.flush();
95
+ }
96
+ /** Get the current queue length (for diagnostics) */
97
+ getQueueLength() {
98
+ return this.queue.length;
99
+ }
100
+ /** Check if the forwarder is running */
101
+ isRunning() {
102
+ return !this.stopped && this.config.enabled;
103
+ }
104
+ }
105
+ exports.GTINForwarder = GTINForwarder;
106
+ //# sourceMappingURL=forwarder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"forwarder.js","sourceRoot":"","sources":["../../../src/arp/telemetry/forwarder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * GTIN (Global Threat Intelligence Network) Telemetry Module
3
+ *
4
+ * When opted in, anonymized anomalous ARP events are shared with the
5
+ * OpenA2A Registry to build community threat intelligence.
6
+ *
7
+ * PRIVACY: Only event type, package name, runtime environment, and timing
8
+ * are transmitted. No PII, file paths, credentials, command arguments,
9
+ * payloads, or conversation content are ever included.
10
+ */
11
+ import { ARPEvent } from '../types';
12
+ /** GTIN event types accepted by the registry API */
13
+ export type GTINEventType = 'unexpected_dns' | 'unexpected_network' | 'eval_detected' | 'capability_escalation' | 'suspicious_sequence' | 'idle_activation' | 'env_probe';
14
+ /** Runtime environment identifier */
15
+ export type GTINRuntimeEnv = 'node' | 'python' | 'deno';
16
+ /** Payload submitted to the GTIN telemetry endpoint */
17
+ export interface GTINPayload {
18
+ sensorToken: string;
19
+ eventType: GTINEventType;
20
+ packageName: string;
21
+ packageVersion: string;
22
+ daySinceInstall: number;
23
+ runtimeEnv: GTINRuntimeEnv;
24
+ triggeredAt: string;
25
+ }
26
+ /** Result of submitting a GTIN event */
27
+ export interface GTINSubmitResult {
28
+ success: boolean;
29
+ eventId?: string;
30
+ error?: string;
31
+ }
32
+ /**
33
+ * Generate a stable per-device sensor token.
34
+ *
35
+ * SHA256(hostname + username + random salt stored at ~/.opena2a/gtin-sensor-salt).
36
+ * The salt is generated once on first call and persisted locally.
37
+ */
38
+ export declare function generateSensorToken(): string;
39
+ /**
40
+ * Map an ARP event to a GTIN event type based on source, category, and data fields.
41
+ *
42
+ * Mapping logic:
43
+ * - network source + dns hint in data -> unexpected_dns
44
+ * - network source + anomaly/violation -> unexpected_network
45
+ * - process source + eval pattern in data -> eval_detected
46
+ * - mcp-protocol/a2a-protocol + violation -> capability_escalation
47
+ * - Any sequence detection (data.sequence) -> suspicious_sequence
48
+ * - Idle activation (data.idle) -> idle_activation
49
+ * - filesystem + env variable probe -> env_probe
50
+ * - Fallback for anomaly/violation/threat -> unexpected_network
51
+ */
52
+ export declare function mapEventType(event: ARPEvent): GTINEventType;
53
+ /** Detect the current runtime environment */
54
+ export declare function detectRuntimeEnv(): GTINRuntimeEnv;
55
+ /**
56
+ * Calculate the number of days since ARP was first installed.
57
+ * Uses a marker file at ~/.opena2a/gtin-install-date.
58
+ */
59
+ export declare function getDaySinceInstall(): number;
60
+ /**
61
+ * Build a GTIN telemetry payload from an ARP event.
62
+ *
63
+ * PRIVACY: This function intentionally includes ONLY:
64
+ * - sensorToken (anonymized device ID)
65
+ * - eventType (mapped category)
66
+ * - packageName / packageVersion (what was being monitored)
67
+ * - daySinceInstall (relative timing)
68
+ * - runtimeEnv (node/python/deno)
69
+ * - triggeredAt (ISO timestamp)
70
+ *
71
+ * NEVER included: credentials, payloads, user data, conversation content,
72
+ * file paths, command arguments, IP addresses, hostnames.
73
+ */
74
+ export declare function buildGTINPayload(event: ARPEvent, packageName: string, packageVersion?: string): GTINPayload;
75
+ /**
76
+ * Determine if an event is anomalous and eligible for GTIN transmission.
77
+ * Only anomalous events are transmitted -- normal events are NEVER sent.
78
+ */
79
+ export declare function isAnomalousEvent(event: ARPEvent): boolean;
80
+ /**
81
+ * Submit a single GTIN event to the OpenA2A Registry.
82
+ *
83
+ * POST to https://api.oa2a.org/api/v1/telemetry/runtime
84
+ * Timeout: 10 seconds. Non-blocking: failures are logged as warnings, never crash.
85
+ */
86
+ export declare function submitGTINEvent(payload: GTINPayload, registryUrl?: string): Promise<GTINSubmitResult>;
87
+ //# sourceMappingURL=gtin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gtin.d.ts","sourceRoot":"","sources":["../../../src/arp/telemetry/gtin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,OAAO,EAAE,QAAQ,EAA8B,MAAM,UAAU,CAAC;AAKhE,oDAAoD;AACpD,MAAM,MAAM,aAAa,GACrB,gBAAgB,GAChB,oBAAoB,GACpB,eAAe,GACf,uBAAuB,GACvB,qBAAqB,GACrB,iBAAiB,GACjB,WAAW,CAAC;AAEhB,qCAAqC;AACrC,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;AAExD,uDAAuD;AACvD,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,aAAa,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,cAAc,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wCAAwC;AACxC,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAYD;;;;;GAKG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAe5C;AAID;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,QAAQ,GAAG,aAAa,CAyD3D;AAID,6CAA6C;AAC7C,wBAAgB,gBAAgB,IAAI,cAAc,CAUjD;AAID;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAqB3C;AAID;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,QAAQ,EACf,WAAW,EAAE,MAAM,EACnB,cAAc,CAAC,EAAE,MAAM,GACtB,WAAW,CAUb;AAWD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAEzD;AAID;;;;;GAKG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,WAAW,EACpB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,gBAAgB,CAAC,CAwC3B"}
@@ -0,0 +1,239 @@
1
+ "use strict";
2
+ /**
3
+ * GTIN (Global Threat Intelligence Network) Telemetry Module
4
+ *
5
+ * When opted in, anonymized anomalous ARP events are shared with the
6
+ * OpenA2A Registry to build community threat intelligence.
7
+ *
8
+ * PRIVACY: Only event type, package name, runtime environment, and timing
9
+ * are transmitted. No PII, file paths, credentials, command arguments,
10
+ * payloads, or conversation content are ever included.
11
+ */
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.generateSensorToken = generateSensorToken;
14
+ exports.mapEventType = mapEventType;
15
+ exports.detectRuntimeEnv = detectRuntimeEnv;
16
+ exports.getDaySinceInstall = getDaySinceInstall;
17
+ exports.buildGTINPayload = buildGTINPayload;
18
+ exports.isAnomalousEvent = isAnomalousEvent;
19
+ exports.submitGTINEvent = submitGTINEvent;
20
+ const crypto_1 = require("crypto");
21
+ const fs_1 = require("fs");
22
+ const os_1 = require("os");
23
+ const path_1 = require("path");
24
+ const index_1 = require("../index");
25
+ // --- Sensor Token ---
26
+ /**
27
+ * Resolve the path to the OpenA2A home directory.
28
+ * Respects the OPENA2A_HOME env var, defaults to ~/.opena2a.
29
+ */
30
+ function getOpena2aHome() {
31
+ return process.env.OPENA2A_HOME || (0, path_1.join)(require('os').homedir(), '.opena2a');
32
+ }
33
+ /**
34
+ * Generate a stable per-device sensor token.
35
+ *
36
+ * SHA256(hostname + username + random salt stored at ~/.opena2a/gtin-sensor-salt).
37
+ * The salt is generated once on first call and persisted locally.
38
+ */
39
+ function generateSensorToken() {
40
+ const home = getOpena2aHome();
41
+ const saltPath = (0, path_1.join)(home, 'gtin-sensor-salt');
42
+ let salt;
43
+ if ((0, fs_1.existsSync)(saltPath)) {
44
+ salt = (0, fs_1.readFileSync)(saltPath, 'utf-8').trim();
45
+ }
46
+ else {
47
+ salt = (0, crypto_1.randomBytes)(32).toString('hex');
48
+ (0, fs_1.mkdirSync)(home, { recursive: true });
49
+ (0, fs_1.writeFileSync)(saltPath, salt, { mode: 0o600 });
50
+ }
51
+ const input = `${(0, os_1.hostname)()}|${(0, os_1.userInfo)().username}|${salt}`;
52
+ return (0, crypto_1.createHash)('sha256').update(input).digest('hex');
53
+ }
54
+ // --- Event Type Mapping ---
55
+ /**
56
+ * Map an ARP event to a GTIN event type based on source, category, and data fields.
57
+ *
58
+ * Mapping logic:
59
+ * - network source + dns hint in data -> unexpected_dns
60
+ * - network source + anomaly/violation -> unexpected_network
61
+ * - process source + eval pattern in data -> eval_detected
62
+ * - mcp-protocol/a2a-protocol + violation -> capability_escalation
63
+ * - Any sequence detection (data.sequence) -> suspicious_sequence
64
+ * - Idle activation (data.idle) -> idle_activation
65
+ * - filesystem + env variable probe -> env_probe
66
+ * - Fallback for anomaly/violation/threat -> unexpected_network
67
+ */
68
+ function mapEventType(event) {
69
+ const { source, data } = event;
70
+ // Check for sequence detection first (can come from any source)
71
+ if (data.sequence || data.sequenceDetected || data.patternType === 'sequence') {
72
+ return 'suspicious_sequence';
73
+ }
74
+ // Check for idle activation
75
+ if (data.idle || data.idleActivation || data.patternType === 'idle') {
76
+ return 'idle_activation';
77
+ }
78
+ // Source-specific mappings
79
+ switch (source) {
80
+ case 'network': {
81
+ // DNS-specific detection
82
+ if (data.dns || data.dnsLookup || data.type === 'dns' || data.protocol === 'dns') {
83
+ return 'unexpected_dns';
84
+ }
85
+ return 'unexpected_network';
86
+ }
87
+ case 'process': {
88
+ // Eval pattern detection
89
+ const desc = String(data.command || data.description || '').toLowerCase();
90
+ if (data.eval || data.evalDetected || desc.includes('eval')) {
91
+ return 'eval_detected';
92
+ }
93
+ return 'unexpected_network'; // process doing unexpected network-like activity
94
+ }
95
+ case 'mcp-protocol':
96
+ case 'a2a-protocol':
97
+ return 'capability_escalation';
98
+ case 'filesystem': {
99
+ // Environment variable probing
100
+ const filePath = String(data.path || data.file || '').toLowerCase();
101
+ if (data.envProbe ||
102
+ filePath.includes('.env') ||
103
+ filePath.includes('environment') ||
104
+ filePath.includes('/etc/passwd') ||
105
+ filePath.includes('credentials')) {
106
+ return 'env_probe';
107
+ }
108
+ return 'env_probe'; // filesystem anomalies default to env_probe
109
+ }
110
+ case 'prompt':
111
+ return 'capability_escalation';
112
+ default:
113
+ return 'unexpected_network';
114
+ }
115
+ }
116
+ // --- Runtime Detection ---
117
+ /** Detect the current runtime environment */
118
+ function detectRuntimeEnv() {
119
+ // Check for Deno
120
+ if (typeof globalThis.Deno !== 'undefined') {
121
+ return 'deno';
122
+ }
123
+ // Check for Python (unlikely in this context, but included for completeness)
124
+ if (process.env.PYTHON_VERSION || process.env.VIRTUAL_ENV) {
125
+ return 'python';
126
+ }
127
+ return 'node';
128
+ }
129
+ // --- Day Since Install ---
130
+ /**
131
+ * Calculate the number of days since ARP was first installed.
132
+ * Uses a marker file at ~/.opena2a/gtin-install-date.
133
+ */
134
+ function getDaySinceInstall() {
135
+ const home = getOpena2aHome();
136
+ const markerPath = (0, path_1.join)(home, 'gtin-install-date');
137
+ let installDate;
138
+ if ((0, fs_1.existsSync)(markerPath)) {
139
+ const stored = (0, fs_1.readFileSync)(markerPath, 'utf-8').trim();
140
+ installDate = new Date(stored);
141
+ if (isNaN(installDate.getTime())) {
142
+ installDate = new Date();
143
+ (0, fs_1.writeFileSync)(markerPath, installDate.toISOString(), { mode: 0o600 });
144
+ }
145
+ }
146
+ else {
147
+ installDate = new Date();
148
+ (0, fs_1.mkdirSync)(home, { recursive: true });
149
+ (0, fs_1.writeFileSync)(markerPath, installDate.toISOString(), { mode: 0o600 });
150
+ }
151
+ const now = new Date();
152
+ const diffMs = now.getTime() - installDate.getTime();
153
+ return Math.max(0, Math.floor(diffMs / (24 * 60 * 60 * 1000)));
154
+ }
155
+ // --- Payload Builder ---
156
+ /**
157
+ * Build a GTIN telemetry payload from an ARP event.
158
+ *
159
+ * PRIVACY: This function intentionally includes ONLY:
160
+ * - sensorToken (anonymized device ID)
161
+ * - eventType (mapped category)
162
+ * - packageName / packageVersion (what was being monitored)
163
+ * - daySinceInstall (relative timing)
164
+ * - runtimeEnv (node/python/deno)
165
+ * - triggeredAt (ISO timestamp)
166
+ *
167
+ * NEVER included: credentials, payloads, user data, conversation content,
168
+ * file paths, command arguments, IP addresses, hostnames.
169
+ */
170
+ function buildGTINPayload(event, packageName, packageVersion) {
171
+ return {
172
+ sensorToken: generateSensorToken(),
173
+ eventType: mapEventType(event),
174
+ packageName,
175
+ packageVersion: packageVersion || '',
176
+ daySinceInstall: getDaySinceInstall(),
177
+ runtimeEnv: detectRuntimeEnv(),
178
+ triggeredAt: event.timestamp,
179
+ };
180
+ }
181
+ // --- Anomaly Filter ---
182
+ /** Categories that qualify as anomalous (eligible for GTIN transmission) */
183
+ const ANOMALOUS_CATEGORIES = new Set([
184
+ 'anomaly',
185
+ 'violation',
186
+ 'threat',
187
+ ]);
188
+ /**
189
+ * Determine if an event is anomalous and eligible for GTIN transmission.
190
+ * Only anomalous events are transmitted -- normal events are NEVER sent.
191
+ */
192
+ function isAnomalousEvent(event) {
193
+ return ANOMALOUS_CATEGORIES.has(event.category);
194
+ }
195
+ // --- Submission ---
196
+ /**
197
+ * Submit a single GTIN event to the OpenA2A Registry.
198
+ *
199
+ * POST to https://api.oa2a.org/api/v1/telemetry/runtime
200
+ * Timeout: 10 seconds. Non-blocking: failures are logged as warnings, never crash.
201
+ */
202
+ async function submitGTINEvent(payload, registryUrl) {
203
+ const baseUrl = registryUrl || 'https://api.oa2a.org';
204
+ const url = `${baseUrl}/api/v1/telemetry/runtime`;
205
+ try {
206
+ const controller = new AbortController();
207
+ const timeout = setTimeout(() => controller.abort(), 10000);
208
+ const response = await fetch(url, {
209
+ method: 'POST',
210
+ headers: {
211
+ 'Content-Type': 'application/json',
212
+ 'User-Agent': `OpenA2A-ARP/${index_1.VERSION}`,
213
+ },
214
+ body: JSON.stringify(payload),
215
+ signal: controller.signal,
216
+ });
217
+ clearTimeout(timeout);
218
+ if (!response.ok) {
219
+ const body = await response.text().catch(() => '');
220
+ return {
221
+ success: false,
222
+ error: `HTTP ${response.status}: ${body}`.substring(0, 200),
223
+ };
224
+ }
225
+ const result = (await response.json());
226
+ return {
227
+ success: true,
228
+ eventId: result.eventId || undefined,
229
+ };
230
+ }
231
+ catch (err) {
232
+ const message = err instanceof Error ? err.message : 'Unknown error';
233
+ if (message.includes('abort') || message.includes('Abort')) {
234
+ return { success: false, error: 'Request timed out (10s)' };
235
+ }
236
+ return { success: false, error: message };
237
+ }
238
+ }
239
+ //# sourceMappingURL=gtin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gtin.js","sourceRoot":"","sources":["../../../src/arp/telemetry/gtin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * GTIN Telemetry — public API barrel exports
3
+ */
4
+ export { generateSensorToken, buildGTINPayload, submitGTINEvent, isAnomalousEvent, mapEventType, detectRuntimeEnv, getDaySinceInstall, GTINEventType, GTINRuntimeEnv, GTINPayload, GTINSubmitResult, } from './gtin';
5
+ export { GTINForwarder, GTINForwarderConfig, } from './forwarder';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/arp/telemetry/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,WAAW,EACX,gBAAgB,GACjB,MAAM,QAAQ,CAAC;AAEhB,OAAO,EACL,aAAa,EACb,mBAAmB,GACpB,MAAM,aAAa,CAAC"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ /**
3
+ * GTIN Telemetry — public API barrel exports
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.GTINForwarder = exports.getDaySinceInstall = exports.detectRuntimeEnv = exports.mapEventType = exports.isAnomalousEvent = exports.submitGTINEvent = exports.buildGTINPayload = exports.generateSensorToken = void 0;
7
+ var gtin_1 = require("./gtin");
8
+ Object.defineProperty(exports, "generateSensorToken", { enumerable: true, get: function () { return gtin_1.generateSensorToken; } });
9
+ Object.defineProperty(exports, "buildGTINPayload", { enumerable: true, get: function () { return gtin_1.buildGTINPayload; } });
10
+ Object.defineProperty(exports, "submitGTINEvent", { enumerable: true, get: function () { return gtin_1.submitGTINEvent; } });
11
+ Object.defineProperty(exports, "isAnomalousEvent", { enumerable: true, get: function () { return gtin_1.isAnomalousEvent; } });
12
+ Object.defineProperty(exports, "mapEventType", { enumerable: true, get: function () { return gtin_1.mapEventType; } });
13
+ Object.defineProperty(exports, "detectRuntimeEnv", { enumerable: true, get: function () { return gtin_1.detectRuntimeEnv; } });
14
+ Object.defineProperty(exports, "getDaySinceInstall", { enumerable: true, get: function () { return gtin_1.getDaySinceInstall; } });
15
+ var forwarder_1 = require("./forwarder");
16
+ Object.defineProperty(exports, "GTINForwarder", { enumerable: true, get: function () { return forwarder_1.GTINForwarder; } });
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/arp/telemetry/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,+BAYgB;AAXd,2GAAA,mBAAmB,OAAA;AACnB,wGAAA,gBAAgB,OAAA;AAChB,uGAAA,eAAe,OAAA;AACf,wGAAA,gBAAgB,OAAA;AAChB,oGAAA,YAAY,OAAA;AACZ,wGAAA,gBAAgB,OAAA;AAChB,0GAAA,kBAAkB,OAAA;AAOpB,yCAGqB;AAFnB,0GAAA,aAAa,OAAA"}
@@ -58,6 +58,16 @@ export interface ARPConfig {
58
58
  aiLayer?: AILayerConfig;
59
59
  /** HTTP reverse proxy configuration */
60
60
  proxy?: ProxyConfig;
61
+ /** GTIN (Global Threat Intelligence Network) opt-in configuration */
62
+ gtin?: GTINConfig;
63
+ }
64
+ export interface GTINConfig {
65
+ /** Whether GTIN telemetry is enabled (default: false, opt-in only) */
66
+ enabled: boolean;
67
+ /** Sensor token override (auto-generated if not provided) */
68
+ sensorToken?: string;
69
+ /** Registry URL override (default: https://api.oa2a.org) */
70
+ registryUrl?: string;
61
71
  }
62
72
  export interface MonitorConfig {
63
73
  process?: {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/arp/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/arp/types.ts"],"names":[],"mappings":"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"}
@@ -8,5 +8,5 @@ export { shouldFail } from './fail-policy';
8
8
  export type { FailPolicy } from './fail-policy';
9
9
  export { AttackCategory, AttackIntensity, AttackSeverity, AttackPayload, AttackResult, AttackReport, AttackTarget, AttackOptions, ATTACK_CATEGORIES, } from './types';
10
10
  export type { CustomPayloadInput, CustomPayloadFile } from './types';
11
- export { ALL_PAYLOADS, PAYLOAD_STATS, getPayloads, getPayloadById, getPayloadsByCategory, getPayloadsByIntensity, PROMPT_INJECTION_PAYLOADS, JAILBREAK_PAYLOADS, DATA_EXFILTRATION_PAYLOADS, CAPABILITY_ABUSE_PAYLOADS, CONTEXT_MANIPULATION_PAYLOADS, MCP_EXPLOITATION_PAYLOADS, A2A_ATTACK_PAYLOADS, } from './payloads';
11
+ export { ALL_PAYLOADS, PAYLOAD_STATS, getPayloads, getPayloadById, getPayloadsByCategory, getPayloadsByIntensity, PROMPT_INJECTION_PAYLOADS, JAILBREAK_PAYLOADS, DATA_EXFILTRATION_PAYLOADS, CAPABILITY_ABUSE_PAYLOADS, CONTEXT_MANIPULATION_PAYLOADS, MCP_EXPLOITATION_PAYLOADS, A2A_ATTACK_PAYLOADS, MEMORY_WEAPONIZATION_PAYLOADS, CONTEXT_WINDOW_PAYLOADS, SUPPLY_CHAIN_PAYLOADS, TOOL_SHADOW_PAYLOADS, } from './payloads';
12
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/attack/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD,OAAO,EACL,cAAc,EACd,eAAe,EACf,cAAc,EACd,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,iBAAiB,GAClB,MAAM,SAAS,CAAC;AAEjB,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAErE,OAAO,EACL,YAAY,EACZ,aAAa,EACb,WAAW,EACX,cAAc,EACd,qBAAqB,EACrB,sBAAsB,EACtB,yBAAyB,EACzB,kBAAkB,EAClB,0BAA0B,EAC1B,yBAAyB,EACzB,6BAA6B,EAC7B,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/attack/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD,OAAO,EACL,cAAc,EACd,eAAe,EACf,cAAc,EACd,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,iBAAiB,GAClB,MAAM,SAAS,CAAC;AAEjB,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAErE,OAAO,EACL,YAAY,EACZ,aAAa,EACb,WAAW,EACX,cAAc,EACd,qBAAqB,EACrB,sBAAsB,EACtB,yBAAyB,EACzB,kBAAkB,EAClB,0BAA0B,EAC1B,yBAAyB,EACzB,6BAA6B,EAC7B,yBAAyB,EACzB,mBAAmB,EACnB,6BAA6B,EAC7B,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,YAAY,CAAC"}
@@ -4,7 +4,7 @@
4
4
  * Adversarial security testing for AI agents
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.A2A_ATTACK_PAYLOADS = exports.MCP_EXPLOITATION_PAYLOADS = exports.CONTEXT_MANIPULATION_PAYLOADS = exports.CAPABILITY_ABUSE_PAYLOADS = exports.DATA_EXFILTRATION_PAYLOADS = exports.JAILBREAK_PAYLOADS = exports.PROMPT_INJECTION_PAYLOADS = exports.getPayloadsByIntensity = exports.getPayloadsByCategory = exports.getPayloadById = exports.getPayloads = exports.PAYLOAD_STATS = exports.ALL_PAYLOADS = exports.ATTACK_CATEGORIES = exports.shouldFail = exports.parseCustomPayloads = exports.AttackScanner = void 0;
7
+ exports.TOOL_SHADOW_PAYLOADS = exports.SUPPLY_CHAIN_PAYLOADS = exports.CONTEXT_WINDOW_PAYLOADS = exports.MEMORY_WEAPONIZATION_PAYLOADS = exports.A2A_ATTACK_PAYLOADS = exports.MCP_EXPLOITATION_PAYLOADS = exports.CONTEXT_MANIPULATION_PAYLOADS = exports.CAPABILITY_ABUSE_PAYLOADS = exports.DATA_EXFILTRATION_PAYLOADS = exports.JAILBREAK_PAYLOADS = exports.PROMPT_INJECTION_PAYLOADS = exports.getPayloadsByIntensity = exports.getPayloadsByCategory = exports.getPayloadById = exports.getPayloads = exports.PAYLOAD_STATS = exports.ALL_PAYLOADS = exports.ATTACK_CATEGORIES = exports.shouldFail = exports.parseCustomPayloads = exports.AttackScanner = void 0;
8
8
  var scanner_1 = require("./scanner");
9
9
  Object.defineProperty(exports, "AttackScanner", { enumerable: true, get: function () { return scanner_1.AttackScanner; } });
10
10
  var custom_payloads_1 = require("./custom-payloads");
@@ -27,4 +27,8 @@ Object.defineProperty(exports, "CAPABILITY_ABUSE_PAYLOADS", { enumerable: true,
27
27
  Object.defineProperty(exports, "CONTEXT_MANIPULATION_PAYLOADS", { enumerable: true, get: function () { return payloads_1.CONTEXT_MANIPULATION_PAYLOADS; } });
28
28
  Object.defineProperty(exports, "MCP_EXPLOITATION_PAYLOADS", { enumerable: true, get: function () { return payloads_1.MCP_EXPLOITATION_PAYLOADS; } });
29
29
  Object.defineProperty(exports, "A2A_ATTACK_PAYLOADS", { enumerable: true, get: function () { return payloads_1.A2A_ATTACK_PAYLOADS; } });
30
+ Object.defineProperty(exports, "MEMORY_WEAPONIZATION_PAYLOADS", { enumerable: true, get: function () { return payloads_1.MEMORY_WEAPONIZATION_PAYLOADS; } });
31
+ Object.defineProperty(exports, "CONTEXT_WINDOW_PAYLOADS", { enumerable: true, get: function () { return payloads_1.CONTEXT_WINDOW_PAYLOADS; } });
32
+ Object.defineProperty(exports, "SUPPLY_CHAIN_PAYLOADS", { enumerable: true, get: function () { return payloads_1.SUPPLY_CHAIN_PAYLOADS; } });
33
+ Object.defineProperty(exports, "TOOL_SHADOW_PAYLOADS", { enumerable: true, get: function () { return payloads_1.TOOL_SHADOW_PAYLOADS; } });
30
34
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/attack/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,qCAA0C;AAAjC,wGAAA,aAAa,OAAA;AACtB,qDAAwD;AAA/C,sHAAA,mBAAmB,OAAA;AAC5B,6CAA2C;AAAlC,yGAAA,UAAU,OAAA;AAGnB,iCAUiB;AADf,0GAAA,iBAAiB,OAAA;AAKnB,uCAcoB;AAblB,wGAAA,YAAY,OAAA;AACZ,yGAAA,aAAa,OAAA;AACb,uGAAA,WAAW,OAAA;AACX,0GAAA,cAAc,OAAA;AACd,iHAAA,qBAAqB,OAAA;AACrB,kHAAA,sBAAsB,OAAA;AACtB,qHAAA,yBAAyB,OAAA;AACzB,8GAAA,kBAAkB,OAAA;AAClB,sHAAA,0BAA0B,OAAA;AAC1B,qHAAA,yBAAyB,OAAA;AACzB,yHAAA,6BAA6B,OAAA;AAC7B,qHAAA,yBAAyB,OAAA;AACzB,+GAAA,mBAAmB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/attack/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,qCAA0C;AAAjC,wGAAA,aAAa,OAAA;AACtB,qDAAwD;AAA/C,sHAAA,mBAAmB,OAAA;AAC5B,6CAA2C;AAAlC,yGAAA,UAAU,OAAA;AAGnB,iCAUiB;AADf,0GAAA,iBAAiB,OAAA;AAKnB,uCAkBoB;AAjBlB,wGAAA,YAAY,OAAA;AACZ,yGAAA,aAAa,OAAA;AACb,uGAAA,WAAW,OAAA;AACX,0GAAA,cAAc,OAAA;AACd,iHAAA,qBAAqB,OAAA;AACrB,kHAAA,sBAAsB,OAAA;AACtB,qHAAA,yBAAyB,OAAA;AACzB,8GAAA,kBAAkB,OAAA;AAClB,sHAAA,0BAA0B,OAAA;AAC1B,qHAAA,yBAAyB,OAAA;AACzB,yHAAA,6BAA6B,OAAA;AAC7B,qHAAA,yBAAyB,OAAA;AACzB,+GAAA,mBAAmB,OAAA;AACnB,yHAAA,6BAA6B,OAAA;AAC7B,mHAAA,uBAAuB,OAAA;AACvB,iHAAA,qBAAqB,OAAA;AACrB,gHAAA,oBAAoB,OAAA"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Context Window Attack Payloads
3
+ */
4
+ import { AttackPayload } from '../types';
5
+ export declare const CONTEXT_WINDOW_PAYLOADS: AttackPayload[];
6
+ export default CONTEXT_WINDOW_PAYLOADS;
7
+ //# sourceMappingURL=context-window.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-window.d.ts","sourceRoot":"","sources":["../../../src/attack/payloads/context-window.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,eAAO,MAAM,uBAAuB,EAAE,aAAa,EAqGlD,CAAC;AAEF,eAAe,uBAAuB,CAAC"}