@pensar/apex 2.7.0-canary.65ea630f → 2.7.0-canary.89464e65

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (170) hide show
  1. package/build/agent-0hqzqt56.js +14 -0
  2. package/build/agent-2445x132.js +14 -0
  3. package/build/{agent-apjfqhdy.js → agent-9wkhsvd6.js} +7 -7
  4. package/build/{agent-runs-4fy6brty.js → agent-runs-gp8p07gh.js} +19 -19
  5. package/build/{agent-c5x0bmpj.js → agent-s3v1x1pf.js} +6 -6
  6. package/build/{apps-w3azg4hv.js → apps-2ftfakca.js} +16 -16
  7. package/build/{auth-1n5zzpv3.js → auth-cn7606et.js} +16 -16
  8. package/build/blackboxAgent-zzhmqs0h.js +14 -0
  9. package/build/{blackboxPentest-13zy16b6.js → blackboxPentest-mm9w83s4.js} +12 -12
  10. package/build/{cli-pegw5ec1.js → cli-0gsr4hx2.js} +1 -1
  11. package/build/{cli-egs0t450.js → cli-0yjapx5n.js} +13 -49
  12. package/build/{cli-3baw38jr.js → cli-bfvp9zqk.js} +1 -1
  13. package/build/{cli-n3e3vjwf.js → cli-c04tfjd5.js} +1 -1
  14. package/build/{cli-nc5thq90.js → cli-cgwm7tnj.js} +9 -9
  15. package/build/{cli-3gep10fn.js → cli-djh5mphz.js} +1 -1
  16. package/build/{cli-8jmv4k35.js → cli-dkkfyzjw.js} +2 -2
  17. package/build/{cli-n4vfz69h.js → cli-e0pzprpf.js} +25 -8
  18. package/build/{cli-8bkc7zc0.js → cli-g6bgndhs.js} +3 -3
  19. package/build/{cli-za8brr9s.js → cli-h738x46d.js} +7 -7
  20. package/build/{cli-cb7f2wcw.js → cli-jam99yar.js} +1 -1
  21. package/build/{cli-4qbbnn6z.js → cli-jezvey18.js} +3 -3
  22. package/build/{cli-vre3pncf.js → cli-kbs4zaye.js} +7 -7
  23. package/build/{cli-bnegz51z.js → cli-kgsempyx.js} +2 -2
  24. package/build/{cli-9nk97s94.js → cli-mtg8qnv2.js} +1 -1
  25. package/build/{cli-3ncpc0a4.js → cli-nfdc84d2.js} +2 -2
  26. package/build/{cli-xxe3p6qp.js → cli-p5qyq33j.js} +1 -1
  27. package/build/{cli-vzh6d08m.js → cli-q1xs3e43.js} +1 -1
  28. package/build/{cli-z9vvm3j3.js → cli-q6y3qj7s.js} +617 -919
  29. package/build/{cli-25fa1zyr.js → cli-qgttmrdw.js} +1 -1
  30. package/build/{cli-h14pdgzz.js → cli-vm4s17z7.js} +2 -2
  31. package/build/cli.js +38 -38
  32. package/build/{config-z6yka3e6.js → config-jssggjxh.js} +1 -1
  33. package/build/{fastStrike-hnvt0h0d.js → fastStrike-3ep09355.js} +6 -6
  34. package/build/{fixes-25x452xc.js → fixes-gd5shnz6.js} +16 -16
  35. package/build/{index-n1yxw57b.js → index-1f41pypj.js} +1 -1
  36. package/build/{index-tmgmpw4e.js → index-5r1tymwt.js} +5 -5
  37. package/build/{index-yjmzw4hd.js → index-dmjjchhm.js} +7 -7
  38. package/build/{index-2wr0xgt8.js → index-k50nby3j.js} +16 -16
  39. package/build/{index-zqdfp71h.js → index-ka68r3bw.js} +22 -22
  40. package/build/{index-kcdwaj2g.js → index-m9nrk2a7.js} +2 -2
  41. package/build/{index-dxwq9egv.js → index-nczwtn2v.js} +1 -1
  42. package/build/{index-0dm9ytw3.js → index-rsm0hj49.js} +5 -5
  43. package/build/{index-wv2amtg5.js → index-rx7xv8w4.js} +4 -4
  44. package/build/{issues-bnrmw4bq.js → issues-cwyb53df.js} +16 -16
  45. package/build/{knowledge-v0md1pbc.js → knowledge-x6hs5jyh.js} +16 -16
  46. package/build/{lance-9b9sg5j9.js → lance-70xs70p8.js} +7 -7
  47. package/build/lib/{chunk-vm47fydm.js → chunk-1hebds13.js} +27 -112
  48. package/build/lib/{chunk-nwscnz8j.js → chunk-1kz4webg.js} +1 -1
  49. package/build/lib/{chunk-45qh3jmc.js → chunk-4kg6p1xw.js} +171 -341
  50. package/build/lib/{chunk-mg19rv54.js → chunk-4km07sfg.js} +2 -2
  51. package/build/lib/chunk-597t9bzg.js +112 -0
  52. package/build/lib/{chunk-nar0dfqq.js → chunk-7q8xksn0.js} +6 -6
  53. package/build/lib/{chunk-zg1szteq.js → chunk-cxj5f5qk.js} +1 -1
  54. package/build/lib/{chunk-21ndb0yq.js → chunk-dwce2aec.js} +11 -11
  55. package/build/lib/{chunk-jraxv1ee.js → chunk-ekq0ja1q.js} +1 -1
  56. package/build/lib/{chunk-s28z6wmx.js → chunk-fdwbysn1.js} +1 -1
  57. package/build/lib/{chunk-nhvmxjsr.js → chunk-hvn14478.js} +1 -1
  58. package/build/lib/{chunk-35daj4vb.js → chunk-kz5yy1ky.js} +1 -1
  59. package/build/lib/{chunk-5avnedwm.js → chunk-map8j4b2.js} +589 -97
  60. package/build/lib/{chunk-03amvbqw.js → chunk-me22v4c1.js} +1 -1
  61. package/build/lib/{chunk-13j50shb.js → chunk-mhbjqp44.js} +1 -1
  62. package/build/lib/{chunk-y7bbahyc.js → chunk-mkknp0ac.js} +1 -1
  63. package/build/lib/{chunk-dn53qe29.js → chunk-qavk8gbk.js} +11 -10
  64. package/build/lib/{chunk-c1aw0f86.js → chunk-qs28cz8z.js} +10 -9
  65. package/build/lib/{chunk-hwm3zkbt.js → chunk-te11ybp9.js} +1 -1
  66. package/build/lib/{chunk-vftfd781.js → chunk-tk6ecgrt.js} +18 -16
  67. package/build/lib/{chunk-2a6gkk00.js → chunk-vkrj3b2z.js} +3 -3
  68. package/build/lib/{chunk-4e3npk8v.js → chunk-x68pn7bp.js} +2 -2
  69. package/build/lib/{chunk-7383z1gj.js → chunk-xn7eyk6b.js} +6 -6
  70. package/build/lib/{chunk-yea9yx35.js → chunk-ya86kxve.js} +1 -1
  71. package/build/lib/{chunk-ny5xp1gs.js → chunk-yfj9marz.js} +12 -48
  72. package/build/lib/{chunk-63pchg01.js → chunk-z1t594p5.js} +4 -4
  73. package/build/lib/core/agents/offSecAgent/index.js +11 -10
  74. package/build/lib/core/agents/offSecAgent/subagentSpawner.js +6 -5
  75. package/build/lib/core/agents/offSecAgent/tools/browserHeaderRouting.d.ts +2 -0
  76. package/build/lib/core/agents/offSecAgent/tools/getPage.d.ts +1 -2
  77. package/build/lib/core/agents/offSecAgent/tools/index.js +10 -9
  78. package/build/lib/core/agents/offSecAgent/tools/scopeGuard.d.ts +7 -18
  79. package/build/lib/core/agents/offSecAgent/tools/webSearch.d.ts +8 -0
  80. package/build/lib/core/agents/specialized/attackSurface/blackboxAgent.js +11 -10
  81. package/build/lib/core/agents/specialized/attackSurface/prompts.d.ts +1 -1
  82. package/build/lib/core/agents/specialized/attackSurface/schemas.js +11 -10
  83. package/build/lib/core/agents/specialized/authenticationAgent/index.js +12 -11
  84. package/build/lib/core/agents/specialized/codeAgent/agent.js +11 -10
  85. package/build/lib/core/agents/specialized/findingJudge/agent.js +10 -9
  86. package/build/lib/core/agents/specialized/findingJudge/index.js +4 -3
  87. package/build/lib/core/agents/specialized/patching/index.js +12 -11
  88. package/build/lib/core/agents/specialized/pentest/agent.js +11 -10
  89. package/build/lib/core/agents/specialized/whiteboxAttackSurface/index.js +11 -10
  90. package/build/lib/core/ai/ai.js +3 -2
  91. package/build/lib/core/ai/index.js +3 -2
  92. package/build/lib/core/ai/utils.js +3 -2
  93. package/build/lib/core/api/index.js +23 -21
  94. package/build/lib/core/api/targetedPentest.js +12 -11
  95. package/build/lib/core/config/index.js +1 -1
  96. package/build/lib/core/findings/registry.js +4 -3
  97. package/build/lib/core/http/researchFetchToken.d.ts +2 -0
  98. package/build/lib/core/http/targetHeaders.d.ts +2 -0
  99. package/build/lib/core/http/targetScope.d.ts +3 -0
  100. package/build/lib/core/session/index.js +3 -2
  101. package/build/lib/core/session/persistence.js +4 -3
  102. package/build/lib/core/tools/backends/index.js +3 -1
  103. package/build/lib/core/tools/backends/types.d.ts +2 -0
  104. package/build/lib/core/workflows/pentest.js +17 -16
  105. package/build/lib/core/workflows/seams.js +5 -4
  106. package/build/lib/core/workflows/whiteboxAttackSurface.js +13 -12
  107. package/build/lib/index.js +24 -23
  108. package/build/{logs-e8g7mb7b.js → logs-6wkksqj8.js} +16 -16
  109. package/build/{native-rollout-evidence-6k28z0k1.js → native-rollout-evidence-hacsahhn.js} +3 -3
  110. package/build/{offesecAgent-hs1dm6r9.js → offesecAgent-4s09p04g.js} +6 -6
  111. package/build/pentest-xz47r03e.js +23 -0
  112. package/build/{pentests-vg4m6r03.js → pentests-m8fsm5rq.js} +16 -16
  113. package/build/recordedRunClient-954nd7j6.js +11 -0
  114. package/build/{subagentSpawner-20rjfpg9.js → subagentSpawner-4azv3666.js} +4 -4
  115. package/build/{targetedPentest-vv8ds3gc.js → targetedPentest-4rqgtnea.js} +8 -8
  116. package/build/{targets-4h5y26fq.js → targets-gye82gfz.js} +16 -16
  117. package/build/threatModel-mx4d5dpm.js +24 -0
  118. package/build/{uninstall-87cfqzkk.js → uninstall-m0eb59eb.js} +1 -1
  119. package/build/{upload-afsftte8.js → upload-x0dtvrcd.js} +4 -4
  120. package/build/{utils-yr7y3xvk.js → utils-zemq4m3r.js} +3 -3
  121. package/package.json +1 -1
  122. package/src/cli/agent-runs.test.ts +1 -4
  123. package/src/cli/issues.test.ts +17 -1
  124. package/src/core/agents/offSecAgent/offensiveSecurityAgent.test.ts +5 -1
  125. package/src/core/agents/offSecAgent/prompt.ts +1 -1
  126. package/src/core/agents/offSecAgent/recordedTools.test.ts +5 -1
  127. package/src/core/agents/offSecAgent/selectiveConstruction.test.ts +5 -1
  128. package/src/core/agents/offSecAgent/tools/browserHeaderRouting.redirect.test.ts +141 -0
  129. package/src/core/agents/offSecAgent/tools/browserHeaderRouting.test.ts +106 -8
  130. package/src/core/agents/offSecAgent/tools/browserHeaderRouting.ts +56 -16
  131. package/src/core/agents/offSecAgent/tools/delegateAuth.ts +4 -0
  132. package/src/core/agents/offSecAgent/tools/executeCommand.test.ts +2 -1
  133. package/src/core/agents/offSecAgent/tools/getPage.test.ts +120 -0
  134. package/src/core/agents/offSecAgent/tools/getPage.ts +24 -19
  135. package/src/core/agents/offSecAgent/tools/httpBackends.test.ts +18 -25
  136. package/src/core/agents/offSecAgent/tools/httpRequest.test.ts +54 -0
  137. package/src/core/agents/offSecAgent/tools/playwrightMcp.test.ts +5 -0
  138. package/src/core/agents/offSecAgent/tools/playwrightMcp.ts +5 -2
  139. package/src/core/agents/offSecAgent/tools/sandboxPlaywright.test.ts +47 -0
  140. package/src/core/agents/offSecAgent/tools/sandboxPlaywright.ts +65 -2
  141. package/src/core/agents/offSecAgent/tools/scopeGuard.test.ts +121 -52
  142. package/src/core/agents/offSecAgent/tools/scopeGuard.ts +50 -30
  143. package/src/core/agents/offSecAgent/tools/spawnPentestAgent.test.ts +4 -3
  144. package/src/core/agents/offSecAgent/tools/webSearch.test.ts +154 -0
  145. package/src/core/agents/offSecAgent/tools/webSearch.ts +119 -87
  146. package/src/core/agents/specialized/attackSurface/blackboxAgent.ts +3 -3
  147. package/src/core/agents/specialized/attackSurface/prompts.ts +9 -45
  148. package/src/core/ai/compactionTelemetry.test.ts +167 -5
  149. package/src/core/ai/providers/pensarResponsesStream.test.ts +117 -0
  150. package/src/core/ai/providers/pensarResponsesStream.ts +20 -1
  151. package/src/core/ai/utils.ts +17 -12
  152. package/src/core/http/agentNetworkPolicyFixture.test.ts +39 -0
  153. package/src/core/http/headers.contract.test.ts +100 -2
  154. package/src/core/http/researchFetchToken.test.ts +50 -0
  155. package/src/core/http/researchFetchToken.ts +63 -0
  156. package/src/core/http/targetHeaders.ts +26 -8
  157. package/src/core/http/targetScope.ts +47 -11
  158. package/src/core/runtime/sqliteRecoveryStore.test.ts +24 -5
  159. package/src/core/tools/backends/local.test.ts +126 -0
  160. package/src/core/tools/backends/local.ts +256 -59
  161. package/src/core/tools/backends/policy.test.ts +36 -1
  162. package/src/core/tools/backends/policy.ts +9 -4
  163. package/src/core/tools/backends/types.ts +2 -0
  164. package/src/test-fixtures/agent-network-policy-v2.json +80 -0
  165. package/build/agent-g0j0y0nj.js +0 -14
  166. package/build/agent-w390p7pf.js +0 -14
  167. package/build/blackboxAgent-qy1ghjdv.js +0 -14
  168. package/build/pentest-6bqq76aa.js +0 -23
  169. package/build/recordedRunClient-n83gzjck.js +0 -11
  170. package/build/threatModel-dcmh0xk3.js +0 -24
@@ -0,0 +1,14 @@
1
+ import {
2
+ runAuthenticationAgent2
3
+ } from "./cli-kgsempyx.js";
4
+ import"./cli-bfvp9zqk.js";
5
+ import"./cli-qba2x69h.js";
6
+ import"./cli-q6y3qj7s.js";
7
+ import"./cli-kbs4zaye.js";
8
+ import"./cli-e0pzprpf.js";
9
+ import"./cli-jam99yar.js";
10
+ import"./cli-c2k4xxaw.js";
11
+ import"./cli-mtg8qnv2.js";
12
+ export {
13
+ runAuthenticationAgent2 as runAuthenticationAgent
14
+ };
@@ -0,0 +1,14 @@
1
+ import {
2
+ CodeAgent2
3
+ } from "./cli-dkkfyzjw.js";
4
+ import"./cli-bfvp9zqk.js";
5
+ import"./cli-qba2x69h.js";
6
+ import"./cli-q6y3qj7s.js";
7
+ import"./cli-kbs4zaye.js";
8
+ import"./cli-e0pzprpf.js";
9
+ import"./cli-jam99yar.js";
10
+ import"./cli-c2k4xxaw.js";
11
+ import"./cli-mtg8qnv2.js";
12
+ export {
13
+ CodeAgent2 as CodeAgent
14
+ };
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  TargetedPentestAgent2,
3
3
  buildPentestSystemPrompt2
4
- } from "./cli-4qbbnn6z.js";
5
- import"./cli-3baw38jr.js";
4
+ } from "./cli-jezvey18.js";
5
+ import"./cli-bfvp9zqk.js";
6
6
  import"./cli-qba2x69h.js";
7
- import"./cli-z9vvm3j3.js";
8
- import"./cli-vre3pncf.js";
9
- import"./cli-n4vfz69h.js";
10
- import"./cli-cb7f2wcw.js";
7
+ import"./cli-q6y3qj7s.js";
8
+ import"./cli-kbs4zaye.js";
9
+ import"./cli-e0pzprpf.js";
10
+ import"./cli-jam99yar.js";
11
11
  import"./cli-c2k4xxaw.js";
12
- import"./cli-9nk97s94.js";
12
+ import"./cli-mtg8qnv2.js";
13
13
  export {
14
14
  TargetedPentestAgent2 as TargetedPentestAgent,
15
15
  buildPentestSystemPrompt2 as buildPentestSystemPrompt
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  config2,
3
3
  init_config
4
- } from "./cli-9nk97s94.js";
5
- import"./cli-cb7f2wcw.js";
6
- import"./cli-z9vvm3j3.js";
4
+ } from "./cli-mtg8qnv2.js";
5
+ import"./cli-jam99yar.js";
6
+ import"./cli-q6y3qj7s.js";
7
7
  import {
8
8
  AgentEventBus
9
- } from "./cli-vre3pncf.js";
9
+ } from "./cli-kbs4zaye.js";
10
10
  import {
11
11
  inspectSessionEvidence2,
12
12
  RecordedRunSpecSchema,
@@ -17,27 +17,27 @@ import {
17
17
  runRecordedAgent2,
18
18
  RunRecoveryBlockedError2,
19
19
  resumeRecordedAgent2
20
- } from "./cli-za8brr9s.js";
21
- import"./cli-egs0t450.js";
22
- import"./cli-8jmv4k35.js";
23
- import"./cli-8bkc7zc0.js";
24
- import"./cli-nc5thq90.js";
25
- import"./cli-bnegz51z.js";
26
- import"./cli-4qbbnn6z.js";
27
- import"./cli-n3e3vjwf.js";
28
- import"./cli-xxe3p6qp.js";
20
+ } from "./cli-h738x46d.js";
21
+ import"./cli-0yjapx5n.js";
22
+ import"./cli-dkkfyzjw.js";
23
+ import"./cli-g6bgndhs.js";
24
+ import"./cli-cgwm7tnj.js";
25
+ import"./cli-kgsempyx.js";
26
+ import"./cli-jezvey18.js";
27
+ import"./cli-c04tfjd5.js";
28
+ import"./cli-p5qyq33j.js";
29
29
  import"./cli-xcy2vxj2.js";
30
30
  import {
31
31
  resolveWorkerExecutable,
32
32
  launchLocalWorker
33
- } from "./cli-3gep10fn.js";
34
- import"./cli-3ncpc0a4.js";
35
- import"./cli-3baw38jr.js";
33
+ } from "./cli-djh5mphz.js";
34
+ import"./cli-nfdc84d2.js";
35
+ import"./cli-bfvp9zqk.js";
36
36
  import"./cli-qba2x69h.js";
37
37
  import {
38
38
  buildAuthConfig,
39
39
  init_ai2
40
- } from "./cli-n4vfz69h.js";
40
+ } from "./cli-e0pzprpf.js";
41
41
  import"./cli-c2k4xxaw.js";
42
42
 
43
43
  // src/cli/agent-runs.ts
@@ -118,7 +118,7 @@ async function runAgentRunsCommand(args) {
118
118
  if (!isAbsolute(values.store)) {
119
119
  throw new Error("agent-runs worker requires --store <absolute database>");
120
120
  }
121
- const { serveLocalRunWorker } = await import("./index-2wr0xgt8.js");
121
+ const { serveLocalRunWorker } = await import("./index-k50nby3j.js");
122
122
  await serveLocalRunWorker({
123
123
  runId: values.run,
124
124
  databasePath: resolve(values.store)
@@ -132,7 +132,7 @@ async function runAgentRunsCommand(args) {
132
132
  ${HELP}`);
133
133
  }
134
134
  if (command === "attach") {
135
- const { openRecordedRunClient } = await import("./recordedRunClient-n83gzjck.js");
135
+ const { openRecordedRunClient } = await import("./recordedRunClient-954nd7j6.js");
136
136
  const client = await openRecordedRunClient(values.store);
137
137
  const controller = new AbortController;
138
138
  const detach = () => controller.abort();
@@ -1,16 +1,16 @@
1
- import"./cli-vre3pncf.js";
2
- import"./cli-9nk97s94.js";
3
- import"./cli-cb7f2wcw.js";
4
- import"./cli-z9vvm3j3.js";
1
+ import"./cli-kbs4zaye.js";
2
+ import"./cli-mtg8qnv2.js";
3
+ import"./cli-jam99yar.js";
4
+ import"./cli-q6y3qj7s.js";
5
5
  import {
6
6
  AgentRuntime,
7
7
  defineAgent
8
- } from "./cli-3baw38jr.js";
8
+ } from "./cli-bfvp9zqk.js";
9
9
  import"./cli-qba2x69h.js";
10
10
  import {
11
11
  stepCountIs2,
12
12
  init_dist
13
- } from "./cli-n4vfz69h.js";
13
+ } from "./cli-e0pzprpf.js";
14
14
  import"./cli-c2k4xxaw.js";
15
15
  import {
16
16
  init_zod
@@ -15,27 +15,27 @@ import {
15
15
  searchEndpoints2,
16
16
  listDomains2,
17
17
  createDomain2
18
- } from "./cli-z9vvm3j3.js";
19
- import"./cli-vre3pncf.js";
20
- import"./cli-9nk97s94.js";
21
- import"./cli-cb7f2wcw.js";
22
- import"./cli-za8brr9s.js";
23
- import"./cli-egs0t450.js";
24
- import"./cli-8jmv4k35.js";
25
- import"./cli-8bkc7zc0.js";
26
- import"./cli-nc5thq90.js";
27
- import"./cli-bnegz51z.js";
28
- import"./cli-4qbbnn6z.js";
29
- import"./cli-n3e3vjwf.js";
30
- import"./cli-xxe3p6qp.js";
18
+ } from "./cli-q6y3qj7s.js";
19
+ import"./cli-kbs4zaye.js";
20
+ import"./cli-mtg8qnv2.js";
21
+ import"./cli-jam99yar.js";
22
+ import"./cli-h738x46d.js";
23
+ import"./cli-0yjapx5n.js";
24
+ import"./cli-dkkfyzjw.js";
25
+ import"./cli-g6bgndhs.js";
26
+ import"./cli-cgwm7tnj.js";
27
+ import"./cli-kgsempyx.js";
28
+ import"./cli-jezvey18.js";
29
+ import"./cli-c04tfjd5.js";
30
+ import"./cli-p5qyq33j.js";
31
31
  import"./cli-xcy2vxj2.js";
32
32
  import {
33
33
  markCommandFailed
34
34
  } from "./cli-z82n3qk1.js";
35
- import"./cli-3ncpc0a4.js";
36
- import"./cli-3baw38jr.js";
35
+ import"./cli-nfdc84d2.js";
36
+ import"./cli-bfvp9zqk.js";
37
37
  import"./cli-qba2x69h.js";
38
- import"./cli-n4vfz69h.js";
38
+ import"./cli-e0pzprpf.js";
39
39
  import"./cli-c2k4xxaw.js";
40
40
 
41
41
  // src/cli/apps.ts
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env bun
2
- import"./cli-z9vvm3j3.js";
3
- import"./cli-vre3pncf.js";
2
+ import"./cli-q6y3qj7s.js";
3
+ import"./cli-kbs4zaye.js";
4
4
  import {
5
5
  config2,
6
6
  init_config
7
- } from "./cli-9nk97s94.js";
7
+ } from "./cli-mtg8qnv2.js";
8
8
  import {
9
9
  getPensarApiUrl2,
10
10
  getPensarConsoleUrl2,
@@ -20,24 +20,24 @@ import {
20
20
  createWorkspaceSelection2,
21
21
  pollWorkspaceSelection2,
22
22
  init_auth
23
- } from "./cli-cb7f2wcw.js";
24
- import"./cli-za8brr9s.js";
25
- import"./cli-egs0t450.js";
26
- import"./cli-8jmv4k35.js";
27
- import"./cli-8bkc7zc0.js";
28
- import"./cli-nc5thq90.js";
29
- import"./cli-bnegz51z.js";
30
- import"./cli-4qbbnn6z.js";
31
- import"./cli-n3e3vjwf.js";
32
- import"./cli-xxe3p6qp.js";
23
+ } from "./cli-jam99yar.js";
24
+ import"./cli-h738x46d.js";
25
+ import"./cli-0yjapx5n.js";
26
+ import"./cli-dkkfyzjw.js";
27
+ import"./cli-g6bgndhs.js";
28
+ import"./cli-cgwm7tnj.js";
29
+ import"./cli-kgsempyx.js";
30
+ import"./cli-jezvey18.js";
31
+ import"./cli-c04tfjd5.js";
32
+ import"./cli-p5qyq33j.js";
33
33
  import"./cli-xcy2vxj2.js";
34
34
  import {
35
35
  markCommandFailed
36
36
  } from "./cli-z82n3qk1.js";
37
- import"./cli-3ncpc0a4.js";
38
- import"./cli-3baw38jr.js";
37
+ import"./cli-nfdc84d2.js";
38
+ import"./cli-bfvp9zqk.js";
39
39
  import"./cli-qba2x69h.js";
40
- import"./cli-n4vfz69h.js";
40
+ import"./cli-e0pzprpf.js";
41
41
  import"./cli-c2k4xxaw.js";
42
42
  import {
43
43
  __require
@@ -0,0 +1,14 @@
1
+ import {
2
+ BlackboxAttackSurfaceAgent2
3
+ } from "./cli-0yjapx5n.js";
4
+ import"./cli-bfvp9zqk.js";
5
+ import"./cli-qba2x69h.js";
6
+ import"./cli-q6y3qj7s.js";
7
+ import"./cli-kbs4zaye.js";
8
+ import"./cli-e0pzprpf.js";
9
+ import"./cli-jam99yar.js";
10
+ import"./cli-c2k4xxaw.js";
11
+ import"./cli-mtg8qnv2.js";
12
+ export {
13
+ BlackboxAttackSurfaceAgent2 as BlackboxAttackSurfaceAgent
14
+ };
@@ -1,27 +1,27 @@
1
- import"./cli-9nk97s94.js";
2
- import"./cli-cb7f2wcw.js";
3
- import"./cli-vre3pncf.js";
4
- import"./cli-z9vvm3j3.js";
5
- import"./cli-egs0t450.js";
6
- import"./cli-4qbbnn6z.js";
7
- import"./cli-n3e3vjwf.js";
1
+ import"./cli-mtg8qnv2.js";
2
+ import"./cli-jam99yar.js";
3
+ import"./cli-kbs4zaye.js";
4
+ import"./cli-q6y3qj7s.js";
5
+ import"./cli-0yjapx5n.js";
6
+ import"./cli-jezvey18.js";
7
+ import"./cli-c04tfjd5.js";
8
8
  import {
9
9
  readExecutionMetrics,
10
10
  writeExecutionMetrics,
11
11
  runPentestWorkflow2
12
- } from "./cli-nc5thq90.js";
13
- import"./cli-8jmv4k35.js";
14
- import"./cli-8bkc7zc0.js";
12
+ } from "./cli-cgwm7tnj.js";
13
+ import"./cli-dkkfyzjw.js";
14
+ import"./cli-g6bgndhs.js";
15
15
  import {
16
16
  EMPTY_SESSION_TOKEN_USAGE,
17
17
  accumulateSessionTokens
18
18
  } from "./cli-ag6jtndp.js";
19
- import"./cli-3baw38jr.js";
19
+ import"./cli-bfvp9zqk.js";
20
20
  import"./cli-qba2x69h.js";
21
21
  import {
22
22
  normalizeStepUsage,
23
23
  init_ai2
24
- } from "./cli-n4vfz69h.js";
24
+ } from "./cli-e0pzprpf.js";
25
25
  import"./cli-c2k4xxaw.js";
26
26
 
27
27
  // src/core/api/blackboxPentest.ts
@@ -3,7 +3,7 @@ import {
3
3
  init_structured,
4
4
  scopedLogger,
5
5
  init_lazyLogger
6
- } from "./cli-n4vfz69h.js";
6
+ } from "./cli-e0pzprpf.js";
7
7
 
8
8
  // src/core/integrations/wandb/client.ts
9
9
  init_structured();
@@ -4,12 +4,12 @@ import {
4
4
  import {
5
5
  AgentRuntime,
6
6
  defineAgent
7
- } from "./cli-3baw38jr.js";
7
+ } from "./cli-bfvp9zqk.js";
8
8
  import {
9
9
  stepCountIs2,
10
10
  hasToolCall,
11
11
  init_dist
12
- } from "./cli-n4vfz69h.js";
12
+ } from "./cli-e0pzprpf.js";
13
13
 
14
14
  // src/core/agents/specialized/attackSurface/blackboxAgent.ts
15
15
  init_dist();
@@ -61,7 +61,7 @@ Every discovery MUST come from actual tool output:
61
61
  - NEVER report endpoints, subdomains, or status codes without running a command to verify them
62
62
  - NEVER infer technology stacks without direct evidence (headers, error pages, fingerprints)
63
63
  - If a command returns 404 or no results, do NOT fabricate findings
64
- - ALWAYS follow ALL redirects (HTTP and client-side) — document only final destinations
64
+ - Follow a redirect only when its destination host is already present in the immutable run scope. Otherwise record the hostname as a candidate for a future approved run and do not connect.
65
65
  - If a page returns 200, check for client-side redirects (NEXT_REDIRECT, window.location, meta refresh) before documenting
66
66
 
67
67
  # PHASE 1 — AUTHENTICATION (MUST BE FIRST WHEN CREDENTIALS ARE PROVIDED)
@@ -108,50 +108,14 @@ If you start getting 401/403 on endpoints that previously returned 200, re-authe
108
108
 
109
109
  **This phase only runs if subdomain enumeration is ENABLED in the session config.** If disabled, skip entirely and move to Phase 3.
110
110
 
111
- **Goal:** Discover all subdomains of the target domain using command-line techniques.
111
+ **Goal:** Collect candidate subdomains without widening this run.
112
112
 
113
- Use \`execute_command\` for each technique below:
114
-
115
- ## 2a. DNS brute-force with dig
116
-
117
- Query common subdomain prefixes against the target domain:
118
-
119
- \`\`\`bash
120
- # Test subdomains in batch — verify each resolves
121
- for sub in www api admin dev staging test app portal login mail ftp vpn cdn static assets blog docs wiki help support status monitor grafana jenkins git gitlab ci cd beta alpha demo sandbox internal intranet partner shop store api-v1 api-v2 m mobile sso oauth auth accounts dashboard panel manage backup old legacy archive v1 v2 v3 db mysql postgres redis elastic search; do
122
- result=$(dig +short "$sub.DOMAIN" A 2>/dev/null)
123
- if [ -n "$result" ]; then
124
- echo "[FOUND] $sub.DOMAIN -> $result"
125
- fi
126
- done
127
- \`\`\`
128
-
129
- Split into multiple \`execute_command\` calls if the list is long to avoid timeouts.
130
-
131
- ## 2b. Certificate transparency logs
132
-
133
- \`\`\`bash
134
- # Query crt.sh for certificate transparency records
135
- curl -s "https://crt.sh/?q=%25.DOMAIN&output=json" | jq -r '.[].name_value' 2>/dev/null | sort -u
136
- \`\`\`
137
-
138
- ## 2c. Reverse DNS on discovered IPs
139
-
140
- \`\`\`bash
141
- dig -x IP_ADDRESS
142
- \`\`\`
143
-
144
- ## 2d. DNS zone transfer attempt
145
-
146
- \`\`\`bash
147
- # Get nameservers then attempt zone transfer
148
- dig NS DOMAIN +short | while read ns; do dig axfr @"$ns" DOMAIN; done
149
- \`\`\`
150
-
151
- **For every discovered subdomain:**
152
- - Resolve it to an IP with \`dig +short SUBDOMAIN A\`
153
- - Check if it serves HTTP(S) with \`curl -L -I --max-time 5 https://SUBDOMAIN\` and \`curl -L -I --max-time 5 http://SUBDOMAIN\`
154
- - Document it using \`document_app\` (for the subdomain as an application)
113
+ Use the brokered \`web_search\` capability and evidence already returned by the
114
+ authorized application (links, CSP, scripts, certificates, API responses) to
115
+ identify candidates. Do not query, resolve, scan, or request a candidate unless
116
+ its exact hostname is already listed in the run scope. Record unapproved
117
+ candidates in \`keyFindings\` for ownership verification and a future run; do
118
+ not call \`document_app\` or \`document_endpoint\` for an unverified candidate.
155
119
 
156
120
  # PHASE 3 — ENDPOINT EXTRACTION FROM JAVASCRIPT
157
121
 
@@ -358,7 +322,7 @@ Submit the final structured report. Call this ONCE at the very end with complete
358
322
 
359
323
  1. **Act, don't ask.** Never say "Would you like me to..." — just do it.
360
324
  2. **Verify everything.** Every finding must have a command and output backing it.
361
- 3. **Follow redirects.** Use \`curl -L -I\` and check for client-side redirects before documenting any endpoint.
325
+ 3. **Follow scoped redirects only.** Inspect each Location/client-side destination first. Follow it only when the exact host is already authorized; never use \`curl -L\` across an unreviewed redirect.
362
326
  4. **Breadth over depth.** Find everything; test nothing deeply.
363
327
  5. **Document as you go.** Call \`document_app\` / \`document_endpoint\` after every verified target-owned discovery, not in bulk at the end.
364
328
  6. **End with the report.** Your final action must be \`create_attack_surface_report\`.
@@ -490,8 +454,8 @@ ${authenticationInstructions}
490
454
  authBlock = `AUTHENTICATION: No credentials provided. Skip Phase 1 and proceed with unauthenticated discovery.
491
455
  Note any login pages you find as assets and flag them for pentest agents.`;
492
456
  }
493
- const scopeRules = scopeConstraints?.strictScope ? `STRICT SCOPE — Only test URLs/endpoints within allowed hosts and ports. Do NOT scan outside the target.` : `OPEN SCOPE — You may discover and explore related/adjacent targets.`;
494
- const subdomainBlock = enumerateSubdomains ? `SUBDOMAIN ENUMERATION: ENABLED — Execute Phase 2 fully (DNS brute-force, certificate transparency, zone transfers).` : `SUBDOMAIN ENUMERATION: DISABLED — Skip Phase 2 entirely. Focus only on the provided target URL.`;
457
+ const scopeRules = scopeConstraints?.strictScope ? `STRICT IMMUTABLE SCOPE — Connect only to exact allowed hosts and ports. Discovery and redirects never widen this run.` : `UNRESTRICTED LOCAL MODE — No host boundary was supplied by the caller.`;
458
+ const subdomainBlock = enumerateSubdomains ? `SUBDOMAIN CANDIDATE DISCOVERY: ENABLED — Use brokered/passive evidence only. Never connect to a candidate that is absent from the immutable scope.` : `SUBDOMAIN ENUMERATION: DISABLED — Skip Phase 2 entirely. Focus only on the provided target URL.`;
495
459
  const startDirective = credBlock || authenticationInstructions ? `Begin NOW by logging in. Your first tool call must be browser_navigate to ${loginTarget}. After login, continue with the remaining phases.` : `Begin attack surface analysis now. Follow the phases defined in your system prompt in order.`;
496
460
  const operatorGuidanceBlock = operatorPrompt ? `
497
461
  ## Operator Guidance
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  OffensiveSecurityAgent
3
- } from "./cli-z9vvm3j3.js";
3
+ } from "./cli-q6y3qj7s.js";
4
4
 
5
5
  // src/core/agents/agentRuntime.ts
6
6
  function assembleAgentHooks(opts) {
@@ -4,7 +4,7 @@ import {
4
4
  ValidatedCweEntrySchema,
5
5
  hasCanonicalName,
6
6
  EvidenceFileEntrySchema
7
- } from "./cli-z9vvm3j3.js";
7
+ } from "./cli-q6y3qj7s.js";
8
8
  import {
9
9
  init_zod
10
10
  } from "./cli-3qznjsnr.js";
@@ -7,7 +7,7 @@ import {
7
7
  resolveItemHooks,
8
8
  spawnBatch2,
9
9
  inProcessSubagentSpawner2
10
- } from "./cli-vre3pncf.js";
10
+ } from "./cli-kbs4zaye.js";
11
11
  import {
12
12
  collectCommand,
13
13
  toGrpcPentestContext,
@@ -15,24 +15,24 @@ import {
15
15
  pLimit,
16
16
  PLAN_MODE_TOOL_NAMES,
17
17
  OffensiveSecurityAgent
18
- } from "./cli-z9vvm3j3.js";
18
+ } from "./cli-q6y3qj7s.js";
19
19
  import {
20
20
  BlackboxAttackSurfaceAgent2
21
- } from "./cli-egs0t450.js";
21
+ } from "./cli-0yjapx5n.js";
22
22
  import {
23
23
  TargetedPentestAgent2,
24
24
  buildPentestSystemPrompt2
25
- } from "./cli-4qbbnn6z.js";
25
+ } from "./cli-jezvey18.js";
26
26
  import {
27
27
  buildPentestReport,
28
28
  renderJson,
29
29
  renderMarkdown,
30
30
  REPORT_FILENAME_MD,
31
31
  REPORT_FILENAME_JSON
32
- } from "./cli-n3e3vjwf.js";
32
+ } from "./cli-c04tfjd5.js";
33
33
  import {
34
34
  CodeAgent2
35
- } from "./cli-8jmv4k35.js";
35
+ } from "./cli-dkkfyzjw.js";
36
36
  import {
37
37
  WHITEBOX_APPS_DISCOVERY_SYSTEM_PROMPT2,
38
38
  WHITEBOX_ENDPOINT_DOCUMENTATION_SYSTEM_PROMPT,
@@ -41,7 +41,7 @@ import {
41
41
  AppInfoSchema2,
42
42
  AppsDiscoveryResultSchema2,
43
43
  DiscoverySummarySchema2
44
- } from "./cli-8bkc7zc0.js";
44
+ } from "./cli-g6bgndhs.js";
45
45
  import {
46
46
  createThreatModelPrompt
47
47
  } from "./cli-q126f6ef.js";
@@ -53,7 +53,7 @@ import {
53
53
  init_structured,
54
54
  scopedLogger,
55
55
  init_lazyLogger
56
- } from "./cli-n4vfz69h.js";
56
+ } from "./cli-e0pzprpf.js";
57
57
  import {
58
58
  newSessionId,
59
59
  init_id
@@ -8216,7 +8216,7 @@ async function runPentestSwarm2(input) {
8216
8216
  }
8217
8217
  async function runPentestWorkflow2(input) {
8218
8218
  if (input.fastStrike) {
8219
- const { runFastStrike } = await import("./fastStrike-hnvt0h0d.js");
8219
+ const { runFastStrike } = await import("./fastStrike-3ep09355.js");
8220
8220
  return runFastStrike(input);
8221
8221
  }
8222
8222
  const {
@@ -4,7 +4,7 @@ import {
4
4
  LocalWorkerTransportError,
5
5
  WorkerConnectionError,
6
6
  workerRequest
7
- } from "./cli-za8brr9s.js";
7
+ } from "./cli-h738x46d.js";
8
8
 
9
9
  // src/core/runtime/launchLocalWorker.ts
10
10
  import { spawn } from "node:child_process";
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  AgentRuntime,
3
3
  defineAgent
4
- } from "./cli-3baw38jr.js";
4
+ } from "./cli-bfvp9zqk.js";
5
5
  import {
6
6
  stepCountIs2,
7
7
  init_dist
8
- } from "./cli-n4vfz69h.js";
8
+ } from "./cli-e0pzprpf.js";
9
9
 
10
10
  // src/core/agents/specialized/codeAgent/agent.ts
11
11
  init_dist();
@@ -6,14 +6,14 @@ import {
6
6
  import {
7
7
  config2,
8
8
  init_config
9
- } from "./cli-9nk97s94.js";
9
+ } from "./cli-mtg8qnv2.js";
10
10
  import {
11
11
  getPensarGatewayUrl,
12
12
  init_constants,
13
13
  ensureValidToken2,
14
14
  signGatewayRequest2,
15
15
  init_auth
16
- } from "./cli-cb7f2wcw.js";
16
+ } from "./cli-jam99yar.js";
17
17
  import {
18
18
  init_v4,
19
19
  ZodFirstPartyTypeKind,
@@ -106,11 +106,11 @@ import {
106
106
  HOONIFY_BASE_URL,
107
107
  resolveHoonifyModel,
108
108
  init_hoonify
109
- } from "./cli-vzh6d08m.js";
109
+ } from "./cli-q1xs3e43.js";
110
110
  import {
111
111
  getCurrentVersion,
112
112
  init_installation
113
- } from "./cli-25fa1zyr.js";
113
+ } from "./cli-qgttmrdw.js";
114
114
  import {
115
115
  init_zod
116
116
  } from "./cli-3qznjsnr.js";
@@ -10592,7 +10592,7 @@ async function create(input) {
10592
10592
  } else if (input.inheritEnvironmentConfig === false) {
10593
10593
  snapshotHeaders = {};
10594
10594
  } else {
10595
- const { config: appConfig } = await import("./index-dxwq9egv.js");
10595
+ const { config: appConfig } = await import("./index-nczwtn2v.js");
10596
10596
  const cfg = await appConfig.get();
10597
10597
  snapshotHeaders = cfg.defaultHeaders ? { ...cfg.defaultHeaders } : { ...DEFAULT_HEADER_RECORD };
10598
10598
  }
@@ -51262,9 +51262,10 @@ function parseResponsesSSE(sseStream, options) {
51262
51262
  let outputTokens = 0;
51263
51263
  let cacheReadTokens = 0;
51264
51264
  let noCacheInputTokens = 0;
51265
- let finishReasonUnified = "stop";
51265
+ let finishReasonUnified = "other";
51266
51266
  let finishReasonRaw;
51267
51267
  let sawToolCall = false;
51268
+ let sawRefusal = false;
51268
51269
  const openText = new Set;
51269
51270
  const openReasoning = new Set;
51270
51271
  const toolsByItemId = new Map;
@@ -51303,6 +51304,11 @@ function parseResponsesSSE(sseStream, options) {
51303
51304
  }
51304
51305
  break;
51305
51306
  }
51307
+ case "response.refusal.delta":
51308
+ case "response.refusal.done": {
51309
+ sawRefusal = true;
51310
+ break;
51311
+ }
51306
51312
  case "response.output_text.delta": {
51307
51313
  const id = textKey(parsed);
51308
51314
  if (!openText.has(id)) {
@@ -51405,6 +51411,15 @@ function parseResponsesSSE(sseStream, options) {
51405
51411
  if (incomplete?.reason === "max_output_tokens") {
51406
51412
  finishReasonUnified = "length";
51407
51413
  finishReasonRaw = "max_output_tokens";
51414
+ } else if (incomplete?.reason === "content_filter") {
51415
+ finishReasonUnified = "content-filter";
51416
+ finishReasonRaw = "content_filter";
51417
+ } else if (type === "response.incomplete" || incomplete?.reason) {
51418
+ finishReasonUnified = "other";
51419
+ finishReasonRaw = typeof incomplete?.reason === "string" ? incomplete.reason : "incomplete";
51420
+ } else if (sawRefusal) {
51421
+ finishReasonUnified = "content-filter";
51422
+ finishReasonRaw = "refusal";
51408
51423
  } else if (sawToolCall) {
51409
51424
  finishReasonUnified = "tool-calls";
51410
51425
  finishReasonRaw = "tool_calls";
@@ -52217,6 +52232,8 @@ async function summarizeConversation(messages, opts, {
52217
52232
  result.providerMetadata,
52218
52233
  result.toolCalls
52219
52234
  ]);
52235
+ if (streamError !== undefined)
52236
+ throw streamError;
52220
52237
  return { text, usage, finishReason, providerMetadata, toolCalls };
52221
52238
  } catch (error) {
52222
52239
  throw streamError ?? error;
@@ -52291,8 +52308,8 @@ async function summarizeConversation(messages, opts, {
52291
52308
  await reportSummaryUsage(summaryResult);
52292
52309
  }
52293
52310
  const { text: summary } = summaryResult;
52294
- if (!summary.trim() || (summaryResult.toolCalls?.length ?? 0) > 0) {
52295
- throw new CompactionRejectedError("Compaction returned no complete summary");
52311
+ if (!summary.trim() || (summaryResult.toolCalls?.length ?? 0) > 0 || summaryResult.finishReason !== "stop") {
52312
+ throw new CompactionRejectedError(`Compaction returned no complete summary (finishReason: ${summaryResult.finishReason})`);
52296
52313
  }
52297
52314
  const taskSummary = extractTaskSummaryFromMessages(messages);
52298
52315
  const summaryWithTasks = [
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  EndpointTransportEnum,
3
3
  GrpcEndpointMetadataSchema
4
- } from "./cli-z9vvm3j3.js";
4
+ } from "./cli-q6y3qj7s.js";
5
5
  import {
6
6
  AgentRuntime,
7
7
  defineAgent
8
- } from "./cli-3baw38jr.js";
8
+ } from "./cli-bfvp9zqk.js";
9
9
  import {
10
10
  stepCountIs2,
11
11
  init_dist
12
- } from "./cli-n4vfz69h.js";
12
+ } from "./cli-e0pzprpf.js";
13
13
  import {
14
14
  tool
15
15
  } from "./cli-pwm29ks7.js";