@pensar/apex 2.3.0-canary.cb194acd → 2.3.0-canary.e295aafd
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-1g0ybra6.js +19 -0
- package/build/{agent-x3q4w80s.js → agent-dx6g51wb.js} +9 -9
- package/build/{agent-f3azwp63.js → agent-g1at57gq.js} +7 -7
- package/build/{apps-13p1kmc9.js → apps-833hbd4v.js} +16 -16
- package/build/{auth-7mhvhnxd.js → auth-ezabkss8.js} +16 -16
- package/build/authentication-h03dr1fh.js +19 -0
- package/build/blackboxAgent-yq8x25fx.js +19 -0
- package/build/{blackboxPentest-6sqpyc1y.js → blackboxPentest-b1kp2gnb.js} +14 -14
- package/build/{cli-ypptqcdq.js → cli-1n5jzdea.js} +104 -33
- package/build/{cli-5c5pae6q.js → cli-2zkpnnf3.js} +2 -2
- package/build/{cli-27hnycme.js → cli-35qpdk8p.js} +1 -1
- package/build/{cli-q1j01gaw.js → cli-5bydvb69.js} +1 -1
- package/build/{cli-kt4xr54m.js → cli-cfztppkf.js} +24 -8
- package/build/{cli-x2h8bs1d.js → cli-drwkha83.js} +2 -2
- package/build/{cli-vsjg927f.js → cli-ejwjmfrb.js} +2 -1
- package/build/{cli-v0ngwfpv.js → cli-fvtf9668.js} +3 -3
- package/build/{cli-7tknhrhy.js → cli-hss2gat8.js} +34 -9
- package/build/{cli-dgrnrppm.js → cli-m2dnpvbh.js} +1 -1
- package/build/{cli-zrkhj3a9.js → cli-mfqydzbn.js} +1 -1
- package/build/{cli-dee8kmgx.js → cli-nzhgh691.js} +1 -1
- package/build/{cli-zwk2a002.js → cli-rnk06jjs.js} +205 -33
- package/build/{cli-y5b23d11.js → cli-tx7rxdhp.js} +2 -2
- package/build/{cli-g4b3jdn4.js → cli-wkjn7rd4.js} +1 -1
- package/build/{cli-mzd48t20.js → cli-xhgknfp8.js} +4 -4
- package/build/{cli-r84aknzp.js → cli-y36yak7f.js} +2 -2
- package/build/{cli-yz80qkzn.js → cli-ycj65kyw.js} +6 -0
- package/build/cli.js +34 -33
- package/build/{config-m618xwjq.js → config-cv4jknyq.js} +3 -3
- package/build/{doctor-5y4qmyw4.js → doctor-rvw9kz4a.js} +7 -6
- package/build/{fastStrike-e36k6x4e.js → fastStrike-81ytye2d.js} +34 -14
- package/build/{fixes-d0485e9c.js → fixes-828djfra.js} +16 -16
- package/build/{index-93ak0gg2.js → index-1eabt4e0.js} +6 -6
- package/build/{index-1ptjmcbv.js → index-e575ccsa.js} +9 -9
- package/build/{index-a2f1828z.js → index-rbyy385k.js} +47 -24
- package/build/{index-dq4n3apj.js → index-scc3pjt1.js} +4 -4
- package/build/{index-f81gwnn7.js → index-xnh1jxw1.js} +3 -3
- package/build/{index-ezfx6bvc.js → index-xy44xk0t.js} +2 -2
- package/build/{index-a36s7yaf.js → index-zmh4q713.js} +8 -8
- package/build/{issues-gt88sf5v.js → issues-y5dzx050.js} +16 -16
- package/build/{logs-2pph6tk4.js → logs-rn2xjd54.js} +16 -16
- package/build/{offesecAgent-9eg3jvbv.js → offesecAgent-tyqpr2aw.js} +8 -8
- package/build/pentest-cczrs326.js +29 -0
- package/build/{pentests-4f8kt5rx.js → pentests-amw8kxxb.js} +16 -16
- package/build/{targetedPentest-0728nmpr.js → targetedPentest-b4cawtky.js} +9 -9
- package/build/{targets-vvgms6p5.js → targets-etnw20z4.js} +16 -16
- package/build/threatModel-ccg407sm.js +27 -0
- package/build/{uninstall-gtpnsnj3.js → uninstall-a9z66pmp.js} +1 -1
- package/build/{upload-647mrp6z.js → upload-ydn0fecg.js} +6 -6
- package/build/{utils-x6dr5dy3.js → utils-a6vnz4se.js} +11 -7
- package/package.json +1 -1
- package/build/agent-ngypgryz.js +0 -19
- package/build/authentication-ptj3a6rh.js +0 -19
- package/build/blackboxAgent-6v4tbj43.js +0 -19
- package/build/pentest-jk91q0k1.js +0 -29
- package/build/threatModel-dbr9wr8j.js +0 -27
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import {
|
|
2
|
+
CodeAgent
|
|
3
|
+
} from "./cli-2zkpnnf3.js";
|
|
4
|
+
import"./cli-9fsre5pt.js";
|
|
5
|
+
import"./cli-m2dnpvbh.js";
|
|
6
|
+
import"./cli-1n5jzdea.js";
|
|
7
|
+
import"./cli-35qpdk8p.js";
|
|
8
|
+
import"./cli-c8131c4q.js";
|
|
9
|
+
import"./cli-rnk06jjs.js";
|
|
10
|
+
import"./cli-5bydvb69.js";
|
|
11
|
+
import"./cli-3k1x5rn3.js";
|
|
12
|
+
import"./cli-gpnb45ck.js";
|
|
13
|
+
import"./cli-nzhgh691.js";
|
|
14
|
+
import"./cli-ejwjmfrb.js";
|
|
15
|
+
import"./cli-wkjn7rd4.js";
|
|
16
|
+
import"./cli-8rxa073f.js";
|
|
17
|
+
export {
|
|
18
|
+
CodeAgent
|
|
19
|
+
};
|
|
@@ -4,19 +4,19 @@ import {
|
|
|
4
4
|
buildPentestActiveTools,
|
|
5
5
|
buildPentestPrompt,
|
|
6
6
|
buildPentestSystemPrompt
|
|
7
|
-
} from "./cli-
|
|
7
|
+
} from "./cli-y36yak7f.js";
|
|
8
8
|
import"./cli-9fsre5pt.js";
|
|
9
|
-
import"./cli-
|
|
10
|
-
import"./cli-
|
|
11
|
-
import"./cli-
|
|
9
|
+
import"./cli-m2dnpvbh.js";
|
|
10
|
+
import"./cli-1n5jzdea.js";
|
|
11
|
+
import"./cli-35qpdk8p.js";
|
|
12
12
|
import"./cli-c8131c4q.js";
|
|
13
|
-
import"./cli-
|
|
14
|
-
import"./cli-
|
|
13
|
+
import"./cli-rnk06jjs.js";
|
|
14
|
+
import"./cli-5bydvb69.js";
|
|
15
15
|
import"./cli-3k1x5rn3.js";
|
|
16
16
|
import"./cli-gpnb45ck.js";
|
|
17
|
-
import"./cli-
|
|
18
|
-
import"./cli-
|
|
19
|
-
import"./cli-
|
|
17
|
+
import"./cli-nzhgh691.js";
|
|
18
|
+
import"./cli-ejwjmfrb.js";
|
|
19
|
+
import"./cli-wkjn7rd4.js";
|
|
20
20
|
import"./cli-8rxa073f.js";
|
|
21
21
|
export {
|
|
22
22
|
buildPentestSystemPrompt,
|
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
import {
|
|
2
2
|
OffensiveSecurityAgent
|
|
3
|
-
} from "./cli-
|
|
3
|
+
} from "./cli-1n5jzdea.js";
|
|
4
4
|
import {
|
|
5
5
|
detectOSAndEnhancePrompt
|
|
6
|
-
} from "./cli-
|
|
6
|
+
} from "./cli-35qpdk8p.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-rnk06jjs.js";
|
|
12
|
+
import"./cli-5bydvb69.js";
|
|
13
13
|
import {
|
|
14
14
|
exports_external,
|
|
15
15
|
init_zod
|
|
16
16
|
} from "./cli-3k1x5rn3.js";
|
|
17
17
|
import"./cli-gpnb45ck.js";
|
|
18
|
-
import"./cli-
|
|
19
|
-
import"./cli-
|
|
20
|
-
import"./cli-
|
|
18
|
+
import"./cli-nzhgh691.js";
|
|
19
|
+
import"./cli-ejwjmfrb.js";
|
|
20
|
+
import"./cli-wkjn7rd4.js";
|
|
21
21
|
import"./cli-8rxa073f.js";
|
|
22
22
|
|
|
23
23
|
// src/core/agents/specialized/findingJudge/agent.ts
|
|
@@ -12,27 +12,27 @@ import {
|
|
|
12
12
|
searchEndpoints,
|
|
13
13
|
updateApp,
|
|
14
14
|
updateEndpoint
|
|
15
|
-
} from "./cli-
|
|
16
|
-
import"./cli-
|
|
17
|
-
import"./cli-
|
|
18
|
-
import"./cli-
|
|
19
|
-
import"./cli-
|
|
20
|
-
import"./cli-
|
|
21
|
-
import"./cli-
|
|
22
|
-
import"./cli-
|
|
15
|
+
} from "./cli-xhgknfp8.js";
|
|
16
|
+
import"./cli-cfztppkf.js";
|
|
17
|
+
import"./cli-fvtf9668.js";
|
|
18
|
+
import"./cli-drwkha83.js";
|
|
19
|
+
import"./cli-y36yak7f.js";
|
|
20
|
+
import"./cli-hss2gat8.js";
|
|
21
|
+
import"./cli-2zkpnnf3.js";
|
|
22
|
+
import"./cli-tx7rxdhp.js";
|
|
23
23
|
import"./cli-9fsre5pt.js";
|
|
24
|
-
import"./cli-
|
|
25
|
-
import"./cli-
|
|
26
|
-
import"./cli-
|
|
24
|
+
import"./cli-m2dnpvbh.js";
|
|
25
|
+
import"./cli-1n5jzdea.js";
|
|
26
|
+
import"./cli-35qpdk8p.js";
|
|
27
27
|
import"./cli-fw5r7pfj.js";
|
|
28
28
|
import"./cli-c8131c4q.js";
|
|
29
|
-
import"./cli-
|
|
30
|
-
import"./cli-
|
|
29
|
+
import"./cli-rnk06jjs.js";
|
|
30
|
+
import"./cli-5bydvb69.js";
|
|
31
31
|
import"./cli-3k1x5rn3.js";
|
|
32
32
|
import"./cli-gpnb45ck.js";
|
|
33
|
-
import"./cli-
|
|
34
|
-
import"./cli-
|
|
35
|
-
import"./cli-
|
|
33
|
+
import"./cli-nzhgh691.js";
|
|
34
|
+
import"./cli-ejwjmfrb.js";
|
|
35
|
+
import"./cli-wkjn7rd4.js";
|
|
36
36
|
import"./cli-8rxa073f.js";
|
|
37
37
|
|
|
38
38
|
// src/cli/apps.ts
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
#!/usr/bin/env bun
|
|
2
|
-
import"./cli-
|
|
3
|
-
import"./cli-
|
|
4
|
-
import"./cli-
|
|
5
|
-
import"./cli-
|
|
6
|
-
import"./cli-
|
|
7
|
-
import"./cli-
|
|
8
|
-
import"./cli-
|
|
9
|
-
import"./cli-
|
|
2
|
+
import"./cli-xhgknfp8.js";
|
|
3
|
+
import"./cli-cfztppkf.js";
|
|
4
|
+
import"./cli-fvtf9668.js";
|
|
5
|
+
import"./cli-drwkha83.js";
|
|
6
|
+
import"./cli-y36yak7f.js";
|
|
7
|
+
import"./cli-hss2gat8.js";
|
|
8
|
+
import"./cli-2zkpnnf3.js";
|
|
9
|
+
import"./cli-tx7rxdhp.js";
|
|
10
10
|
import"./cli-9fsre5pt.js";
|
|
11
|
-
import"./cli-
|
|
12
|
-
import"./cli-
|
|
13
|
-
import"./cli-
|
|
11
|
+
import"./cli-m2dnpvbh.js";
|
|
12
|
+
import"./cli-1n5jzdea.js";
|
|
13
|
+
import"./cli-35qpdk8p.js";
|
|
14
14
|
import"./cli-fw5r7pfj.js";
|
|
15
15
|
import"./cli-c8131c4q.js";
|
|
16
|
-
import"./cli-
|
|
16
|
+
import"./cli-rnk06jjs.js";
|
|
17
17
|
import {
|
|
18
18
|
createWorkspaceSelection,
|
|
19
19
|
disconnect,
|
|
@@ -28,15 +28,15 @@ import {
|
|
|
28
28
|
pollWorkspaceSelection,
|
|
29
29
|
selectWorkspace,
|
|
30
30
|
startDeviceFlow
|
|
31
|
-
} from "./cli-
|
|
31
|
+
} from "./cli-5bydvb69.js";
|
|
32
32
|
import"./cli-3k1x5rn3.js";
|
|
33
33
|
import"./cli-gpnb45ck.js";
|
|
34
34
|
import {
|
|
35
35
|
config,
|
|
36
36
|
init_config
|
|
37
|
-
} from "./cli-
|
|
38
|
-
import"./cli-
|
|
39
|
-
import"./cli-
|
|
37
|
+
} from "./cli-nzhgh691.js";
|
|
38
|
+
import"./cli-ejwjmfrb.js";
|
|
39
|
+
import"./cli-wkjn7rd4.js";
|
|
40
40
|
import {
|
|
41
41
|
__require
|
|
42
42
|
} from "./cli-8rxa073f.js";
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import {
|
|
2
|
+
runAuthenticationAgent
|
|
3
|
+
} from "./cli-hss2gat8.js";
|
|
4
|
+
import"./cli-9fsre5pt.js";
|
|
5
|
+
import"./cli-m2dnpvbh.js";
|
|
6
|
+
import"./cli-1n5jzdea.js";
|
|
7
|
+
import"./cli-35qpdk8p.js";
|
|
8
|
+
import"./cli-c8131c4q.js";
|
|
9
|
+
import"./cli-rnk06jjs.js";
|
|
10
|
+
import"./cli-5bydvb69.js";
|
|
11
|
+
import"./cli-3k1x5rn3.js";
|
|
12
|
+
import"./cli-gpnb45ck.js";
|
|
13
|
+
import"./cli-nzhgh691.js";
|
|
14
|
+
import"./cli-ejwjmfrb.js";
|
|
15
|
+
import"./cli-wkjn7rd4.js";
|
|
16
|
+
import"./cli-8rxa073f.js";
|
|
17
|
+
export {
|
|
18
|
+
runAuthenticationAgent
|
|
19
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import {
|
|
2
|
+
BlackboxAttackSurfaceAgent
|
|
3
|
+
} from "./cli-fvtf9668.js";
|
|
4
|
+
import"./cli-9fsre5pt.js";
|
|
5
|
+
import"./cli-m2dnpvbh.js";
|
|
6
|
+
import"./cli-1n5jzdea.js";
|
|
7
|
+
import"./cli-35qpdk8p.js";
|
|
8
|
+
import"./cli-c8131c4q.js";
|
|
9
|
+
import"./cli-rnk06jjs.js";
|
|
10
|
+
import"./cli-5bydvb69.js";
|
|
11
|
+
import"./cli-3k1x5rn3.js";
|
|
12
|
+
import"./cli-gpnb45ck.js";
|
|
13
|
+
import"./cli-nzhgh691.js";
|
|
14
|
+
import"./cli-ejwjmfrb.js";
|
|
15
|
+
import"./cli-wkjn7rd4.js";
|
|
16
|
+
import"./cli-8rxa073f.js";
|
|
17
|
+
export {
|
|
18
|
+
BlackboxAttackSurfaceAgent
|
|
19
|
+
};
|
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
import {
|
|
2
2
|
runPentestWorkflow
|
|
3
|
-
} from "./cli-
|
|
4
|
-
import"./cli-
|
|
5
|
-
import"./cli-
|
|
6
|
-
import"./cli-
|
|
7
|
-
import"./cli-
|
|
8
|
-
import"./cli-
|
|
3
|
+
} from "./cli-cfztppkf.js";
|
|
4
|
+
import"./cli-fvtf9668.js";
|
|
5
|
+
import"./cli-drwkha83.js";
|
|
6
|
+
import"./cli-y36yak7f.js";
|
|
7
|
+
import"./cli-2zkpnnf3.js";
|
|
8
|
+
import"./cli-tx7rxdhp.js";
|
|
9
9
|
import"./cli-9fsre5pt.js";
|
|
10
|
-
import"./cli-
|
|
11
|
-
import"./cli-
|
|
12
|
-
import"./cli-
|
|
10
|
+
import"./cli-m2dnpvbh.js";
|
|
11
|
+
import"./cli-1n5jzdea.js";
|
|
12
|
+
import"./cli-35qpdk8p.js";
|
|
13
13
|
import"./cli-fw5r7pfj.js";
|
|
14
14
|
import"./cli-c8131c4q.js";
|
|
15
|
-
import"./cli-
|
|
16
|
-
import"./cli-
|
|
15
|
+
import"./cli-rnk06jjs.js";
|
|
16
|
+
import"./cli-5bydvb69.js";
|
|
17
17
|
import"./cli-3k1x5rn3.js";
|
|
18
18
|
import"./cli-gpnb45ck.js";
|
|
19
|
-
import"./cli-
|
|
20
|
-
import"./cli-
|
|
21
|
-
import"./cli-
|
|
19
|
+
import"./cli-nzhgh691.js";
|
|
20
|
+
import"./cli-ejwjmfrb.js";
|
|
21
|
+
import"./cli-wkjn7rd4.js";
|
|
22
22
|
import"./cli-8rxa073f.js";
|
|
23
23
|
|
|
24
24
|
// src/core/api/blackboxPentest.ts
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
detectOSAndEnhancePrompt
|
|
3
|
-
} from "./cli-
|
|
3
|
+
} from "./cli-35qpdk8p.js";
|
|
4
4
|
import {
|
|
5
5
|
parseTargetUrl
|
|
6
6
|
} from "./cli-c8131c4q.js";
|
|
@@ -32,14 +32,14 @@ import {
|
|
|
32
32
|
streamResponse,
|
|
33
33
|
withSubagentSessionBaggage,
|
|
34
34
|
write
|
|
35
|
-
} from "./cli-
|
|
35
|
+
} from "./cli-rnk06jjs.js";
|
|
36
36
|
import {
|
|
37
37
|
ensureValidToken,
|
|
38
38
|
getPensarApiUrl,
|
|
39
39
|
init_auth,
|
|
40
40
|
init_constants,
|
|
41
41
|
signGatewayRequest
|
|
42
|
-
} from "./cli-
|
|
42
|
+
} from "./cli-5bydvb69.js";
|
|
43
43
|
import {
|
|
44
44
|
_enum,
|
|
45
45
|
_null,
|
|
@@ -70,7 +70,7 @@ import {
|
|
|
70
70
|
import {
|
|
71
71
|
config,
|
|
72
72
|
init_config
|
|
73
|
-
} from "./cli-
|
|
73
|
+
} from "./cli-nzhgh691.js";
|
|
74
74
|
import {
|
|
75
75
|
__commonJS,
|
|
76
76
|
__require,
|
|
@@ -102721,17 +102721,54 @@ var MEMORY_FIREFOX_PREFS = {
|
|
|
102721
102721
|
"browser.cache.memory.enable": false,
|
|
102722
102722
|
"browser.sessionhistory.max_total_viewers": 0
|
|
102723
102723
|
};
|
|
102724
|
-
|
|
102724
|
+
var ENDPOINT_DISPLAY_BASE = 10;
|
|
102725
|
+
var COMPUTER_USE_VIEWPORT_SIZE = "1920,1080";
|
|
102726
|
+
var ENDPOINT_VIEWPORT_SIZE = "1280,720";
|
|
102727
|
+
function parseViewportSize(viewportSize) {
|
|
102728
|
+
const match = /^(\d+),(\d+)$/.exec(viewportSize.trim());
|
|
102729
|
+
if (!match)
|
|
102730
|
+
return;
|
|
102731
|
+
const width = Number(match[1]);
|
|
102732
|
+
const height = Number(match[2]);
|
|
102733
|
+
if (!Number.isFinite(width) || !Number.isFinite(height) || width <= 0 || height <= 0) {
|
|
102734
|
+
return;
|
|
102735
|
+
}
|
|
102736
|
+
return [width, height];
|
|
102737
|
+
}
|
|
102738
|
+
function parseDisplayNumber(display) {
|
|
102739
|
+
if (!display)
|
|
102740
|
+
return;
|
|
102741
|
+
const match = /^:(\d+)/.exec(display.trim());
|
|
102742
|
+
if (!match)
|
|
102743
|
+
return;
|
|
102744
|
+
const num = Number(match[1]);
|
|
102745
|
+
return Number.isFinite(num) ? num : undefined;
|
|
102746
|
+
}
|
|
102747
|
+
function camoufoxWindowOptions(window2) {
|
|
102748
|
+
const [width, height] = window2;
|
|
102749
|
+
return {
|
|
102750
|
+
window: [width, height],
|
|
102751
|
+
screen: {
|
|
102752
|
+
minWidth: width,
|
|
102753
|
+
maxWidth: width,
|
|
102754
|
+
minHeight: height,
|
|
102755
|
+
maxHeight: height
|
|
102756
|
+
}
|
|
102757
|
+
};
|
|
102758
|
+
}
|
|
102759
|
+
async function resolveCamoufoxLaunchOptions(headless, opts) {
|
|
102725
102760
|
const { launchOptions: camoufoxLaunchOptions } = await import("camoufox-js");
|
|
102726
|
-
const
|
|
102761
|
+
const windowOpts = opts?.window ? camoufoxWindowOptions(opts.window) : {};
|
|
102762
|
+
const resolved = await camoufoxLaunchOptions({
|
|
102727
102763
|
...CAMOUFOX_OPTIONS,
|
|
102728
|
-
headless
|
|
102764
|
+
headless,
|
|
102765
|
+
...windowOpts
|
|
102729
102766
|
});
|
|
102730
|
-
|
|
102731
|
-
...
|
|
102767
|
+
resolved.firefoxUserPrefs = {
|
|
102768
|
+
...resolved.firefoxUserPrefs,
|
|
102732
102769
|
...MEMORY_FIREFOX_PREFS
|
|
102733
102770
|
};
|
|
102734
|
-
return
|
|
102771
|
+
return resolved;
|
|
102735
102772
|
}
|
|
102736
102773
|
var ensurePromise = null;
|
|
102737
102774
|
function ensureCamoufox(log) {
|
|
@@ -102922,7 +102959,7 @@ function collectPidsByEnvMarker(key, value) {
|
|
|
102922
102959
|
}
|
|
102923
102960
|
var defaultHeadless = true;
|
|
102924
102961
|
var defaultUserAgent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36";
|
|
102925
|
-
var HARDCODED_VIEWPORT_FALLBACK =
|
|
102962
|
+
var HARDCODED_VIEWPORT_FALLBACK = COMPUTER_USE_VIEWPORT_SIZE;
|
|
102926
102963
|
var defaultViewportSize = HARDCODED_VIEWPORT_FALLBACK;
|
|
102927
102964
|
function setHeadlessMode(headless) {
|
|
102928
102965
|
defaultHeadless = headless;
|
|
@@ -102953,7 +102990,14 @@ class PlaywrightMcpSession {
|
|
|
102953
102990
|
this.display = display ?? process.env.DISPLAY ?? undefined;
|
|
102954
102991
|
this.headless = headless ?? (this.display ? false : defaultHeadless);
|
|
102955
102992
|
this.userAgent = userAgent === null ? undefined : userAgent ?? defaultUserAgent;
|
|
102956
|
-
|
|
102993
|
+
if (viewportSize === null) {
|
|
102994
|
+
this.viewportSize = undefined;
|
|
102995
|
+
} else if (viewportSize !== undefined) {
|
|
102996
|
+
this.viewportSize = viewportSize;
|
|
102997
|
+
} else {
|
|
102998
|
+
const displayNum = parseDisplayNumber(this.display);
|
|
102999
|
+
this.viewportSize = displayNum !== undefined && displayNum >= ENDPOINT_DISPLAY_BASE ? ENDPOINT_VIEWPORT_SIZE : defaultViewportSize ?? HARDCODED_VIEWPORT_FALLBACK;
|
|
103000
|
+
}
|
|
102957
103001
|
const headerSource = extraHttpHeaders === null ? undefined : extraHttpHeaders;
|
|
102958
103002
|
this.extraHttpHeaders = headerSource && Object.keys(headerSource).length > 0 ? { ...headerSource } : undefined;
|
|
102959
103003
|
}
|
|
@@ -103036,7 +103080,8 @@ class PlaywrightMcpSession {
|
|
|
103036
103080
|
const args = [cliPath, "--isolated"];
|
|
103037
103081
|
await ensureCamoufox();
|
|
103038
103082
|
if (!this.cachedCamouOptions) {
|
|
103039
|
-
this.
|
|
103083
|
+
const window2 = this.viewportSize ? parseViewportSize(this.viewportSize) : undefined;
|
|
103084
|
+
this.cachedCamouOptions = await resolveCamoufoxLaunchOptions(this.headless, window2 ? { window: window2 } : undefined);
|
|
103040
103085
|
}
|
|
103041
103086
|
const camou = this.cachedCamouOptions;
|
|
103042
103087
|
const os = await import("node:os");
|
|
@@ -104973,13 +105018,35 @@ const fs = require('fs');
|
|
|
104973
105018
|
// detectable headful. Falls back to plain headless, which is still fully
|
|
104974
105019
|
// fingerprint-spoofed (just a weaker stealth posture, never vanilla Chromium).
|
|
104975
105020
|
const __headless = process.env.DISPLAY ? false : true;
|
|
105021
|
+
// Match Camoufox window to the bound Xvfb tier (Console desktopSession /
|
|
105022
|
+
// Xvfb shim: :0–:9 → 1920x1080, :10+ → 1280x720). Constants are inlined
|
|
105023
|
+
// from ./camoufox so host + sandbox stay lockstep.
|
|
105024
|
+
const __ENDPOINT_DISPLAY_BASE = ${ENDPOINT_DISPLAY_BASE};
|
|
105025
|
+
const __endpointWindow = ${JSON.stringify(parseViewportSize(ENDPOINT_VIEWPORT_SIZE))};
|
|
105026
|
+
const __computerUseWindow = ${JSON.stringify(parseViewportSize(COMPUTER_USE_VIEWPORT_SIZE))};
|
|
105027
|
+
const __displayMatch = /^:(\\d+)/.exec(process.env.DISPLAY || '');
|
|
105028
|
+
const __displayNum = __displayMatch ? Number(__displayMatch[1]) : undefined;
|
|
105029
|
+
const __window =
|
|
105030
|
+
__displayNum !== undefined && __displayNum >= __ENDPOINT_DISPLAY_BASE
|
|
105031
|
+
? __endpointWindow
|
|
105032
|
+
: __computerUseWindow;
|
|
104976
105033
|
// Resolve Camoufox options once per sandbox session and cache to disk so
|
|
104977
105034
|
// every tool call presents the same fingerprint on the shared profile dir.
|
|
104978
105035
|
let __camou;
|
|
104979
105036
|
try {
|
|
104980
105037
|
__camou = JSON.parse(fs.readFileSync('${SANDBOX_CAMOU_CACHE}', 'utf-8'));
|
|
104981
105038
|
} catch {
|
|
104982
|
-
__camou = await launchOptions({
|
|
105039
|
+
__camou = await launchOptions({
|
|
105040
|
+
...${JSON.stringify(CAMOUFOX_OPTIONS)},
|
|
105041
|
+
headless: __headless,
|
|
105042
|
+
window: __window,
|
|
105043
|
+
screen: {
|
|
105044
|
+
minWidth: __window[0],
|
|
105045
|
+
maxWidth: __window[0],
|
|
105046
|
+
minHeight: __window[1],
|
|
105047
|
+
maxHeight: __window[1],
|
|
105048
|
+
},
|
|
105049
|
+
});
|
|
104983
105050
|
fs.writeFileSync('${SANDBOX_CAMOU_CACHE}', JSON.stringify(__camou));
|
|
104984
105051
|
}
|
|
104985
105052
|
|
|
@@ -105761,14 +105828,7 @@ function createBrowserToolset(ctx) {
|
|
|
105761
105828
|
}
|
|
105762
105829
|
if (cm) {
|
|
105763
105830
|
shape.credentialId = exports_external.string().optional().describe("ID of a stored credential. When provided with credentialField, the secret is resolved automatically.");
|
|
105764
|
-
shape.credentialField = exports_external.
|
|
105765
|
-
"password",
|
|
105766
|
-
"username",
|
|
105767
|
-
"apiKey",
|
|
105768
|
-
"bearerToken",
|
|
105769
|
-
"cookies",
|
|
105770
|
-
"sessionToken"
|
|
105771
|
-
]).optional().describe("Which field to extract from the credential (e.g. 'password'). Required when credentialId is set.");
|
|
105831
|
+
shape.credentialField = exports_external.string().optional().describe("Which field to extract from the credential. One of: password, username, apiKey, " + "bearerToken, cookies, sessionToken — or the name of one of the credential's " + "extra secret fields. Required when credentialId is set.");
|
|
105772
105832
|
}
|
|
105773
105833
|
let description = originalFill.description ?? "";
|
|
105774
105834
|
if (injectionEnabled) {
|
|
@@ -105831,8 +105891,10 @@ Credential mode: Instead of passing a raw secret as "value", you can ` + `pass "
|
|
|
105831
105891
|
}
|
|
105832
105892
|
if (credentialField === "bearerToken" || credentialField === "cookies" || credentialField === "sessionToken") {
|
|
105833
105893
|
value = stored.tokens?.[credentialField] ?? "";
|
|
105834
|
-
} else {
|
|
105894
|
+
} else if (credentialField === "password" || credentialField === "username" || credentialField === "apiKey") {
|
|
105835
105895
|
value = stored[credentialField] ?? "";
|
|
105896
|
+
} else {
|
|
105897
|
+
value = stored.additionalFields?.[credentialField] ?? "";
|
|
105836
105898
|
}
|
|
105837
105899
|
if (!value) {
|
|
105838
105900
|
return {
|
|
@@ -106531,6 +106593,7 @@ function mergeAuthCredentials(sessionCreds, explicit) {
|
|
|
106531
106593
|
password: sessionCreds?.password,
|
|
106532
106594
|
apiKey: sessionCreds?.apiKey,
|
|
106533
106595
|
loginUrl: sessionCreds?.loginUrl,
|
|
106596
|
+
additionalFields: sessionCreds?.additionalFields,
|
|
106534
106597
|
tokens: sessionCreds?.tokens ? {
|
|
106535
106598
|
bearerToken: sessionCreds.tokens.bearerToken,
|
|
106536
106599
|
cookies: sessionCreds.tokens.cookies,
|
|
@@ -106541,6 +106604,9 @@ function mergeAuthCredentials(sessionCreds, explicit) {
|
|
|
106541
106604
|
...explicit.password && { password: explicit.password },
|
|
106542
106605
|
...explicit.apiKey && { apiKey: explicit.apiKey },
|
|
106543
106606
|
...explicit.loginUrl && { loginUrl: explicit.loginUrl },
|
|
106607
|
+
...explicit.additionalFields && {
|
|
106608
|
+
additionalFields: explicit.additionalFields
|
|
106609
|
+
},
|
|
106544
106610
|
...explicit.tokens && {
|
|
106545
106611
|
tokens: {
|
|
106546
106612
|
bearerToken: explicit.tokens.bearerToken,
|
|
@@ -106603,6 +106669,7 @@ IMPORTANT: Pass protectedEndpoints in authHints when you've discovered 401/403 e
|
|
|
106603
106669
|
authHints,
|
|
106604
106670
|
reason
|
|
106605
106671
|
}) => {
|
|
106672
|
+
let additionalFields;
|
|
106606
106673
|
const subagentId = newSessionId();
|
|
106607
106674
|
const subagentName = "Authentication Agent";
|
|
106608
106675
|
try {
|
|
@@ -106626,6 +106693,7 @@ IMPORTANT: Pass protectedEndpoints in authHints when you've discovered 401/403 e
|
|
|
106626
106693
|
password = stored.password ?? password;
|
|
106627
106694
|
apiKey = stored.apiKey ?? apiKey;
|
|
106628
106695
|
loginUrl = stored.loginUrl ?? loginUrl;
|
|
106696
|
+
additionalFields = stored.additionalFields;
|
|
106629
106697
|
if (stored.tokens && !tokens) {
|
|
106630
106698
|
tokens = { ...stored.tokens };
|
|
106631
106699
|
}
|
|
@@ -106669,7 +106737,8 @@ IMPORTANT: Pass protectedEndpoints in authHints when you've discovered 401/403 e
|
|
|
106669
106737
|
password,
|
|
106670
106738
|
apiKey,
|
|
106671
106739
|
loginUrl,
|
|
106672
|
-
tokens
|
|
106740
|
+
tokens,
|
|
106741
|
+
additionalFields
|
|
106673
106742
|
});
|
|
106674
106743
|
if (!ctx.session.credentialManager) {
|
|
106675
106744
|
ctx.session.credentialManager = new CredentialManager;
|
|
@@ -106677,7 +106746,7 @@ IMPORTANT: Pass protectedEndpoints in authHints when you've discovered 401/403 e
|
|
|
106677
106746
|
if (credentials) {
|
|
106678
106747
|
ctx.session.credentialManager.addFromAuthCredentials(credentials);
|
|
106679
106748
|
}
|
|
106680
|
-
const { runAuthenticationAgent } = await import("./authentication-
|
|
106749
|
+
const { runAuthenticationAgent } = await import("./authentication-h03dr1fh.js");
|
|
106681
106750
|
const localBus = new AgentEventBus;
|
|
106682
106751
|
AgentEventBus.attachChild(localBus, ctx.eventBus, subagentId);
|
|
106683
106752
|
const result = await runAuthenticationAgent({
|
|
@@ -106690,6 +106759,7 @@ IMPORTANT: Pass protectedEndpoints in authHints when you've discovered 401/403 e
|
|
|
106690
106759
|
eventBus: localBus,
|
|
106691
106760
|
subagentId,
|
|
106692
106761
|
subagentName,
|
|
106762
|
+
environmentVariables: ctx.environmentVariables,
|
|
106693
106763
|
secretValues: ctx.secretValues
|
|
106694
106764
|
});
|
|
106695
106765
|
ctx.eventBus?.emit("subagent-complete", {
|
|
@@ -107468,7 +107538,7 @@ async function generateThreatModelForEndpoint(ctx, input) {
|
|
|
107468
107538
|
return threatModelLimiter(async () => {
|
|
107469
107539
|
if (ctx.abortSignal?.aborted)
|
|
107470
107540
|
return null;
|
|
107471
|
-
const { CodeAgent } = await import("./agent-
|
|
107541
|
+
const { CodeAgent } = await import("./agent-1g0ybra6.js");
|
|
107472
107542
|
const subagentId = newSessionId();
|
|
107473
107543
|
const subagentName = `Threat Model: ${input.routePath}`;
|
|
107474
107544
|
ctx.eventBus?.emit("subagent-spawn", {
|
|
@@ -109391,7 +109461,7 @@ init_lazyLogger();
|
|
|
109391
109461
|
var log6 = scopedLogger(() => createLogger("FindingJudge"));
|
|
109392
109462
|
async function judgeFinding(input, ctx) {
|
|
109393
109463
|
try {
|
|
109394
|
-
const { FindingJudgeAgent } = await import("./agent-
|
|
109464
|
+
const { FindingJudgeAgent } = await import("./agent-g1at57gq.js");
|
|
109395
109465
|
const agent = new FindingJudgeAgent({
|
|
109396
109466
|
finding: input,
|
|
109397
109467
|
model: ctx.model,
|
|
@@ -116017,7 +116087,7 @@ should be passed directly to spawn_pentest_swarm for deep testing.`,
|
|
|
116017
116087
|
});
|
|
116018
116088
|
if (cwd) {
|
|
116019
116089
|
try {
|
|
116020
|
-
const { WhiteboxAttackSurfaceAgent } = await import("./index-
|
|
116090
|
+
const { WhiteboxAttackSurfaceAgent } = await import("./index-e575ccsa.js");
|
|
116021
116091
|
const localBus = new AgentEventBus;
|
|
116022
116092
|
AgentEventBus.attachChild(localBus, ctx.eventBus, subagentId);
|
|
116023
116093
|
const agent = new WhiteboxAttackSurfaceAgent({
|
|
@@ -116072,7 +116142,7 @@ should be passed directly to spawn_pentest_swarm for deep testing.`,
|
|
|
116072
116142
|
}
|
|
116073
116143
|
}
|
|
116074
116144
|
try {
|
|
116075
|
-
const { BlackboxAttackSurfaceAgent } = await import("./blackboxAgent-
|
|
116145
|
+
const { BlackboxAttackSurfaceAgent } = await import("./blackboxAgent-yq8x25fx.js");
|
|
116076
116146
|
const localBus = new AgentEventBus;
|
|
116077
116147
|
AgentEventBus.attachChild(localBus, ctx.eventBus, subagentId);
|
|
116078
116148
|
const agent = new BlackboxAttackSurfaceAgent({
|
|
@@ -116150,7 +116220,7 @@ Omit \`cwd\` for blackbox mode (live target probing only).`,
|
|
|
116150
116220
|
toolCallDescription: exports_external.string().describe("A concise, human-readable description of what this tool call is doing")
|
|
116151
116221
|
}),
|
|
116152
116222
|
execute: async ({ target, cwd }) => {
|
|
116153
|
-
const { runPentestWorkflow: workflow } = await import("./pentest-
|
|
116223
|
+
const { runPentestWorkflow: workflow } = await import("./pentest-cczrs326.js");
|
|
116154
116224
|
if (!ctx.model) {
|
|
116155
116225
|
return {
|
|
116156
116226
|
success: false,
|
|
@@ -117728,7 +117798,7 @@ Returns an array of results with the text output from each agent.`,
|
|
|
117728
117798
|
});
|
|
117729
117799
|
}
|
|
117730
117800
|
async function runSingleCodingAgent(ctx, codebasePath, objective, agentIndex, name) {
|
|
117731
|
-
const { CodeAgent } = await import("./agent-
|
|
117801
|
+
const { CodeAgent } = await import("./agent-1g0ybra6.js");
|
|
117732
117802
|
const childSessionId = newSessionId();
|
|
117733
117803
|
const subagentId = childSessionId;
|
|
117734
117804
|
ctx.eventBus?.emit("subagent-spawn", {
|
|
@@ -118245,7 +118315,7 @@ Returns the worker's summary, objective results, and finding count — but NOT t
|
|
|
118245
118315
|
message: "spawn_pentest_agent requires a model in the tool context."
|
|
118246
118316
|
};
|
|
118247
118317
|
}
|
|
118248
|
-
const { TargetedPentestAgent } = await import("./agent-
|
|
118318
|
+
const { TargetedPentestAgent } = await import("./agent-dx6g51wb.js");
|
|
118249
118319
|
const findingsRegistry = ctx.findingsRegistry ?? FindingsRegistry.fromDirectory(ctx.session.findingsPath, {
|
|
118250
118320
|
model: ctx.model,
|
|
118251
118321
|
authConfig: ctx.authConfig,
|
|
@@ -118379,7 +118449,7 @@ Pass every target you want tested — the swarm handles concurrency automaticall
|
|
|
118379
118449
|
toolCallDescription: exports_external.string().describe("A concise, human-readable description of what this tool call is doing")
|
|
118380
118450
|
}),
|
|
118381
118451
|
execute: async ({ targets }) => {
|
|
118382
|
-
const { runPentestSwarm, DEFAULT_CONCURRENCY: DEFAULT_CONCURRENCY2 } = await import("./pentest-
|
|
118452
|
+
const { runPentestSwarm, DEFAULT_CONCURRENCY: DEFAULT_CONCURRENCY2 } = await import("./pentest-cczrs326.js");
|
|
118383
118453
|
if (!ctx.model) {
|
|
118384
118454
|
return {
|
|
118385
118455
|
success: false,
|
|
@@ -124611,6 +124681,7 @@ class OffensiveSecurityAgent {
|
|
|
124611
124681
|
attackSurfaceRegistry: input.attackSurfaceRegistry,
|
|
124612
124682
|
credentialManager,
|
|
124613
124683
|
secretValues: input.secretValues,
|
|
124684
|
+
environmentVariables: input.environmentVariables,
|
|
124614
124685
|
persistentShell: this.persistentShell,
|
|
124615
124686
|
skillsRegistry: input.skillsRegistry,
|
|
124616
124687
|
promptInjectionLibrary: input.promptInjectionLibrary,
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
OffensiveSecurityAgent
|
|
3
|
-
} from "./cli-
|
|
3
|
+
} from "./cli-1n5jzdea.js";
|
|
4
4
|
import {
|
|
5
5
|
init_dist,
|
|
6
6
|
stepCountIs
|
|
7
|
-
} from "./cli-
|
|
7
|
+
} from "./cli-rnk06jjs.js";
|
|
8
8
|
|
|
9
9
|
// src/core/agents/specialized/codeAgent/agent.ts
|
|
10
10
|
init_dist();
|