@pensar/apex 2.3.0 → 2.4.0-canary.09a8744f

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 (81) hide show
  1. package/build/{agent-9xna7jhw.js → agent-4gcavfr4.js} +12 -11
  2. package/build/agent-7x7b5hz1.js +30 -0
  3. package/build/agent-zx1cw89c.js +20 -0
  4. package/build/{apps-43pqbz7r.js → apps-xqecgcbn.js} +75 -34
  5. package/build/{auth-c1z670rx.js → auth-62z3kedh.js} +46 -23
  6. package/build/authentication-phbasmkj.js +20 -0
  7. package/build/blackboxAgent-3s34dabp.js +20 -0
  8. package/build/blackboxPentest-mg2p9s1m.js +70 -0
  9. package/build/{cli-zk1ch6qf.js → cli-4a1c4tkn.js} +61 -10
  10. package/build/{cli-zx8gk8xv.js → cli-51503njj.js} +661 -328
  11. package/build/cli-53rm0rrz.js +15 -0
  12. package/build/{cli-eveg9djy.js → cli-5tbg4dyb.js} +3 -2
  13. package/build/cli-68260ckj.js +12136 -0
  14. package/build/{cli-baqhqbe5.js → cli-7gcsfnw6.js} +3 -3
  15. package/build/cli-7q3ae3ft.js +6 -0
  16. package/build/{cli-72b18z0n.js → cli-8nj7pnew.js} +28 -5
  17. package/build/{cli-f7hanqbw.js → cli-9fds4ss0.js} +2 -2
  18. package/build/cli-9pbk8m32.js +32 -0
  19. package/build/{cli-3k1x5rn3.js → cli-avmhkjtv.js} +2970 -4450
  20. package/build/{cli-vckbhnyk.js → cli-b3d97zgc.js} +2 -2
  21. package/build/{cli-8rxa073f.js → cli-bc05qbss.js} +8 -6
  22. package/build/{cli-7tw4xfnw.js → cli-cdk877bx.js} +1 -1
  23. package/build/{cli-q24twygk.js → cli-dm0fc0bm.js} +1 -1
  24. package/build/{cli-barsn8br.js → cli-e1gmqsyh.js} +11 -5
  25. package/build/{cli-yz80qkzn.js → cli-ee3axgts.js} +7 -1
  26. package/build/{cli-f71s6kcw.js → cli-ex9r1x7c.js} +81 -215
  27. package/build/{cli-n2m2yy5b.js → cli-hc4w41as.js} +2105 -957
  28. package/build/{cli-gpnb45ck.js → cli-j54qa6tm.js} +7 -7
  29. package/build/{cli-j0n189ee.js → cli-j5p6jwm8.js} +2 -2
  30. package/build/{cli-wszshs5e.js → cli-k71t434r.js} +4 -4
  31. package/build/cli-knd276ed.js +1485 -0
  32. package/build/{cli-zm8tfpv7.js → cli-n36kxpcz.js} +62 -44
  33. package/build/{cli-bv2807tj.js → cli-n4cmzq79.js} +5 -3
  34. package/build/{cli-jyp2c6th.js → cli-nvqny4ej.js} +5 -3
  35. package/build/{cli-50906d27.js → cli-nw9ytp7z.js} +122 -43
  36. package/build/{cli-bnkgdywr.js → cli-ppj4c75j.js} +1 -1
  37. package/build/cli.js +546 -98
  38. package/build/{config-jzqjz606.js → config-7f07yemp.js} +20 -17
  39. package/build/{doctor-q3qws68e.js → doctor-gwvyn249.js} +11 -9
  40. package/build/{fastStrike-ebz1ph9a.js → fastStrike-zxsk2q40.js} +39 -16
  41. package/build/{fixes-86yebsj0.js → fixes-zqe8v8ye.js} +27 -22
  42. package/build/getMachineId-bsd-xj3bn2fv.js +36 -0
  43. package/build/getMachineId-darwin-07jzjcx6.js +36 -0
  44. package/build/getMachineId-linux-ahngynxd.js +29 -0
  45. package/build/getMachineId-unsupported-vy43b44z.js +19 -0
  46. package/build/getMachineId-win-8x66cynz.js +38 -0
  47. package/build/{index-32hn8rrw.js → index-4j14ssrg.js} +3 -3
  48. package/build/{index-gq9h8j5j.js → index-5wh7gq37.js} +135 -133
  49. package/build/{index-468j74f3.js → index-6s313ddp.js} +121 -97
  50. package/build/{index-e8c8zcrf.js → index-9j3pakz7.js} +32 -26
  51. package/build/{index-h2hj2hj9.js → index-cbwn03kz.js} +16 -16
  52. package/build/{index-8db1d2q3.js → index-cmvmnes1.js} +18 -18
  53. package/build/{index-tke6896d.js → index-psqjpw5m.js} +10 -10
  54. package/build/index-r4z6r7vf.js +12 -0
  55. package/build/{index-97vx1a24.js → index-rdqjtnp7.js} +2774 -2236
  56. package/build/{index-mr2cseg4.js → index-wddghhbd.js} +20 -19
  57. package/build/{issues-kh4wg8c5.js → issues-j7ybeaz9.js} +36 -28
  58. package/build/{logs-bj28xmbf.js → logs-qdceq54y.js} +27 -22
  59. package/build/{multipart-parser-6zd16497.js → multipart-parser-g2xxkezz.js} +2 -2
  60. package/build/{offesecAgent-8ky7gccp.js → offesecAgent-9tecezzm.js} +12 -11
  61. package/build/{parse-7djk9jyf.js → parse-rtccymzn.js} +3 -3
  62. package/build/pentest-qk82s64n.js +30 -0
  63. package/build/{pentests-62d6zw6p.js → pentests-97d3rwzr.js} +28 -23
  64. package/build/{targetedPentest-me4jnr3z.js → targetedPentest-g9x0g0zp.js} +15 -14
  65. package/build/{targets-e5k1mrky.js → targets-6m1cp1hx.js} +29 -24
  66. package/build/threatModel-a4gsw56r.js +29 -0
  67. package/build/{token-rdcbn380.js → token-3bbp59y6.js} +3 -3
  68. package/build/{token-util-sxb85ahn.js → token-util-6xjme11b.js} +2 -2
  69. package/build/{uninstall-jt1bca2p.js → uninstall-pkxkzt35.js} +7 -4
  70. package/build/{upload-krd8bnex.js → upload-w71jnkg0.js} +12 -11
  71. package/build/{utils-skmqhyfg.js → utils-846z7q2v.js} +18 -13
  72. package/package.json +8 -2
  73. package/build/agent-71z4e7jg.js +0 -19
  74. package/build/agent-ga5fecfs.js +0 -27
  75. package/build/authentication-hgs7ym0m.js +0 -19
  76. package/build/blackboxAgent-gem3mxa9.js +0 -19
  77. package/build/blackboxPentest-tgc2t3y6.js +0 -37
  78. package/build/index-ag14v3sg.js +0 -12
  79. package/build/main-3d7dfdvs.js +0 -324
  80. package/build/pentest-rs0181nf.js +0 -29
  81. package/build/threatModel-k4f3zgqd.js +0 -27
@@ -2,16 +2,16 @@ import {
2
2
  EndpointTransportEnum,
3
3
  GrpcEndpointMetadataSchema,
4
4
  OffensiveSecurityAgent
5
- } from "./cli-n2m2yy5b.js";
5
+ } from "./cli-hc4w41as.js";
6
6
  import {
7
7
  hasToolCall,
8
8
  init_dist
9
- } from "./cli-zx8gk8xv.js";
9
+ } from "./cli-51503njj.js";
10
10
  import {
11
11
  exports_external,
12
12
  init_zod,
13
13
  tool
14
- } from "./cli-3k1x5rn3.js";
14
+ } from "./cli-avmhkjtv.js";
15
15
 
16
16
  // src/core/agents/specialized/whiteboxAttackSurface/agent.ts
17
17
  init_dist();
@@ -0,0 +1,6 @@
1
+ // src/cli/command-exit.ts
2
+ function markCommandFailed() {
3
+ process.exitCode = 1;
4
+ }
5
+
6
+ export { markCommandFailed };
@@ -1,15 +1,16 @@
1
1
  import {
2
2
  EvidenceFileEntrySchema
3
- } from "./cli-jyp2c6th.js";
3
+ } from "./cli-nvqny4ej.js";
4
4
  import {
5
+ AttackPathSchema,
5
6
  CweEntrySchema,
6
7
  ValidatedCweEntrySchema,
7
8
  hasCanonicalName
8
- } from "./cli-n2m2yy5b.js";
9
+ } from "./cli-hc4w41as.js";
9
10
  import {
10
11
  exports_external,
11
12
  init_zod
12
- } from "./cli-3k1x5rn3.js";
13
+ } from "./cli-avmhkjtv.js";
13
14
 
14
15
  // src/core/report/schemas.ts
15
16
  init_zod();
@@ -27,7 +28,8 @@ var PentestReportFindingSchema = exports_external.object({
27
28
  rootCauseGroup: exports_external.string().optional(),
28
29
  relatedFindings: exports_external.array(exports_external.string()).optional(),
29
30
  rootCauseLead: exports_external.boolean().optional(),
30
- evidenceFiles: exports_external.array(EvidenceFileEntrySchema).optional()
31
+ evidenceFiles: exports_external.array(EvidenceFileEntrySchema).optional(),
32
+ attackPath: AttackPathSchema.optional()
31
33
  });
32
34
  var PentestReportSchema = exports_external.object({
33
35
  version: exports_external.string().regex(/^1\.\d+$/),
@@ -86,7 +88,8 @@ function buildPentestReport(findings, context) {
86
88
  rootCauseGroup: f.rootCauseGroup,
87
89
  relatedFindings: f.relatedFindings,
88
90
  rootCauseLead: f.rootCauseLead,
89
- evidenceFiles: f.evidenceFiles
91
+ evidenceFiles: f.evidenceFiles,
92
+ attackPath: f.attackPath
90
93
  }))
91
94
  };
92
95
  }
@@ -141,6 +144,12 @@ function renderFinding(finding, metadata) {
141
144
  "",
142
145
  finding.impact,
143
146
  "",
147
+ ...finding.attackPath?.length ? [
148
+ "## Attack Path",
149
+ "",
150
+ ...finding.attackPath.map(renderAttackPathHop),
151
+ ""
152
+ ] : [],
144
153
  "## Evidence",
145
154
  "",
146
155
  "```",
@@ -187,6 +196,20 @@ function renderFinding(finding, metadata) {
187
196
  return lines.join(`
188
197
  `);
189
198
  }
199
+ function renderAttackPathHop(hop, index) {
200
+ const parts = [];
201
+ if (hop.applicationName)
202
+ parts.push(`**${hop.applicationName}**`);
203
+ if (hop.applicationId)
204
+ parts.push(`(\`${hop.applicationId}\`)`);
205
+ if (hop.host)
206
+ parts.push(`host \`${hop.host}\``);
207
+ if (hop.relationshipType)
208
+ parts.push(`via ${hop.relationshipType}`);
209
+ if (hop.notes)
210
+ parts.push(`— ${hop.notes}`);
211
+ return `${index + 1}. ${parts.join(" ") || "Unspecified system member"}`;
212
+ }
190
213
 
191
214
  // src/core/report/index.ts
192
215
  var REPORT_FILENAME_MD = "pentest-report.md";
@@ -3,10 +3,10 @@ import {
3
3
  init,
4
4
  init_config,
5
5
  update
6
- } from "./cli-eveg9djy.js";
6
+ } from "./cli-5tbg4dyb.js";
7
7
  import {
8
8
  __esm
9
- } from "./cli-8rxa073f.js";
9
+ } from "./cli-bc05qbss.js";
10
10
 
11
11
  // src/core/config/index.ts
12
12
  var config;
@@ -0,0 +1,32 @@
1
+ // src/core/session/usage.ts
2
+ var EMPTY_SESSION_TOKEN_USAGE = {
3
+ inputTokens: 0,
4
+ outputTokens: 0,
5
+ cacheReadTokens: 0,
6
+ cacheWriteTokens: 0
7
+ };
8
+ function accumulateSessionTokens(current, step) {
9
+ const inputTokens = step.inputTokens ?? 0;
10
+ const outputTokens = step.outputTokens ?? 0;
11
+ const cacheReadTokens = step.cacheReadTokens ?? 0;
12
+ const cacheWriteTokens = step.cacheWriteTokens ?? 0;
13
+ if (inputTokens === 0 && outputTokens === 0 && cacheReadTokens === 0 && cacheWriteTokens === 0) {
14
+ return current;
15
+ }
16
+ return {
17
+ inputTokens: current.inputTokens + inputTokens,
18
+ outputTokens: current.outputTokens + outputTokens,
19
+ cacheReadTokens: current.cacheReadTokens + cacheReadTokens,
20
+ cacheWriteTokens: current.cacheWriteTokens + cacheWriteTokens
21
+ };
22
+ }
23
+ function contextPercentage(context) {
24
+ if (!context)
25
+ return null;
26
+ if (context.contextLimit <= 0)
27
+ return null;
28
+ const raw = context.usedTokens / context.contextLimit * 100;
29
+ return Math.min(100, Math.max(0, raw));
30
+ }
31
+
32
+ export { EMPTY_SESSION_TOKEN_USAGE, accumulateSessionTokens, contextPercentage };