@pensar/apex 2.4.0-canary.fbb66e97 → 2.5.0-canary.aa559068
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/build/agent-48xj79bj.js +20 -0
- package/build/{agent-shhafg9p.js → agent-7q3c9cjt.js} +11 -10
- package/build/{agent-4ts7armt.js → agent-ve8pkr6q.js} +9 -8
- package/build/{apps-yfm59wch.js → apps-4rsrnftx.js} +36 -31
- package/build/{auth-1dct9tqf.js → auth-0w07dbg2.js} +25 -20
- package/build/authentication-87zzmjdd.js +20 -0
- package/build/blackboxAgent-x0e1wqjx.js +20 -0
- package/build/blackboxPentest-0hwj49dr.js +70 -0
- package/build/{cli-a4vxda8s.js → cli-12ky98ey.js} +2 -2
- package/build/{cli-n8c6cdwe.js → cli-2ar3m569.js} +45 -43
- package/build/cli-53rm0rrz.js +15 -0
- package/build/{cli-mkgfykpq.js → cli-54egv3xw.js} +1 -1
- package/build/cli-68260ckj.js +12136 -0
- package/build/{cli-wdnf5jvs.js → cli-6cq67y5m.js} +5 -3
- package/build/{cli-n2dv2jxn.js → cli-7735d17s.js} +46 -25
- package/build/cli-7q3ae3ft.js +6 -0
- package/build/{cli-3ezbs9mw.js → cli-8mws7sa5.js} +1 -1
- package/build/cli-9pbk8m32.js +32 -0
- package/build/{cli-swpbx60z.js → cli-avmhkjtv.js} +1 -1481
- package/build/{cli-x96bafe8.js → cli-eaaqeve1.js} +1 -1
- package/build/{cli-ba9a23ap.js → cli-g0whajsq.js} +5 -3
- package/build/{cli-sms0a70d.js → cli-gb1s7k3v.js} +17 -5
- package/build/{cli-rgk5ccs0.js → cli-h8xsqggy.js} +1 -1
- package/build/{cli-vphjaj1e.js → cli-jsw8vt43.js} +1 -1
- package/build/cli-knd276ed.js +1485 -0
- package/build/{cli-9w6kmefp.js → cli-kya26m6f.js} +487 -166
- package/build/{cli-q2pshbky.js → cli-mmyn6wmb.js} +3 -3
- package/build/{cli-7n5666p8.js → cli-qwv4jsj2.js} +340 -279
- package/build/{cli-s7bkeg8d.js → cli-r3w58pmq.js} +30 -4
- package/build/{cli-s5ky796g.js → cli-w51z9qjr.js} +9 -3
- package/build/{cli-tdm8vj3v.js → cli-whp0f8gp.js} +28 -5
- package/build/cli.js +550 -94
- package/build/{config-16hfhn61.js → config-z9k13rvy.js} +18 -15
- package/build/{doctor-6mtre40n.js → doctor-tc5zs6pn.js} +8 -7
- package/build/{fastStrike-m3yx1gse.js → fastStrike-ssm7df42.js} +13 -10
- package/build/{fixes-0ve441kj.js → fixes-av9nq0hq.js} +25 -20
- package/build/getMachineId-bsd-xj3bn2fv.js +36 -0
- package/build/getMachineId-darwin-07jzjcx6.js +36 -0
- package/build/getMachineId-linux-ahngynxd.js +29 -0
- package/build/getMachineId-unsupported-vy43b44z.js +19 -0
- package/build/getMachineId-win-8x66cynz.js +38 -0
- package/build/{index-hp8bcbnv.js → index-1ppbwgf9.js} +17 -9
- package/build/{index-mtq7kmxz.js → index-5wh7gq37.js} +4 -2
- package/build/{index-8j621csk.js → index-718m7jw9.js} +500 -310
- package/build/{index-5qnfzz0z.js → index-gng8ebqf.js} +11 -10
- package/build/{index-7znkt8zb.js → index-hhcjyc6j.js} +2 -2
- package/build/{index-xkjh989v.js → index-mffgf5hg.js} +9 -7
- package/build/{index-r5aq2z34.js → index-p1atm3ha.js} +3 -3
- package/build/{index-a1hej78y.js → index-vvkvwmyr.js} +4 -4
- package/build/{issues-mprgd1fq.js → issues-hfg8jydv.js} +72 -26
- package/build/{logs-d5d3g58q.js → logs-0rd1z7ct.js} +25 -20
- package/build/{offesecAgent-fmx9mbrp.js → offesecAgent-j4epj93p.js} +10 -9
- package/build/pentest-dp9w88pw.js +30 -0
- package/build/{pentests-4e8kv29y.js → pentests-enyxjtg6.js} +26 -21
- package/build/{targetedPentest-ne2say29.js → targetedPentest-kwabfy86.js} +11 -10
- package/build/{targets-p166btjp.js → targets-7x0pcmws.js} +27 -22
- package/build/threatModel-zwk5eb6r.js +29 -0
- package/build/{uninstall-73440c19.js → uninstall-psm9btpt.js} +6 -3
- package/build/{upload-7er3hpsb.js → upload-dybnknjs.js} +8 -7
- package/build/{utils-1q804s48.js → utils-dsfk965b.js} +7 -6
- package/package.json +7 -1
- package/build/agent-yfqvpeqn.js +0 -19
- package/build/authentication-tc4snnr2.js +0 -19
- package/build/blackboxAgent-6yqmxsb6.js +0 -19
- package/build/blackboxPentest-d1kned1b.js +0 -37
- package/build/main-mmjp338j.js +0 -324
- package/build/pentest-43v46yfk.js +0 -29
- package/build/threatModel-d2npk3zc.js +0 -27
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import {
|
|
2
|
+
CodeAgent
|
|
3
|
+
} from "./cli-12ky98ey.js";
|
|
4
|
+
import"./cli-9fsre5pt.js";
|
|
5
|
+
import"./cli-g0whajsq.js";
|
|
6
|
+
import"./cli-kya26m6f.js";
|
|
7
|
+
import"./cli-8mws7sa5.js";
|
|
8
|
+
import"./cli-c8131c4q.js";
|
|
9
|
+
import"./cli-qwv4jsj2.js";
|
|
10
|
+
import"./cli-jsw8vt43.js";
|
|
11
|
+
import"./cli-avmhkjtv.js";
|
|
12
|
+
import"./cli-j54qa6tm.js";
|
|
13
|
+
import"./cli-54egv3xw.js";
|
|
14
|
+
import"./cli-eaaqeve1.js";
|
|
15
|
+
import"./cli-w51z9qjr.js";
|
|
16
|
+
import"./cli-knd276ed.js";
|
|
17
|
+
import"./cli-bc05qbss.js";
|
|
18
|
+
export {
|
|
19
|
+
CodeAgent
|
|
20
|
+
};
|
|
@@ -5,19 +5,20 @@ import {
|
|
|
5
5
|
buildPentestPrompt,
|
|
6
6
|
buildPentestSystemPrompt,
|
|
7
7
|
resolvePentestAgentRole
|
|
8
|
-
} from "./cli-
|
|
8
|
+
} from "./cli-7735d17s.js";
|
|
9
9
|
import"./cli-9fsre5pt.js";
|
|
10
|
-
import"./cli-
|
|
11
|
-
import"./cli-
|
|
12
|
-
import"./cli-
|
|
10
|
+
import"./cli-g0whajsq.js";
|
|
11
|
+
import"./cli-kya26m6f.js";
|
|
12
|
+
import"./cli-8mws7sa5.js";
|
|
13
13
|
import"./cli-c8131c4q.js";
|
|
14
|
-
import"./cli-
|
|
15
|
-
import"./cli-
|
|
16
|
-
import"./cli-
|
|
14
|
+
import"./cli-qwv4jsj2.js";
|
|
15
|
+
import"./cli-jsw8vt43.js";
|
|
16
|
+
import"./cli-avmhkjtv.js";
|
|
17
17
|
import"./cli-j54qa6tm.js";
|
|
18
|
-
import"./cli-
|
|
19
|
-
import"./cli-
|
|
20
|
-
import"./cli-
|
|
18
|
+
import"./cli-54egv3xw.js";
|
|
19
|
+
import"./cli-eaaqeve1.js";
|
|
20
|
+
import"./cli-w51z9qjr.js";
|
|
21
|
+
import"./cli-knd276ed.js";
|
|
21
22
|
import"./cli-bc05qbss.js";
|
|
22
23
|
export {
|
|
23
24
|
PentestResponseSchema,
|
|
@@ -1,23 +1,24 @@
|
|
|
1
1
|
import {
|
|
2
2
|
OffensiveSecurityAgent
|
|
3
|
-
} from "./cli-
|
|
3
|
+
} from "./cli-kya26m6f.js";
|
|
4
4
|
import {
|
|
5
5
|
detectOSAndEnhancePrompt
|
|
6
|
-
} from "./cli-
|
|
6
|
+
} from "./cli-8mws7sa5.js";
|
|
7
7
|
import"./cli-c8131c4q.js";
|
|
8
8
|
import {
|
|
9
9
|
init_dist,
|
|
10
10
|
stepCountIs
|
|
11
|
-
} from "./cli-
|
|
12
|
-
import"./cli-
|
|
11
|
+
} from "./cli-qwv4jsj2.js";
|
|
12
|
+
import"./cli-jsw8vt43.js";
|
|
13
13
|
import {
|
|
14
14
|
exports_external,
|
|
15
15
|
init_zod
|
|
16
|
-
} from "./cli-
|
|
16
|
+
} from "./cli-avmhkjtv.js";
|
|
17
17
|
import"./cli-j54qa6tm.js";
|
|
18
|
-
import"./cli-
|
|
19
|
-
import"./cli-
|
|
20
|
-
import"./cli-
|
|
18
|
+
import"./cli-54egv3xw.js";
|
|
19
|
+
import"./cli-eaaqeve1.js";
|
|
20
|
+
import"./cli-w51z9qjr.js";
|
|
21
|
+
import"./cli-knd276ed.js";
|
|
21
22
|
import"./cli-bc05qbss.js";
|
|
22
23
|
|
|
23
24
|
// src/core/agents/specialized/findingJudge/agent.ts
|
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
#!/usr/bin/env bun
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
import"./cli-
|
|
6
|
-
import"./cli-
|
|
7
|
-
import"./cli-
|
|
8
|
-
import"./cli-
|
|
9
|
-
import"./cli-
|
|
2
|
+
import {
|
|
3
|
+
markCommandFailed
|
|
4
|
+
} from "./cli-7q3ae3ft.js";
|
|
5
|
+
import"./cli-gb1s7k3v.js";
|
|
6
|
+
import"./cli-9pbk8m32.js";
|
|
7
|
+
import"./cli-2ar3m569.js";
|
|
8
|
+
import"./cli-mmyn6wmb.js";
|
|
9
|
+
import"./cli-6cq67y5m.js";
|
|
10
|
+
import"./cli-7735d17s.js";
|
|
11
|
+
import"./cli-whp0f8gp.js";
|
|
12
|
+
import"./cli-r3w58pmq.js";
|
|
13
|
+
import"./cli-12ky98ey.js";
|
|
10
14
|
import"./cli-9fsre5pt.js";
|
|
11
|
-
import"./cli-
|
|
15
|
+
import"./cli-g0whajsq.js";
|
|
12
16
|
import {
|
|
13
17
|
ENDPOINT_TRANSPORTS,
|
|
14
18
|
createApp,
|
|
@@ -25,17 +29,18 @@ import {
|
|
|
25
29
|
searchEndpoints,
|
|
26
30
|
updateApp,
|
|
27
31
|
updateEndpoint
|
|
28
|
-
} from "./cli-
|
|
29
|
-
import"./cli-
|
|
32
|
+
} from "./cli-kya26m6f.js";
|
|
33
|
+
import"./cli-8mws7sa5.js";
|
|
30
34
|
import"./cli-fw5r7pfj.js";
|
|
31
35
|
import"./cli-c8131c4q.js";
|
|
32
|
-
import"./cli-
|
|
33
|
-
import"./cli-
|
|
34
|
-
import"./cli-
|
|
36
|
+
import"./cli-qwv4jsj2.js";
|
|
37
|
+
import"./cli-jsw8vt43.js";
|
|
38
|
+
import"./cli-avmhkjtv.js";
|
|
35
39
|
import"./cli-j54qa6tm.js";
|
|
36
|
-
import"./cli-
|
|
37
|
-
import"./cli-
|
|
38
|
-
import"./cli-
|
|
40
|
+
import"./cli-54egv3xw.js";
|
|
41
|
+
import"./cli-eaaqeve1.js";
|
|
42
|
+
import"./cli-w51z9qjr.js";
|
|
43
|
+
import"./cli-knd276ed.js";
|
|
39
44
|
import"./cli-bc05qbss.js";
|
|
40
45
|
|
|
41
46
|
// src/cli/apps.ts
|
|
@@ -329,7 +334,7 @@ async function main() {
|
|
|
329
334
|
if (!appId) {
|
|
330
335
|
console.error("Error: app ID is required");
|
|
331
336
|
console.error("Usage: pensar apps get <appId>");
|
|
332
|
-
|
|
337
|
+
return markCommandFailed();
|
|
333
338
|
}
|
|
334
339
|
const app = await getApp(appId);
|
|
335
340
|
console.log(JSON.stringify(app, null, 2));
|
|
@@ -342,7 +347,7 @@ async function main() {
|
|
|
342
347
|
if (!appId) {
|
|
343
348
|
console.error("Error: app ID is required");
|
|
344
349
|
console.error("Usage: pensar apps update <appId> [options]");
|
|
345
|
-
|
|
350
|
+
return markCommandFailed();
|
|
346
351
|
}
|
|
347
352
|
const opts = parseAppUpdateOptions(args);
|
|
348
353
|
const result = await updateApp(appId, opts);
|
|
@@ -352,7 +357,7 @@ async function main() {
|
|
|
352
357
|
if (!appId) {
|
|
353
358
|
console.error("Error: app ID is required");
|
|
354
359
|
console.error("Usage: pensar apps delete <appId>");
|
|
355
|
-
|
|
360
|
+
return markCommandFailed();
|
|
356
361
|
}
|
|
357
362
|
const result = await deleteApp(appId);
|
|
358
363
|
console.log(JSON.stringify(result, null, 2));
|
|
@@ -364,7 +369,7 @@ async function main() {
|
|
|
364
369
|
if (!url) {
|
|
365
370
|
console.error("Error: domain is required");
|
|
366
371
|
console.error("Usage: pensar apps domain-create <domain>");
|
|
367
|
-
|
|
372
|
+
return markCommandFailed();
|
|
368
373
|
}
|
|
369
374
|
const result = await createDomain({ url });
|
|
370
375
|
console.log(JSON.stringify(result, null, 2));
|
|
@@ -373,7 +378,7 @@ async function main() {
|
|
|
373
378
|
if (!appId) {
|
|
374
379
|
console.error("Error: app ID is required");
|
|
375
380
|
console.error("Usage: pensar apps endpoints <appId> [filters]");
|
|
376
|
-
|
|
381
|
+
return markCommandFailed();
|
|
377
382
|
}
|
|
378
383
|
const type = parseEndpointType(getFlag("--type", args));
|
|
379
384
|
const minRiskScore = parseNumber("--min-risk", getFlag("--min-risk", args));
|
|
@@ -392,7 +397,7 @@ async function main() {
|
|
|
392
397
|
if (!endpointId) {
|
|
393
398
|
console.error("Error: endpoint ID is required");
|
|
394
399
|
console.error("Usage: pensar apps endpoint <endpointId>");
|
|
395
|
-
|
|
400
|
+
return markCommandFailed();
|
|
396
401
|
}
|
|
397
402
|
const result = await getEndpoint(endpointId);
|
|
398
403
|
console.log(JSON.stringify(result, null, 2));
|
|
@@ -401,7 +406,7 @@ async function main() {
|
|
|
401
406
|
if (!appId) {
|
|
402
407
|
console.error("Error: app ID is required");
|
|
403
408
|
console.error("Usage: pensar apps endpoint-create <appId> --endpoint E --description D");
|
|
404
|
-
|
|
409
|
+
return markCommandFailed();
|
|
405
410
|
}
|
|
406
411
|
const opts = parseEndpointCreateOptions(args);
|
|
407
412
|
const result = await createEndpoint(appId, opts);
|
|
@@ -411,7 +416,7 @@ async function main() {
|
|
|
411
416
|
if (!endpointId) {
|
|
412
417
|
console.error("Error: endpoint ID is required");
|
|
413
418
|
console.error("Usage: pensar apps endpoint-update <endpointId> [options]");
|
|
414
|
-
|
|
419
|
+
return markCommandFailed();
|
|
415
420
|
}
|
|
416
421
|
const opts = parseEndpointUpdateOptions(args);
|
|
417
422
|
const result = await updateEndpoint(endpointId, opts);
|
|
@@ -421,7 +426,7 @@ async function main() {
|
|
|
421
426
|
if (!endpointId) {
|
|
422
427
|
console.error("Error: endpoint ID is required");
|
|
423
428
|
console.error("Usage: pensar apps endpoint-delete <endpointId>");
|
|
424
|
-
|
|
429
|
+
return markCommandFailed();
|
|
425
430
|
}
|
|
426
431
|
const result = await deleteEndpoint(endpointId);
|
|
427
432
|
console.log(JSON.stringify(result, null, 2));
|
|
@@ -430,7 +435,7 @@ async function main() {
|
|
|
430
435
|
if (!query || query.startsWith("--")) {
|
|
431
436
|
console.error("Error: search query is required");
|
|
432
437
|
console.error("Usage: pensar apps search <query> [options]");
|
|
433
|
-
|
|
438
|
+
return markCommandFailed();
|
|
434
439
|
}
|
|
435
440
|
const type = parseAppType(getFlag("--type", args));
|
|
436
441
|
const limit = parseInteger("--limit", getFlag("--limit", args));
|
|
@@ -446,7 +451,7 @@ async function main() {
|
|
|
446
451
|
if (!query || query.startsWith("--")) {
|
|
447
452
|
console.error("Error: search query is required");
|
|
448
453
|
console.error("Usage: pensar apps search-endpoints <query> [options]");
|
|
449
|
-
|
|
454
|
+
return markCommandFailed();
|
|
450
455
|
}
|
|
451
456
|
const applicationId = getFlag("--app", args);
|
|
452
457
|
const type = parseEndpointType(getFlag("--type", args));
|
|
@@ -474,12 +479,12 @@ async function main() {
|
|
|
474
479
|
} else {
|
|
475
480
|
console.error(`Error: Unknown subcommand "${sub}"`);
|
|
476
481
|
showHelp();
|
|
477
|
-
|
|
482
|
+
return markCommandFailed();
|
|
478
483
|
}
|
|
479
484
|
} catch (err) {
|
|
480
485
|
console.error(`
|
|
481
486
|
Error: ${err instanceof Error ? err.message : String(err)}`);
|
|
482
|
-
|
|
487
|
+
return markCommandFailed();
|
|
483
488
|
}
|
|
484
489
|
}
|
|
485
|
-
main();
|
|
490
|
+
await main();
|
|
@@ -1,19 +1,23 @@
|
|
|
1
1
|
#!/usr/bin/env bun
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
import"./cli-
|
|
6
|
-
import"./cli-
|
|
7
|
-
import"./cli-
|
|
8
|
-
import"./cli-
|
|
9
|
-
import"./cli-
|
|
2
|
+
import {
|
|
3
|
+
markCommandFailed
|
|
4
|
+
} from "./cli-7q3ae3ft.js";
|
|
5
|
+
import"./cli-gb1s7k3v.js";
|
|
6
|
+
import"./cli-9pbk8m32.js";
|
|
7
|
+
import"./cli-2ar3m569.js";
|
|
8
|
+
import"./cli-mmyn6wmb.js";
|
|
9
|
+
import"./cli-6cq67y5m.js";
|
|
10
|
+
import"./cli-7735d17s.js";
|
|
11
|
+
import"./cli-whp0f8gp.js";
|
|
12
|
+
import"./cli-r3w58pmq.js";
|
|
13
|
+
import"./cli-12ky98ey.js";
|
|
10
14
|
import"./cli-9fsre5pt.js";
|
|
11
|
-
import"./cli-
|
|
12
|
-
import"./cli-
|
|
13
|
-
import"./cli-
|
|
15
|
+
import"./cli-g0whajsq.js";
|
|
16
|
+
import"./cli-kya26m6f.js";
|
|
17
|
+
import"./cli-8mws7sa5.js";
|
|
14
18
|
import"./cli-fw5r7pfj.js";
|
|
15
19
|
import"./cli-c8131c4q.js";
|
|
16
|
-
import"./cli-
|
|
20
|
+
import"./cli-qwv4jsj2.js";
|
|
17
21
|
import {
|
|
18
22
|
createWorkspaceSelection,
|
|
19
23
|
disconnect,
|
|
@@ -29,15 +33,16 @@ import {
|
|
|
29
33
|
pollWorkspaceSelection,
|
|
30
34
|
selectWorkspace,
|
|
31
35
|
startDeviceFlow
|
|
32
|
-
} from "./cli-
|
|
33
|
-
import"./cli-
|
|
36
|
+
} from "./cli-jsw8vt43.js";
|
|
37
|
+
import"./cli-avmhkjtv.js";
|
|
34
38
|
import"./cli-j54qa6tm.js";
|
|
35
39
|
import {
|
|
36
40
|
config,
|
|
37
41
|
init_config
|
|
38
|
-
} from "./cli-
|
|
39
|
-
import"./cli-
|
|
40
|
-
import"./cli-
|
|
42
|
+
} from "./cli-54egv3xw.js";
|
|
43
|
+
import"./cli-eaaqeve1.js";
|
|
44
|
+
import"./cli-w51z9qjr.js";
|
|
45
|
+
import"./cli-knd276ed.js";
|
|
41
46
|
import {
|
|
42
47
|
__require
|
|
43
48
|
} from "./cli-bc05qbss.js";
|
|
@@ -300,12 +305,12 @@ async function main() {
|
|
|
300
305
|
} else {
|
|
301
306
|
console.error(`Unknown auth subcommand: ${subcommand}`);
|
|
302
307
|
console.error("Run 'pensar login --help' for usage information");
|
|
303
|
-
|
|
308
|
+
return markCommandFailed();
|
|
304
309
|
}
|
|
305
310
|
} catch (err) {
|
|
306
311
|
console.error(`
|
|
307
312
|
Error: ${err instanceof Error ? err.message : String(err)}`);
|
|
308
|
-
|
|
313
|
+
return markCommandFailed();
|
|
309
314
|
}
|
|
310
315
|
}
|
|
311
|
-
main();
|
|
316
|
+
await main();
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import {
|
|
2
|
+
runAuthenticationAgent
|
|
3
|
+
} from "./cli-r3w58pmq.js";
|
|
4
|
+
import"./cli-9fsre5pt.js";
|
|
5
|
+
import"./cli-g0whajsq.js";
|
|
6
|
+
import"./cli-kya26m6f.js";
|
|
7
|
+
import"./cli-8mws7sa5.js";
|
|
8
|
+
import"./cli-c8131c4q.js";
|
|
9
|
+
import"./cli-qwv4jsj2.js";
|
|
10
|
+
import"./cli-jsw8vt43.js";
|
|
11
|
+
import"./cli-avmhkjtv.js";
|
|
12
|
+
import"./cli-j54qa6tm.js";
|
|
13
|
+
import"./cli-54egv3xw.js";
|
|
14
|
+
import"./cli-eaaqeve1.js";
|
|
15
|
+
import"./cli-w51z9qjr.js";
|
|
16
|
+
import"./cli-knd276ed.js";
|
|
17
|
+
import"./cli-bc05qbss.js";
|
|
18
|
+
export {
|
|
19
|
+
runAuthenticationAgent
|
|
20
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import {
|
|
2
|
+
BlackboxAttackSurfaceAgent
|
|
3
|
+
} from "./cli-6cq67y5m.js";
|
|
4
|
+
import"./cli-9fsre5pt.js";
|
|
5
|
+
import"./cli-g0whajsq.js";
|
|
6
|
+
import"./cli-kya26m6f.js";
|
|
7
|
+
import"./cli-8mws7sa5.js";
|
|
8
|
+
import"./cli-c8131c4q.js";
|
|
9
|
+
import"./cli-qwv4jsj2.js";
|
|
10
|
+
import"./cli-jsw8vt43.js";
|
|
11
|
+
import"./cli-avmhkjtv.js";
|
|
12
|
+
import"./cli-j54qa6tm.js";
|
|
13
|
+
import"./cli-54egv3xw.js";
|
|
14
|
+
import"./cli-eaaqeve1.js";
|
|
15
|
+
import"./cli-w51z9qjr.js";
|
|
16
|
+
import"./cli-knd276ed.js";
|
|
17
|
+
import"./cli-bc05qbss.js";
|
|
18
|
+
export {
|
|
19
|
+
BlackboxAttackSurfaceAgent
|
|
20
|
+
};
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import {
|
|
2
|
+
EMPTY_SESSION_TOKEN_USAGE,
|
|
3
|
+
accumulateSessionTokens
|
|
4
|
+
} from "./cli-9pbk8m32.js";
|
|
5
|
+
import {
|
|
6
|
+
readExecutionMetrics,
|
|
7
|
+
runPentestWorkflow,
|
|
8
|
+
writeExecutionMetrics
|
|
9
|
+
} from "./cli-2ar3m569.js";
|
|
10
|
+
import"./cli-mmyn6wmb.js";
|
|
11
|
+
import"./cli-6cq67y5m.js";
|
|
12
|
+
import"./cli-7735d17s.js";
|
|
13
|
+
import"./cli-whp0f8gp.js";
|
|
14
|
+
import"./cli-12ky98ey.js";
|
|
15
|
+
import"./cli-9fsre5pt.js";
|
|
16
|
+
import"./cli-g0whajsq.js";
|
|
17
|
+
import"./cli-kya26m6f.js";
|
|
18
|
+
import"./cli-8mws7sa5.js";
|
|
19
|
+
import"./cli-fw5r7pfj.js";
|
|
20
|
+
import"./cli-c8131c4q.js";
|
|
21
|
+
import"./cli-qwv4jsj2.js";
|
|
22
|
+
import"./cli-jsw8vt43.js";
|
|
23
|
+
import"./cli-avmhkjtv.js";
|
|
24
|
+
import"./cli-j54qa6tm.js";
|
|
25
|
+
import"./cli-54egv3xw.js";
|
|
26
|
+
import"./cli-eaaqeve1.js";
|
|
27
|
+
import"./cli-w51z9qjr.js";
|
|
28
|
+
import"./cli-knd276ed.js";
|
|
29
|
+
import"./cli-bc05qbss.js";
|
|
30
|
+
|
|
31
|
+
// src/core/api/blackboxPentest.ts
|
|
32
|
+
async function runPentestAgent(input) {
|
|
33
|
+
const persisted = readExecutionMetrics(input.session.rootPath)?.tokenUsage;
|
|
34
|
+
let tokenUsage = persisted ?? EMPTY_SESSION_TOKEN_USAGE;
|
|
35
|
+
const onStepFinish = async (event) => {
|
|
36
|
+
tokenUsage = accumulateSessionTokens(tokenUsage, event.usage ?? {});
|
|
37
|
+
await input.onStepFinish?.(event);
|
|
38
|
+
};
|
|
39
|
+
const onCacheMetrics = (metrics) => {
|
|
40
|
+
tokenUsage = accumulateSessionTokens(tokenUsage, {
|
|
41
|
+
cacheReadTokens: metrics.cacheReadInputTokens,
|
|
42
|
+
cacheWriteTokens: metrics.cacheCreationInputTokens
|
|
43
|
+
});
|
|
44
|
+
input.onCacheMetrics?.(metrics);
|
|
45
|
+
};
|
|
46
|
+
let result;
|
|
47
|
+
try {
|
|
48
|
+
result = await runPentestWorkflow({
|
|
49
|
+
...input,
|
|
50
|
+
onStepFinish,
|
|
51
|
+
onCacheMetrics
|
|
52
|
+
});
|
|
53
|
+
} finally {
|
|
54
|
+
writeExecutionMetrics({
|
|
55
|
+
sessionRootPath: input.session.rootPath,
|
|
56
|
+
tokenUsage
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
const { findings, findingsPath, pocsPath, reportPath } = result;
|
|
60
|
+
console.log(`
|
|
61
|
+
Found ${findings.length} vulnerabilities`);
|
|
62
|
+
console.log(`Findings: ${findingsPath}`);
|
|
63
|
+
console.log(`POCs: ${pocsPath}`);
|
|
64
|
+
if (reportPath)
|
|
65
|
+
console.log(`Report: ${reportPath}`);
|
|
66
|
+
return { findings, findingsPath, pocsPath, reportPath };
|
|
67
|
+
}
|
|
68
|
+
export {
|
|
69
|
+
runPentestAgent
|
|
70
|
+
};
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
OffensiveSecurityAgent
|
|
3
|
-
} from "./cli-
|
|
3
|
+
} from "./cli-kya26m6f.js";
|
|
4
4
|
import {
|
|
5
5
|
init_dist,
|
|
6
6
|
stepCountIs
|
|
7
|
-
} from "./cli-
|
|
7
|
+
} from "./cli-qwv4jsj2.js";
|
|
8
8
|
|
|
9
9
|
// src/core/agents/specialized/codeAgent/agent.ts
|
|
10
10
|
init_dist();
|
|
@@ -1,28 +1,28 @@
|
|
|
1
|
+
import {
|
|
2
|
+
AppsDiscoveryResultSchema,
|
|
3
|
+
DiscoverySummarySchema,
|
|
4
|
+
EndpointSchema,
|
|
5
|
+
WHITEBOX_APPS_DISCOVERY_SYSTEM_PROMPT,
|
|
6
|
+
WHITEBOX_DISCOVERY_SYSTEM_PROMPT,
|
|
7
|
+
WHITEBOX_ENDPOINT_DOCUMENTATION_SYSTEM_PROMPT
|
|
8
|
+
} from "./cli-mmyn6wmb.js";
|
|
1
9
|
import {
|
|
2
10
|
BlackboxAttackSurfaceAgent
|
|
3
|
-
} from "./cli-
|
|
11
|
+
} from "./cli-6cq67y5m.js";
|
|
12
|
+
import {
|
|
13
|
+
TargetedPentestAgent,
|
|
14
|
+
buildPentestSystemPrompt
|
|
15
|
+
} from "./cli-7735d17s.js";
|
|
4
16
|
import {
|
|
5
17
|
REPORT_FILENAME_JSON,
|
|
6
18
|
REPORT_FILENAME_MD,
|
|
7
19
|
buildPentestReport,
|
|
8
20
|
renderJson,
|
|
9
21
|
renderMarkdown
|
|
10
|
-
} from "./cli-
|
|
11
|
-
import {
|
|
12
|
-
TargetedPentestAgent,
|
|
13
|
-
buildPentestSystemPrompt
|
|
14
|
-
} from "./cli-n2dv2jxn.js";
|
|
22
|
+
} from "./cli-whp0f8gp.js";
|
|
15
23
|
import {
|
|
16
24
|
CodeAgent
|
|
17
|
-
} from "./cli-
|
|
18
|
-
import {
|
|
19
|
-
AppsDiscoveryResultSchema,
|
|
20
|
-
DiscoverySummarySchema,
|
|
21
|
-
EndpointSchema,
|
|
22
|
-
WHITEBOX_APPS_DISCOVERY_SYSTEM_PROMPT,
|
|
23
|
-
WHITEBOX_DISCOVERY_SYSTEM_PROMPT,
|
|
24
|
-
WHITEBOX_ENDPOINT_DOCUMENTATION_SYSTEM_PROMPT
|
|
25
|
-
} from "./cli-q2pshbky.js";
|
|
25
|
+
} from "./cli-12ky98ey.js";
|
|
26
26
|
import {
|
|
27
27
|
FindingsRegistry,
|
|
28
28
|
OffensiveSecurityAgent,
|
|
@@ -31,7 +31,7 @@ import {
|
|
|
31
31
|
pLimit,
|
|
32
32
|
runWithBoundedConcurrency,
|
|
33
33
|
toGrpcPentestContext
|
|
34
|
-
} from "./cli-
|
|
34
|
+
} from "./cli-kya26m6f.js";
|
|
35
35
|
import {
|
|
36
36
|
createThreatModelPrompt
|
|
37
37
|
} from "./cli-fw5r7pfj.js";
|
|
@@ -45,7 +45,7 @@ import {
|
|
|
45
45
|
init_structured,
|
|
46
46
|
newSessionId,
|
|
47
47
|
scopedLogger
|
|
48
|
-
} from "./cli-
|
|
48
|
+
} from "./cli-qwv4jsj2.js";
|
|
49
49
|
import {
|
|
50
50
|
__require
|
|
51
51
|
} from "./cli-bc05qbss.js";
|
|
@@ -126,9 +126,23 @@ function normalizeTokenUsage(value) {
|
|
|
126
126
|
return {
|
|
127
127
|
inputTokens,
|
|
128
128
|
outputTokens,
|
|
129
|
+
cacheReadTokens: toNonNegativeInteger(value?.cacheReadTokens),
|
|
130
|
+
cacheWriteTokens: toNonNegativeInteger(value?.cacheWriteTokens),
|
|
129
131
|
totalTokens: explicitTotal > 0 ? explicitTotal : derivedTotal
|
|
130
132
|
};
|
|
131
133
|
}
|
|
134
|
+
function normalizeContextUsage(value) {
|
|
135
|
+
if (typeof value !== "object" || value === null)
|
|
136
|
+
return;
|
|
137
|
+
const v = value;
|
|
138
|
+
if (typeof v.modelId !== "string" || v.modelId.length === 0)
|
|
139
|
+
return;
|
|
140
|
+
return {
|
|
141
|
+
modelId: v.modelId,
|
|
142
|
+
usedTokens: toNonNegativeInteger(v.usedTokens),
|
|
143
|
+
contextLimit: toNonNegativeInteger(v.contextLimit)
|
|
144
|
+
};
|
|
145
|
+
}
|
|
132
146
|
function metricsPath(sessionRootPath) {
|
|
133
147
|
return join(sessionRootPath, EXECUTION_METRICS_FILENAME);
|
|
134
148
|
}
|
|
@@ -143,6 +157,7 @@ function readExecutionMetrics(sessionRootPath) {
|
|
|
143
157
|
const parsed = JSON.parse(readFileSync(path, "utf-8"));
|
|
144
158
|
return {
|
|
145
159
|
tokenUsage: normalizeTokenUsage(parsed.tokenUsage),
|
|
160
|
+
contextUsage: normalizeContextUsage(parsed.contextUsage),
|
|
146
161
|
runtime: typeof parsed.runtime === "string" ? parsed.runtime : undefined,
|
|
147
162
|
elapsedSeconds: toNonNegativeInteger(parsed.elapsedSeconds) || undefined,
|
|
148
163
|
updatedAt: typeof parsed.updatedAt === "string" ? parsed.updatedAt : new Date().toISOString()
|
|
@@ -167,10 +182,13 @@ function writeExecutionMetrics(input) {
|
|
|
167
182
|
const nextTokenUsage = input.tokenUsage ? normalizeTokenUsage(input.tokenUsage) : existing?.tokenUsage ?? {
|
|
168
183
|
inputTokens: 0,
|
|
169
184
|
outputTokens: 0,
|
|
185
|
+
cacheReadTokens: 0,
|
|
186
|
+
cacheWriteTokens: 0,
|
|
170
187
|
totalTokens: 0
|
|
171
188
|
};
|
|
172
189
|
const next = {
|
|
173
190
|
tokenUsage: nextTokenUsage,
|
|
191
|
+
contextUsage: input.contextUsage ?? existing?.contextUsage,
|
|
174
192
|
runtime: input.runtime ?? existing?.runtime,
|
|
175
193
|
elapsedSeconds: input.elapsedSeconds ?? existing?.elapsedSeconds,
|
|
176
194
|
updatedAt: new Date().toISOString()
|
|
@@ -7639,16 +7657,6 @@ When finished, call \`response\` with a summary of how many entry points you doc
|
|
|
7639
7657
|
// src/core/workflows/pentest.ts
|
|
7640
7658
|
var log5 = scopedLogger(() => createLogger("pentest-swarm"));
|
|
7641
7659
|
var DEFAULT_CONCURRENCY2 = 10;
|
|
7642
|
-
function addUsageTotals(totals, usage) {
|
|
7643
|
-
if (!usage)
|
|
7644
|
-
return;
|
|
7645
|
-
const inputTokens = usage.inputTokens ?? 0;
|
|
7646
|
-
const outputTokens = usage.outputTokens ?? 0;
|
|
7647
|
-
const totalTokens = usage.totalTokens ?? inputTokens + outputTokens;
|
|
7648
|
-
totals.inputTokens += inputTokens;
|
|
7649
|
-
totals.outputTokens += outputTokens;
|
|
7650
|
-
totals.totalTokens += totalTokens;
|
|
7651
|
-
}
|
|
7652
7660
|
async function runPentestSwarm(input) {
|
|
7653
7661
|
const {
|
|
7654
7662
|
targets,
|
|
@@ -7661,6 +7669,7 @@ async function runPentestSwarm(input) {
|
|
|
7661
7669
|
onError,
|
|
7662
7670
|
concurrency = DEFAULT_CONCURRENCY2,
|
|
7663
7671
|
onStepFinish,
|
|
7672
|
+
onCacheMetrics,
|
|
7664
7673
|
enableThinking,
|
|
7665
7674
|
thinkingEffort,
|
|
7666
7675
|
openAIReasoningEffort,
|
|
@@ -7717,6 +7726,8 @@ async function runPentestSwarm(input) {
|
|
|
7717
7726
|
tasksDir: executionTasksDir,
|
|
7718
7727
|
planSubagentId: subagentId,
|
|
7719
7728
|
eventBus,
|
|
7729
|
+
onStepFinish,
|
|
7730
|
+
onCacheMetrics,
|
|
7720
7731
|
enableThinking,
|
|
7721
7732
|
thinkingEffort,
|
|
7722
7733
|
openAIReasoningEffort,
|
|
@@ -7750,6 +7761,8 @@ async function runPentestSwarm(input) {
|
|
|
7750
7761
|
abortSignal,
|
|
7751
7762
|
findingsRegistry,
|
|
7752
7763
|
onStepFinish: handleStepFinish,
|
|
7764
|
+
onCacheMetrics,
|
|
7765
|
+
forwardUsageCallbacksToSpawnedAgents: true,
|
|
7753
7766
|
messages: previousMessages.length > 0 ? previousMessages : undefined,
|
|
7754
7767
|
eventBus,
|
|
7755
7768
|
subagentId,
|
|
@@ -7802,7 +7815,7 @@ async function runPentestSwarm(input) {
|
|
|
7802
7815
|
}
|
|
7803
7816
|
async function runPentestWorkflow(input) {
|
|
7804
7817
|
if (input.fastStrike) {
|
|
7805
|
-
const { runFastStrike } = await import("./fastStrike-
|
|
7818
|
+
const { runFastStrike } = await import("./fastStrike-ssm7df42.js");
|
|
7806
7819
|
return runFastStrike(input);
|
|
7807
7820
|
}
|
|
7808
7821
|
const {
|
|
@@ -7839,17 +7852,6 @@ async function runPentestWorkflow(input) {
|
|
|
7839
7852
|
${combined}` : combined;
|
|
7840
7853
|
}
|
|
7841
7854
|
const startedAt = Date.now();
|
|
7842
|
-
const tokenUsageTotals = {
|
|
7843
|
-
inputTokens: 0,
|
|
7844
|
-
outputTokens: 0,
|
|
7845
|
-
totalTokens: 0
|
|
7846
|
-
};
|
|
7847
|
-
const wrappedOnStepFinish = (event) => {
|
|
7848
|
-
addUsageTotals(tokenUsageTotals, event.usage);
|
|
7849
|
-
if (onStepFinish) {
|
|
7850
|
-
onStepFinish(event);
|
|
7851
|
-
}
|
|
7852
|
-
};
|
|
7853
7855
|
try {
|
|
7854
7856
|
const mode = cwd ? "whitebox" : "blackbox";
|
|
7855
7857
|
let swarmTargets;
|
|
@@ -7886,7 +7888,7 @@ ${combined}` : combined;
|
|
|
7886
7888
|
authConfig,
|
|
7887
7889
|
abortSignal,
|
|
7888
7890
|
eventBus,
|
|
7889
|
-
onStepFinish
|
|
7891
|
+
onStepFinish,
|
|
7890
7892
|
onCacheMetrics,
|
|
7891
7893
|
openAIReasoningEffort,
|
|
7892
7894
|
surfaceIntegrationEnabled
|
|
@@ -7899,7 +7901,7 @@ ${combined}` : combined;
|
|
|
7899
7901
|
authConfig,
|
|
7900
7902
|
abortSignal,
|
|
7901
7903
|
eventBus,
|
|
7902
|
-
onStepFinish
|
|
7904
|
+
onStepFinish,
|
|
7903
7905
|
onCacheMetrics,
|
|
7904
7906
|
openAIReasoningEffort
|
|
7905
7907
|
});
|
|
@@ -7952,7 +7954,8 @@ ${combined}` : combined;
|
|
|
7952
7954
|
abortSignal,
|
|
7953
7955
|
findingsRegistry,
|
|
7954
7956
|
eventBus,
|
|
7955
|
-
onStepFinish
|
|
7957
|
+
onStepFinish,
|
|
7958
|
+
onCacheMetrics,
|
|
7956
7959
|
enableThinking,
|
|
7957
7960
|
thinkingEffort,
|
|
7958
7961
|
openAIReasoningEffort
|
|
@@ -8000,7 +8003,6 @@ ${combined}` : combined;
|
|
|
8000
8003
|
const runtime = formatDurationHmsFromMs(Date.now() - startedAt);
|
|
8001
8004
|
writeExecutionMetrics({
|
|
8002
8005
|
sessionRootPath: session.rootPath,
|
|
8003
|
-
tokenUsage: tokenUsageTotals,
|
|
8004
8006
|
runtime
|
|
8005
8007
|
});
|
|
8006
8008
|
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import {
|
|
2
|
+
__commonJS,
|
|
3
|
+
__require
|
|
4
|
+
} from "./cli-bc05qbss.js";
|
|
5
|
+
|
|
6
|
+
// node_modules/@opentelemetry/resources/build/src/detectors/platform/node/machine-id/execAsync.js
|
|
7
|
+
var require_execAsync = __commonJS(function(exports) {
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.execAsync = undefined;
|
|
10
|
+
var child_process = __require("child_process");
|
|
11
|
+
var util = __require("util");
|
|
12
|
+
exports.execAsync = util.promisify(child_process.exec);
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
export { require_execAsync };
|