@trenchwork/erosolar 1.1.36 → 1.1.38
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.
Potentially problematic release.
This version of @trenchwork/erosolar might be problematic. Click here for more details.
- package/README.md +219 -170
- package/SECURITY.md +28 -6
- package/agents/engagement-delivery.rules.json +7 -0
- package/agents/variant-research.rules.json +7 -0
- package/dist/bin/erosolar.js +192 -85
- package/dist/bin/erosolar.js.map +1 -1
- package/dist/capabilities/_opsContext.d.ts +65 -1
- package/dist/capabilities/_opsContext.d.ts.map +1 -1
- package/dist/capabilities/_opsContext.js +43 -0
- package/dist/capabilities/_opsContext.js.map +1 -1
- package/dist/capabilities/heliaCapability.d.ts +15 -0
- package/dist/capabilities/heliaCapability.d.ts.map +1 -0
- package/dist/capabilities/heliaCapability.js +34 -0
- package/dist/capabilities/heliaCapability.js.map +1 -0
- package/dist/capabilities/index.d.ts +1 -0
- package/dist/capabilities/index.d.ts.map +1 -1
- package/dist/capabilities/index.js +1 -0
- package/dist/capabilities/index.js.map +1 -1
- package/dist/capabilities/llmRedteamCapability.d.ts.map +1 -1
- package/dist/capabilities/llmRedteamCapability.js +47 -0
- package/dist/capabilities/llmRedteamCapability.js.map +1 -1
- package/dist/core/artifactLog.d.ts +82 -0
- package/dist/core/artifactLog.d.ts.map +1 -0
- package/dist/core/artifactLog.js +224 -0
- package/dist/core/artifactLog.js.map +1 -0
- package/dist/core/artifactStore.d.ts +17 -0
- package/dist/core/artifactStore.d.ts.map +1 -1
- package/dist/core/artifactStore.js +22 -0
- package/dist/core/artifactStore.js.map +1 -1
- package/dist/core/cliTriggerHandlers.d.ts +15 -0
- package/dist/core/cliTriggerHandlers.d.ts.map +1 -0
- package/dist/core/cliTriggerHandlers.js +60 -0
- package/dist/core/cliTriggerHandlers.js.map +1 -0
- package/dist/core/hitl.d.ts +4 -1
- package/dist/core/hitl.d.ts.map +1 -1
- package/dist/core/hitl.js +60 -171
- package/dist/core/hitl.js.map +1 -1
- package/dist/core/portalPresence.d.ts +74 -0
- package/dist/core/portalPresence.d.ts.map +1 -0
- package/dist/core/portalPresence.js +187 -0
- package/dist/core/portalPresence.js.map +1 -0
- package/dist/core/updateChecker.d.ts.map +1 -1
- package/dist/core/updateChecker.js +8 -6
- package/dist/core/updateChecker.js.map +1 -1
- package/dist/headless/interactiveShell.js +23 -0
- package/dist/headless/interactiveShell.js.map +1 -1
- package/dist/plugins/tools/mcp/mcpClient.js +1 -1
- package/dist/plugins/tools/mcp/mcpClient.js.map +1 -1
- package/dist/runtime/node.d.ts.map +1 -1
- package/dist/runtime/node.js +2 -2
- package/dist/runtime/node.js.map +1 -1
- package/dist/runtime/phaseEmitter.d.ts +6 -0
- package/dist/runtime/phaseEmitter.d.ts.map +1 -1
- package/dist/runtime/phaseEmitter.js +0 -0
- package/dist/runtime/phaseEmitter.js.map +1 -1
- package/dist/tools/engagementTools.d.ts.map +1 -1
- package/dist/tools/engagementTools.js +73 -1
- package/dist/tools/engagementTools.js.map +1 -1
- package/dist/tools/heliaControl.d.ts +17 -0
- package/dist/tools/heliaControl.d.ts.map +1 -1
- package/dist/tools/heliaControl.js +108 -2
- package/dist/tools/heliaControl.js.map +1 -1
- package/dist/tools/heliaTools.d.ts +22 -0
- package/dist/tools/heliaTools.d.ts.map +1 -0
- package/dist/tools/heliaTools.js +125 -0
- package/dist/tools/heliaTools.js.map +1 -0
- package/dist/tools/interactionTools.d.ts.map +1 -1
- package/dist/tools/interactionTools.js +31 -15
- package/dist/tools/interactionTools.js.map +1 -1
- package/dist/tools/scheduleTools.d.ts.map +1 -1
- package/dist/tools/scheduleTools.js +5 -2
- package/dist/tools/scheduleTools.js.map +1 -1
- package/dist/tools/webTools.js +1 -1
- package/dist/tools/webTools.js.map +1 -1
- package/dist/ui/ink/AskUserMenu.d.ts +16 -0
- package/dist/ui/ink/AskUserMenu.d.ts.map +1 -0
- package/dist/ui/ink/AskUserMenu.js +85 -0
- package/dist/ui/ink/AskUserMenu.js.map +1 -0
- package/dist/ui/ink/HitlDecisionMenu.d.ts +23 -0
- package/dist/ui/ink/HitlDecisionMenu.d.ts.map +1 -0
- package/dist/ui/ink/HitlDecisionMenu.js +124 -0
- package/dist/ui/ink/HitlDecisionMenu.js.map +1 -0
- package/dist/ui/ink/oneShot.d.ts +33 -0
- package/dist/ui/ink/oneShot.d.ts.map +1 -0
- package/dist/ui/ink/oneShot.js +70 -0
- package/dist/ui/ink/oneShot.js.map +1 -0
- package/dist/utils/heliaClient.d.ts +23 -0
- package/dist/utils/heliaClient.d.ts.map +1 -0
- package/dist/utils/heliaClient.js +79 -0
- package/dist/utils/heliaClient.js.map +1 -0
- package/dist/utils/lambdaClient.d.ts.map +1 -1
- package/dist/utils/lambdaClient.js +9 -0
- package/dist/utils/lambdaClient.js.map +1 -1
- package/dist/utils/statusReporter.d.ts +13 -0
- package/dist/utils/statusReporter.d.ts.map +1 -1
- package/dist/utils/statusReporter.js +26 -0
- package/dist/utils/statusReporter.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"phaseEmitter.js","sourceRoot":"","sources":["../../src/runtime/phaseEmitter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAKH,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAIrE;;;GAGG;AACH,MAAM,oBAAoB,GAA4C;IACpE,6CAA6C;IAC7C,CAAC,gBAAgB,EAAK,OAAO,CAAC;IAC9B,CAAC,YAAY,EAAS,OAAO,CAAC;IAC9B,CAAC,cAAc,EAAO,OAAO,CAAC;IAC9B,CAAC,eAAe,EAAM,OAAO,CAAC;IAC9B,CAAC,WAAW,EAAU,OAAO,CAAC;IAC9B,CAAC,kBAAkB,EAAG,OAAO,CAAC;IAC9B,CAAC,YAAY,EAAS,OAAO,CAAC;IAC9B,CAAC,aAAa,EAAQ,OAAO,CAAC;IAC9B,gEAAgE;IAChE,CAAC,MAAM,EAAe,QAAQ,CAAC;IAC/B,CAAC,SAAS,EAAY,QAAQ,CAAC;IAC/B,0CAA0C;IAC1C,CAAC,MAAM,EAAe,MAAM,CAAC;IAC7B,8BAA8B;IAC9B,CAAC,MAAM,EAAe,QAAQ,CAAC;IAC/B,2DAA2D;IAC3D,CAAC,MAAM,EAAe,SAAS,CAAC;IAChC,2DAA2D;IAC3D,CAAC,aAAa,EAAQ,UAAU,CAAC;IACjC,CAAC,YAAY,EAAS,UAAU,CAAC;IACjC,CAAC,WAAW,EAAU,UAAU,CAAC;IACjC,CAAC,cAAc,EAAO,UAAU,CAAC;CAClC,CAAC;AAEF;;;;GAIG;AACH,MAAM,eAAe,GAAwD,IAAI,GAAG,CAAC;IACnF,CAAC,gBAAgB,EAAM,EAAE,IAAI,EAAE,MAAM,EAAI,IAAI,EAAE,OAAO,EAAE,CAAC;IACzD,CAAC,cAAc,EAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC1D,CAAC,cAAc,EAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;CAC3D,CAAC,CAAC;AAEH,MAAM,aAAa,GAAuD,IAAI,GAAG,CAAC;IAChF,CAAC,eAAe,EAAG,SAAS,CAAC;IAC7B,CAAC,aAAa,EAAK,SAAS,CAAC;CAC9B,CAAC,CAAC;AAEH,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,oBAAoB,EAAE,CAAC;QACnD,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YAAE,OAAO,KAAK,CAAC;IAC/D,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,OAAO,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;AACzC,CAAC;AAED,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAE9B,SAAS,UAAU,CAAC,KAAa,EAAE,GAAG,GAAG,gBAAgB;IACvD,IAAI,KAAK,CAAC,MAAM,IAAI,GAAG;QAAE,OAAO,KAAK,CAAC;IACtC,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,iBAAiB,KAAK,CAAC,MAAM,GAAG,GAAG,SAAS,CAAC;AAC5E,CAAC;AAQD
|
|
1
|
+
{"version":3,"file":"phaseEmitter.js","sourceRoot":"","sources":["../../src/runtime/phaseEmitter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engagementTools.d.ts","sourceRoot":"","sources":["../../src/tools/engagementTools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;
|
|
1
|
+
{"version":3,"file":"engagementTools.d.ts","sourceRoot":"","sources":["../../src/tools/engagementTools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAO7D,UAAU,gBAAgB;IACxB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAQD,wBAAgB,sBAAsB,IAAI,gBAAgB,CAEzD;AAED,wBAAgB,wBAAwB,IAAI,IAAI,CAI/C;AAED;;;;;;;;;GASG;AACH,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAehF;AAED;;;;;;;GAOG;AACH,wBAAsB,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG,IAAI,CAAC,CAW3H;AA0ED,wBAAgB,qBAAqB,IAAI,cAAc,EAAE,CAqaxD"}
|
|
@@ -9,7 +9,11 @@
|
|
|
9
9
|
* state so subsequent tool calls in the same session can omit the
|
|
10
10
|
* engagement/target ids and operate on the active record.
|
|
11
11
|
*/
|
|
12
|
+
import { createHash } from 'node:crypto';
|
|
12
13
|
import { callLambda } from '../utils/lambdaClient.js';
|
|
14
|
+
async function sha256Hex(s) {
|
|
15
|
+
return createHash('sha256').update(s).digest('hex');
|
|
16
|
+
}
|
|
13
17
|
const SELECTION = {
|
|
14
18
|
engagementId: null,
|
|
15
19
|
targetId: null,
|
|
@@ -218,7 +222,7 @@ export function createEngagementTools() {
|
|
|
218
222
|
authorizedRecipient: { type: 'string', description: 'Sponsor / agency / vendor PSIRT / program owner.' },
|
|
219
223
|
scopeStatement: { type: 'string', description: 'Plain-text scope summary.' },
|
|
220
224
|
scopeUrls: { type: 'array', items: { type: 'string' }, description: 'In-scope URLs / hostnames.' },
|
|
221
|
-
earScope: { type: 'string', description: 'EAR
|
|
225
|
+
earScope: { type: 'string', description: 'EAR scope confirmation text.' },
|
|
222
226
|
notes: { type: 'string' },
|
|
223
227
|
},
|
|
224
228
|
},
|
|
@@ -484,6 +488,74 @@ export function createEngagementTools() {
|
|
|
484
488
|
return items.map((f) => `${f.id} [${f.status ?? 'triaging'}] ${f.severity ?? '?'} · ${f.title ?? ''}`.trim()).join('\n');
|
|
485
489
|
},
|
|
486
490
|
},
|
|
491
|
+
{
|
|
492
|
+
name: 'ExploitUpsert',
|
|
493
|
+
description: 'Record a verified exploit run against the active target. Idempotent — ' +
|
|
494
|
+
'the same identity tuple (targetHost + vulnClass + payloadSignature) maps ' +
|
|
495
|
+
'to the same canonical exploit doc, so re-runs append a runs/<ts> row and ' +
|
|
496
|
+
'update lastVerifiedAt rather than creating duplicates. Distinct chains ' +
|
|
497
|
+
'(different primitive or payload) become separate exploit docs and are ' +
|
|
498
|
+
'tracked side-by-side. The verdict set is {still-vulnerable, patched, ' +
|
|
499
|
+
'regressed, inconclusive, errored} — the Lambda derives status (live → ' +
|
|
500
|
+
'patched → regressed) from successive verdicts and emits the matching ' +
|
|
501
|
+
'event in the disclosure ledger.',
|
|
502
|
+
parameters: {
|
|
503
|
+
type: 'object',
|
|
504
|
+
properties: {
|
|
505
|
+
exploitId: { type: 'string', description: '12–32 hex chars; sha256(targetHost+vulnClass+payloadSignature) sliced to 16. Auto-derived if omitted.' },
|
|
506
|
+
targetHost: { type: 'string', description: 'Stable target identity (URL host, repo path, binary path).' },
|
|
507
|
+
vulnClass: { type: 'string', description: 'rop | jit | deserialization | ssrf | auth-bypass | …' },
|
|
508
|
+
payloadSignature: { type: 'string', description: 'Stable hash / fingerprint of the payload for distinguishing chains.' },
|
|
509
|
+
engagementId: { type: 'string' },
|
|
510
|
+
targetId: { type: 'string' },
|
|
511
|
+
severity: { type: 'string', enum: ['info', 'low', 'medium', 'high', 'critical'] },
|
|
512
|
+
cwe: { type: 'string' },
|
|
513
|
+
tool: { type: 'string', description: 'pwntools | manual | msf | afl++ | …' },
|
|
514
|
+
cmd: { type: 'array', items: { type: 'string' }, description: 'argv used to run the chain (truncated to 64 entries).' },
|
|
515
|
+
verdict: {
|
|
516
|
+
type: 'string',
|
|
517
|
+
enum: ['still-vulnerable', 'patched', 'regressed', 'inconclusive', 'errored'],
|
|
518
|
+
description: 'Outcome of THIS run. The Lambda derives the exploit-level status from successive verdicts.',
|
|
519
|
+
},
|
|
520
|
+
jobId: { type: 'string' },
|
|
521
|
+
evidence: { type: 'string', description: 'Tool stdout / observed delta (≤4KB).' },
|
|
522
|
+
},
|
|
523
|
+
required: ['targetHost', 'vulnClass', 'verdict', 'tool'],
|
|
524
|
+
},
|
|
525
|
+
handler: async (args) => {
|
|
526
|
+
const targetHost = String(args['targetHost'] ?? '').trim();
|
|
527
|
+
const vulnClass = String(args['vulnClass'] ?? '').trim();
|
|
528
|
+
const payloadSignature = String(args['payloadSignature'] ?? '').trim()
|
|
529
|
+
|| (await sha256Hex(`${args['tool']}|${JSON.stringify(args['cmd'] ?? '')}`)).slice(0, 16);
|
|
530
|
+
const exploitId = String(args['exploitId'] ?? '').trim()
|
|
531
|
+
|| (await sha256Hex(`${targetHost}|${vulnClass}|${payloadSignature}`)).slice(0, 16);
|
|
532
|
+
const engagementId = args['engagementId'] ?? SELECTION.engagementId ?? null;
|
|
533
|
+
const targetId = args['targetId'] ?? SELECTION.targetId ?? null;
|
|
534
|
+
const result = await callLambda('cliExploitUpsert', {
|
|
535
|
+
exploitId,
|
|
536
|
+
engagementId, targetId,
|
|
537
|
+
identity: { targetHost, vulnClass, payloadSignature },
|
|
538
|
+
classification: {
|
|
539
|
+
severity: args['severity'] ?? null,
|
|
540
|
+
cwe: args['cwe'] ?? null,
|
|
541
|
+
},
|
|
542
|
+
run: {
|
|
543
|
+
verdict: args['verdict'],
|
|
544
|
+
tool: args['tool'],
|
|
545
|
+
cmd: Array.isArray(args['cmd']) ? args['cmd'] : null,
|
|
546
|
+
jobId: typeof args['jobId'] === 'string' ? args['jobId'] : null,
|
|
547
|
+
evidenceDelta: typeof args['evidence'] === 'string'
|
|
548
|
+
? { snippet: args['evidence'].slice(0, 4 * 1024) }
|
|
549
|
+
: null,
|
|
550
|
+
},
|
|
551
|
+
});
|
|
552
|
+
if (!result.ok)
|
|
553
|
+
return fmtLambdaError('ExploitUpsert', result);
|
|
554
|
+
const r = result.result;
|
|
555
|
+
const tag = r?.isFirstSeen ? 'discovered' : 'updated';
|
|
556
|
+
return `Exploit "${r?.exploitId ?? exploitId}" ${tag} · status=${r?.status ?? '?'} · verdict=${args['verdict']}`;
|
|
557
|
+
},
|
|
558
|
+
},
|
|
487
559
|
];
|
|
488
560
|
}
|
|
489
561
|
//# sourceMappingURL=engagementTools.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engagementTools.js","sourceRoot":"","sources":["../../src/tools/engagementTools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"engagementTools.js","sourceRoot":"","sources":["../../src/tools/engagementTools.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,22 @@ export interface HeliaPing {
|
|
|
5
5
|
version: string;
|
|
6
6
|
}
|
|
7
7
|
export declare function ping(): Promise<HeliaPing | null>;
|
|
8
|
+
/**
|
|
9
|
+
* Spawn Helia detached and wait until its control server answers
|
|
10
|
+
* `/helia/ping` (or `timeoutMs` elapses, default 10s). Returns a tag
|
|
11
|
+
* indicating which path resolved:
|
|
12
|
+
* 'already-running' ping succeeded before we did anything
|
|
13
|
+
* 'launched' we spawned and ping then succeeded
|
|
14
|
+
* 'no-binary' couldn't locate Helia on disk — operator needs
|
|
15
|
+
* to install Helia or set $HELIA_BIN
|
|
16
|
+
* 'timeout' spawned but the control server never came up
|
|
17
|
+
*/
|
|
18
|
+
export declare function ensureHeliaRunning(opts?: {
|
|
19
|
+
timeoutMs?: number;
|
|
20
|
+
}): Promise<{
|
|
21
|
+
status: 'already-running' | 'launched' | 'no-binary' | 'timeout';
|
|
22
|
+
bin?: string;
|
|
23
|
+
}>;
|
|
8
24
|
export interface HeliaTab {
|
|
9
25
|
id: string;
|
|
10
26
|
title: string;
|
|
@@ -13,6 +29,7 @@ export interface HeliaTab {
|
|
|
13
29
|
}
|
|
14
30
|
export declare const heliaControl: {
|
|
15
31
|
ping: typeof ping;
|
|
32
|
+
ensureRunning: typeof ensureHeliaRunning;
|
|
16
33
|
tokenPath: typeof tokenPath;
|
|
17
34
|
tabs: () => Promise<HeliaTab[]>;
|
|
18
35
|
openTab: (url?: string) => Promise<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heliaControl.d.ts","sourceRoot":"","sources":["../../src/tools/heliaControl.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"heliaControl.d.ts","sourceRoot":"","sources":["../../src/tools/heliaControl.ts"],"names":[],"mappings":"AAqCA,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAED,wBAAgB,SAAS,IAAI,MAAM,GAAG,IAAI,CAOzC;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,IAAI,CAAC;IACT,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAsB,IAAI,IAAI,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAQtD;AA4DD;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GACxE,OAAO,CAAC;IAAE,MAAM,EAAE,iBAAiB,GAAG,UAAU,GAAG,WAAW,GAAG,SAAS,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAqB5F;AAmDD,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,eAAO,MAAM,YAAY;;;;;oBAKH,MAAM;YAAuB,MAAM;;mBACrC,MAAM;YAAyB,OAAO;;oBACtC,MAAM;YAAyB,OAAO;;kBACrC,MAAM;YAAwB,OAAO;;oBACrC,MAAM;YAAwB,OAAO;;;cACL,MAAM;gBAAU,MAAM;eAAS,MAAM;mBAAa,MAAM,EAAE;;mBACzF,MAAM;YAAuB,OAAO;eAAS,MAAM;;;YACtB,OAAO;iBAAW,MAAM;;;YACxB,OAAO;;CACzD,CAAC"}
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
* the surface stays safe against drive-by browser attacks (a malicious
|
|
11
11
|
* page can hit 127.0.0.1 but cannot read a file under the user's home).
|
|
12
12
|
*/
|
|
13
|
+
import { spawn } from 'node:child_process';
|
|
13
14
|
import * as fs from 'node:fs';
|
|
14
15
|
import * as os from 'node:os';
|
|
15
16
|
import * as path from 'node:path';
|
|
@@ -54,10 +55,114 @@ export async function ping() {
|
|
|
54
55
|
return null;
|
|
55
56
|
}
|
|
56
57
|
}
|
|
58
|
+
/**
|
|
59
|
+
* Best-effort cross-platform locator for the installed Helia binary.
|
|
60
|
+
* Returns the first existing path. Caller is responsible for handling
|
|
61
|
+
* `null` (which means the user hasn't installed Helia yet).
|
|
62
|
+
*
|
|
63
|
+
* $HELIA_BIN → highest priority override
|
|
64
|
+
* macOS /Applications/Helia.app/... + ~/Applications fallback
|
|
65
|
+
* Linux /usr/bin/helia → AppImage in common dirs
|
|
66
|
+
* Windows %LOCALAPPDATA%\Programs\Helia + Program Files fallback
|
|
67
|
+
*/
|
|
68
|
+
function locateHeliaBinary() {
|
|
69
|
+
const override = process.env['HELIA_BIN'];
|
|
70
|
+
if (override && fs.existsSync(override))
|
|
71
|
+
return override;
|
|
72
|
+
const home = os.homedir();
|
|
73
|
+
const candidates = [];
|
|
74
|
+
switch (os.platform()) {
|
|
75
|
+
case 'darwin':
|
|
76
|
+
candidates.push('/Applications/Helia.app/Contents/MacOS/Helia', path.join(home, 'Applications/Helia.app/Contents/MacOS/Helia'));
|
|
77
|
+
break;
|
|
78
|
+
case 'win32': {
|
|
79
|
+
const local = process.env['LOCALAPPDATA'] || path.join(home, 'AppData', 'Local');
|
|
80
|
+
const pf = process.env['ProgramFiles'] || 'C:\\Program Files';
|
|
81
|
+
candidates.push(path.join(local, 'Programs', 'Helia', 'Helia.exe'), path.join(pf, 'Helia', 'Helia.exe'));
|
|
82
|
+
break;
|
|
83
|
+
}
|
|
84
|
+
default: {
|
|
85
|
+
// Linux: check the common install + AppImage layouts.
|
|
86
|
+
candidates.push('/usr/bin/helia', '/usr/local/bin/helia', '/opt/Helia/helia', path.join(home, 'Applications/Helia.AppImage'), path.join(home, '.local/bin/helia'));
|
|
87
|
+
// Plus any AppImage with a Helia-* prefix in ~/Applications/.
|
|
88
|
+
try {
|
|
89
|
+
const appsDir = path.join(home, 'Applications');
|
|
90
|
+
if (fs.existsSync(appsDir)) {
|
|
91
|
+
for (const f of fs.readdirSync(appsDir)) {
|
|
92
|
+
if (/^Helia[-.].*\.AppImage$/i.test(f))
|
|
93
|
+
candidates.push(path.join(appsDir, f));
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
catch { /* ignore */ }
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
for (const c of candidates) {
|
|
101
|
+
try {
|
|
102
|
+
if (fs.existsSync(c))
|
|
103
|
+
return c;
|
|
104
|
+
}
|
|
105
|
+
catch { /* ignore */ }
|
|
106
|
+
}
|
|
107
|
+
return null;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Spawn Helia detached and wait until its control server answers
|
|
111
|
+
* `/helia/ping` (or `timeoutMs` elapses, default 10s). Returns a tag
|
|
112
|
+
* indicating which path resolved:
|
|
113
|
+
* 'already-running' ping succeeded before we did anything
|
|
114
|
+
* 'launched' we spawned and ping then succeeded
|
|
115
|
+
* 'no-binary' couldn't locate Helia on disk — operator needs
|
|
116
|
+
* to install Helia or set $HELIA_BIN
|
|
117
|
+
* 'timeout' spawned but the control server never came up
|
|
118
|
+
*/
|
|
119
|
+
export async function ensureHeliaRunning(opts = {}) {
|
|
120
|
+
if (await ping())
|
|
121
|
+
return { status: 'already-running' };
|
|
122
|
+
const bin = locateHeliaBinary();
|
|
123
|
+
if (!bin)
|
|
124
|
+
return { status: 'no-binary' };
|
|
125
|
+
// macOS .app bundles open via `open -a` so the OS-level singleton
|
|
126
|
+
// semantics are preserved (re-launching just focuses the existing
|
|
127
|
+
// window). Linux/Windows: spawn the binary directly, detach so the
|
|
128
|
+
// CLI's exit doesn't take Helia with it.
|
|
129
|
+
if (os.platform() === 'darwin' && bin.endsWith('.app/Contents/MacOS/Helia')) {
|
|
130
|
+
spawn('open', ['-a', 'Helia'], { detached: true, stdio: 'ignore' }).unref();
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
spawn(bin, [], { detached: true, stdio: 'ignore' }).unref();
|
|
134
|
+
}
|
|
135
|
+
const deadline = Date.now() + (opts.timeoutMs ?? 10_000);
|
|
136
|
+
while (Date.now() < deadline) {
|
|
137
|
+
if (await ping())
|
|
138
|
+
return { status: 'launched', bin };
|
|
139
|
+
await new Promise((r) => { const t = setTimeout(r, 250); t.unref?.(); });
|
|
140
|
+
}
|
|
141
|
+
return { status: 'timeout', bin };
|
|
142
|
+
}
|
|
57
143
|
async function call(method, route, body) {
|
|
58
|
-
|
|
144
|
+
// If Helia isn't running, try to spawn it now. This is the
|
|
145
|
+
// load-bearing "auto-launch" behaviour — the agent doesn't have to
|
|
146
|
+
// ask the operator to start the browser before, e.g., a screenshot
|
|
147
|
+
// tool fires. The boot is detached so a long-running Helia outlives
|
|
148
|
+
// the CLI session.
|
|
149
|
+
let token = readToken();
|
|
59
150
|
if (!token) {
|
|
60
|
-
|
|
151
|
+
const r = await ensureHeliaRunning();
|
|
152
|
+
if (r.status === 'no-binary') {
|
|
153
|
+
throw new Error('Helia is not installed on this machine. Install the Helia browser ' +
|
|
154
|
+
'companion (https://trenchwork.org/helia) or set $HELIA_BIN to point ' +
|
|
155
|
+
'at a custom build.');
|
|
156
|
+
}
|
|
157
|
+
if (r.status === 'timeout') {
|
|
158
|
+
throw new Error(`Helia spawned (${r.bin}) but its control server did not come up at ` +
|
|
159
|
+
`http://${HOST}:${PORT} within 10s. Start Helia manually and retry.`);
|
|
160
|
+
}
|
|
161
|
+
token = readToken();
|
|
162
|
+
if (!token) {
|
|
163
|
+
throw new Error(`Helia is running but no pairing token at ${tokenPath()}. The browser ` +
|
|
164
|
+
`may still be initialising; retry in a moment.`);
|
|
165
|
+
}
|
|
61
166
|
}
|
|
62
167
|
const url = new URL(`http://${HOST}:${PORT}${route}`);
|
|
63
168
|
url.searchParams.set('token', token);
|
|
@@ -78,6 +183,7 @@ async function call(method, route, body) {
|
|
|
78
183
|
}
|
|
79
184
|
export const heliaControl = {
|
|
80
185
|
ping,
|
|
186
|
+
ensureRunning: ensureHeliaRunning,
|
|
81
187
|
tokenPath,
|
|
82
188
|
tabs: () => call('GET', '/helia/tabs'),
|
|
83
189
|
openTab: (url) => call('POST', '/helia/tab/new', { url }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heliaControl.js","sourceRoot":"","sources":["../../src/tools/heliaControl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,MAAM,IAAI,GAAG,WAAW,CAAC;AACzB,MAAM,IAAI,GAAG,KAAK,CAAC;AAEnB;;;;GAIG;AACH,SAAS,WAAW;IAClB,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;IAC1B,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;QACtB,KAAK,QAAQ;YACX,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,qBAAqB,EAAE,OAAO,CAAC,CAAC;QACpE,KAAK,OAAO;YACV,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC;QAC7F;YACE,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC;IAC5F,CAAC;AACH,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,eAAe,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QACtD,OAAO,CAAC,IAAI,IAAI,CAAC;IACnB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAOD,MAAM,CAAC,KAAK,UAAU,IAAI;IACxB,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,UAAU,IAAI,IAAI,IAAI,aAAa,CAAC,CAAC;QAC3D,IAAI,CAAC,CAAC,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC;QACvB,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAc,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,IAAI,CACjB,MAAsB,EACtB,KAAa,EACb,IAAc;IAEd,
|
|
1
|
+
{"version":3,"file":"heliaControl.js","sourceRoot":"","sources":["../../src/tools/heliaControl.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* helia_* tool family.
|
|
3
|
+
*
|
|
4
|
+
* Drives the locally-attached Helia browser via its RPC surface so the
|
|
5
|
+
* offsec agent can reach bug classes that fundamentally need a real
|
|
6
|
+
* Chromium process: DOM XSS, postMessage handler abuse, OAuth /
|
|
7
|
+
* WebAuthn ceremony quirks, browser-parser desync, BFCache leaks.
|
|
8
|
+
*
|
|
9
|
+
* Gated to offsec profiles only — see src/runtime/node.ts. The default
|
|
10
|
+
* coding profile MUST NOT see these (CLAUDE.md "Capability separation").
|
|
11
|
+
*
|
|
12
|
+
* Each tool returns short, JSON-friendly text. Screenshot returns a
|
|
13
|
+
* tag the agent can pass to FindingUpdatePhase / ExploitUpsert as
|
|
14
|
+
* evidence; the base64 itself is too large to thread through chat
|
|
15
|
+
* but is captured in the tool's structured result for the phase
|
|
16
|
+
* emitter to attach as `evidenceDelta.snippet`.
|
|
17
|
+
*
|
|
18
|
+
* v2.2 hardening 2026-05-10.
|
|
19
|
+
*/
|
|
20
|
+
import type { ToolDefinition } from '../core/toolRuntime.js';
|
|
21
|
+
export declare function createHeliaTools(): ToolDefinition[];
|
|
22
|
+
//# sourceMappingURL=heliaTools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"heliaTools.d.ts","sourceRoot":"","sources":["../../src/tools/heliaTools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAO7D,wBAAgB,gBAAgB,IAAI,cAAc,EAAE,CAqGnD"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* helia_* tool family.
|
|
3
|
+
*
|
|
4
|
+
* Drives the locally-attached Helia browser via its RPC surface so the
|
|
5
|
+
* offsec agent can reach bug classes that fundamentally need a real
|
|
6
|
+
* Chromium process: DOM XSS, postMessage handler abuse, OAuth /
|
|
7
|
+
* WebAuthn ceremony quirks, browser-parser desync, BFCache leaks.
|
|
8
|
+
*
|
|
9
|
+
* Gated to offsec profiles only — see src/runtime/node.ts. The default
|
|
10
|
+
* coding profile MUST NOT see these (CLAUDE.md "Capability separation").
|
|
11
|
+
*
|
|
12
|
+
* Each tool returns short, JSON-friendly text. Screenshot returns a
|
|
13
|
+
* tag the agent can pass to FindingUpdatePhase / ExploitUpsert as
|
|
14
|
+
* evidence; the base64 itself is too large to thread through chat
|
|
15
|
+
* but is captured in the tool's structured result for the phase
|
|
16
|
+
* emitter to attach as `evidenceDelta.snippet`.
|
|
17
|
+
*
|
|
18
|
+
* v2.2 hardening 2026-05-10.
|
|
19
|
+
*/
|
|
20
|
+
import { callHelia, isHeliaRunning } from '../utils/heliaClient.js';
|
|
21
|
+
const HELIA_LAUNCH_HINT = 'Launch Helia (the Erosolar browser companion) and try again. ' +
|
|
22
|
+
'Helia drops its RPC config at ~/.erosolar/helia-rpc.json on launch.';
|
|
23
|
+
export function createHeliaTools() {
|
|
24
|
+
return [
|
|
25
|
+
{
|
|
26
|
+
name: 'helia_navigate',
|
|
27
|
+
description: 'Navigate the active Helia tab to a URL and wait for the load event. ' +
|
|
28
|
+
'Returns the post-load URL + page title (useful for confirming a redirect ' +
|
|
29
|
+
'chain landed where expected). Use this whenever the bug class needs a real ' +
|
|
30
|
+
'rendered page — DOM XSS, OAuth callback, postMessage handler.',
|
|
31
|
+
parameters: {
|
|
32
|
+
type: 'object',
|
|
33
|
+
properties: { url: { type: 'string', description: 'http(s)://… target' } },
|
|
34
|
+
required: ['url'],
|
|
35
|
+
},
|
|
36
|
+
handler: async (args) => {
|
|
37
|
+
if (!isHeliaRunning())
|
|
38
|
+
return `helia_navigate: ${HELIA_LAUNCH_HINT}`;
|
|
39
|
+
const r = await callHelia('/navigate', {
|
|
40
|
+
url: String(args['url'] ?? ''),
|
|
41
|
+
});
|
|
42
|
+
if (!r.ok)
|
|
43
|
+
return `helia_navigate failed: ${r.error}`;
|
|
44
|
+
return `Loaded ${r.result?.url} · "${r.result?.title}"`;
|
|
45
|
+
},
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
name: 'helia_eval',
|
|
49
|
+
description: 'Evaluate a JavaScript expression in the active Helia tab and return the ' +
|
|
50
|
+
'JSON-serialised result. The script runs in the page world (no Node primitives); ' +
|
|
51
|
+
'returned values are JSON.stringify\'d server-side, so functions and DOM nodes ' +
|
|
52
|
+
'come back as null/string rather than throwing. Use this to probe DOM state, ' +
|
|
53
|
+
'fire postMessage, walk the prototype chain, harvest CSP / Headers via fetch.',
|
|
54
|
+
parameters: {
|
|
55
|
+
type: 'object',
|
|
56
|
+
properties: { script: { type: 'string', description: 'JS expression or block (≤256KB).' } },
|
|
57
|
+
required: ['script'],
|
|
58
|
+
},
|
|
59
|
+
handler: async (args) => {
|
|
60
|
+
if (!isHeliaRunning())
|
|
61
|
+
return `helia_eval: ${HELIA_LAUNCH_HINT}`;
|
|
62
|
+
const r = await callHelia('/eval', {
|
|
63
|
+
script: String(args['script'] ?? ''),
|
|
64
|
+
});
|
|
65
|
+
if (!r.ok)
|
|
66
|
+
return `helia_eval failed: ${r.error}`;
|
|
67
|
+
// Render the result compactly. The agent can read it back; if it's
|
|
68
|
+
// too large, suggest the caller snapshot less.
|
|
69
|
+
const json = JSON.stringify(r.result?.result ?? null);
|
|
70
|
+
return json.length > 8000 ? `${json.slice(0, 8000)}\n…[truncated ${json.length - 8000} chars]` : json;
|
|
71
|
+
},
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
name: 'helia_screenshot',
|
|
75
|
+
description: 'Capture the visible viewport of the active Helia tab as a PNG. Returns a ' +
|
|
76
|
+
'short summary (URL, title, byte size) — the actual base64 lives on the tool ' +
|
|
77
|
+
'result envelope and is auto-attached as evidence to the active exploit run ' +
|
|
78
|
+
'via the phase emitter. Use this for submission-grade repro evidence: ' +
|
|
79
|
+
'HackerOne triage, vendor disclosure, before/after on a hypothesised patch.',
|
|
80
|
+
parameters: { type: 'object', properties: {} },
|
|
81
|
+
handler: async () => {
|
|
82
|
+
if (!isHeliaRunning())
|
|
83
|
+
return `helia_screenshot: ${HELIA_LAUNCH_HINT}`;
|
|
84
|
+
const r = await callHelia('/screenshot', {});
|
|
85
|
+
if (!r.ok)
|
|
86
|
+
return `helia_screenshot failed: ${r.error}`;
|
|
87
|
+
const meta = r.result;
|
|
88
|
+
// Stash the base64 on a side channel for the phase emitter to
|
|
89
|
+
// pick up. Non-standard but contained — the phase emitter
|
|
90
|
+
// reads tool.lastScreenshot when it sees helia_screenshot.
|
|
91
|
+
globalThis.__heliaLastScreenshot = {
|
|
92
|
+
base64: meta?.base64 || '',
|
|
93
|
+
url: meta?.url,
|
|
94
|
+
size: meta?.size,
|
|
95
|
+
};
|
|
96
|
+
return `Screenshot · ${meta?.url} · ${meta?.size} bytes (base64 attached to exploit evidence on next FindingUpdate / ExploitUpsert)`;
|
|
97
|
+
},
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
name: 'helia_session_export',
|
|
101
|
+
description: 'Export cookies + localStorage for the active Helia tab\'s origin so the CLI ' +
|
|
102
|
+
'can replay the authenticated session via curl / pwntools / a custom fetch. ' +
|
|
103
|
+
'Origin-scoped — the entire browser cookie jar is NOT exported. Use this when ' +
|
|
104
|
+
'the bug needs an authenticated request the CLI can craft headlessly after the ' +
|
|
105
|
+
'browser established the session.',
|
|
106
|
+
parameters: { type: 'object', properties: {} },
|
|
107
|
+
handler: async () => {
|
|
108
|
+
if (!isHeliaRunning())
|
|
109
|
+
return `helia_session_export: ${HELIA_LAUNCH_HINT}`;
|
|
110
|
+
const r = await callHelia('/session/export', {});
|
|
111
|
+
if (!r.ok)
|
|
112
|
+
return `helia_session_export failed: ${r.error}`;
|
|
113
|
+
const sess = r.result;
|
|
114
|
+
const cookieCount = sess?.cookies?.length ?? 0;
|
|
115
|
+
const lsCount = Object.keys(sess?.localStorage ?? {}).length;
|
|
116
|
+
// Surface the structured shape on the side channel for the
|
|
117
|
+
// agent to format / forward to a follow-on tool, but render
|
|
118
|
+
// a concise text summary in the chat output.
|
|
119
|
+
globalThis.__heliaLastSession = sess;
|
|
120
|
+
return `Session for ${sess?.origin} · ${cookieCount} cookies, ${lsCount} localStorage keys (full payload on the tool result envelope)`;
|
|
121
|
+
},
|
|
122
|
+
},
|
|
123
|
+
];
|
|
124
|
+
}
|
|
125
|
+
//# sourceMappingURL=heliaTools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"heliaTools.js","sourceRoot":"","sources":["../../src/tools/heliaTools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interactionTools.d.ts","sourceRoot":"","sources":["../../src/tools/interactionTools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"interactionTools.d.ts","sourceRoot":"","sources":["../../src/tools/interactionTools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAiJ7D,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,UAAU,CAAC,CAS9F;AAED,wBAAgB,sBAAsB,IAAI,cAAc,EAAE,CA0EzD"}
|