@pensar/apex 2.4.0 → 2.5.0-canary.22f2eb52

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 (94) hide show
  1. package/build/agent-7qtpem5z.js +12 -0
  2. package/build/agent-9khcyh5t.js +14 -0
  3. package/build/agent-bsyhck0a.js +12 -0
  4. package/build/{agent-5ejt5vpz.js → agent-ywewzc2h.js} +42 -42
  5. package/build/{apps-17wvz1d7.js → apps-11akynyv.js} +74 -43
  6. package/build/{auth-z3h9859n.js → auth-dd6r9mk4.js} +57 -61
  7. package/build/blackboxAgent-hbra4k00.js +12 -0
  8. package/build/blackboxPentest-bn5evs2z.js +61 -0
  9. package/build/{cli-xshasbwe.js → cli-3v9zs5wm.js} +31 -52
  10. package/build/{cli-mavved45.js → cli-4z46kyrk.js} +86 -93
  11. package/build/cli-7vby0hk6.js +12136 -0
  12. package/build/{cli-gq40s5b3.js → cli-8kkaeb70.js} +33 -46
  13. package/build/cli-8w8k4dph.js +15 -0
  14. package/build/cli-ag6jtndp.js +32 -0
  15. package/build/{cli-2cbwdk78.js → cli-ak78mweh.js} +4 -4
  16. package/build/cli-bb02pjt0.js +1485 -0
  17. package/build/{cli-k71t434r.js → cli-ec2hwkv3.js} +34 -76
  18. package/build/{cli-vnynf0js.js → cli-f5rw841m.js} +11 -5
  19. package/build/{cli-k8kc47pq.js → cli-gamfs2yq.js} +118 -115
  20. package/build/{cli-32z0017y.js → cli-gq5sk2j3.js} +36 -60
  21. package/build/{cli-bc05qbss.js → cli-h6y3bt60.js} +13 -21
  22. package/build/{cli-tkc598ey.js → cli-j1916nvj.js} +10035 -7661
  23. package/build/{cli-5k33webc.js → cli-jw1xftqm.js} +355 -332
  24. package/build/{cli-tznv8pf1.js → cli-n4h7ygp5.js} +4 -4
  25. package/build/{cli-b1adytsy.js → cli-q45hcq3f.js} +67 -39
  26. package/build/{cli-repbyhkk.js → cli-qkb3v2nw.js} +26063 -25373
  27. package/build/{cli-j54qa6tm.js → cli-qktcyj48.js} +1 -1
  28. package/build/cli-retw3rw5.js +12 -0
  29. package/build/cli-tjm77pmx.js +12075 -0
  30. package/build/{cli-dm0fc0bm.js → cli-v1sarr4y.js} +5 -9
  31. package/build/{cli-9rhzhgx2.js → cli-v8ph8hy2.js} +5 -5
  32. package/build/{cli-vq52kp7j.js → cli-vkxx4jzv.js} +147 -128
  33. package/build/cli-wfb4gde1.js +22 -0
  34. package/build/{cli-ee3axgts.js → cli-xbhr5khz.js} +1 -1
  35. package/build/cli-z82n3qk1.js +6 -0
  36. package/build/cli.js +689 -132
  37. package/build/{config-f1mj4nhd.js → config-kv5v9ctn.js} +29 -29
  38. package/build/{doctor-ekneewa3.js → doctor-xs4s5km8.js} +4 -9
  39. package/build/{fastStrike-8zka43xs.js → fastStrike-b8t8f916.js} +26 -28
  40. package/build/{fixes-b89s5haw.js → fixes-kcckqx3s.js} +22 -27
  41. package/build/getMachineId-bsd-zr67nd9p.js +36 -0
  42. package/build/getMachineId-darwin-fd1d562d.js +36 -0
  43. package/build/getMachineId-linux-kjmg243j.js +29 -0
  44. package/build/getMachineId-unsupported-n4r58vke.js +19 -0
  45. package/build/getMachineId-win-yzgpfsrb.js +38 -0
  46. package/build/index-3mzr07h0.js +9 -0
  47. package/build/index-63zf8jxx.js +12 -0
  48. package/build/index-a1bg29j1.js +1559 -0
  49. package/build/{index-cbwn03kz.js → index-a2xycbjs.js} +12 -31
  50. package/build/{index-6d22pyxt.js → index-ae81pvwg.js} +2995 -2432
  51. package/build/index-cbajq2xy.js +17 -0
  52. package/build/index-cn4p95gh.js +100 -0
  53. package/build/index-kas88svr.js +36 -0
  54. package/build/index-mr20g8k4.js +22 -0
  55. package/build/{index-psqjpw5m.js → index-nweqptgs.js} +7 -7
  56. package/build/{index-sf16jm0m.js → index-rx5jn1nz.js} +137 -162
  57. package/build/{issues-xx5bs4md.js → issues-jm28k288.js} +81 -35
  58. package/build/{logs-qtxe51w2.js → logs-r02tbz89.js} +20 -25
  59. package/build/{multipart-parser-g2xxkezz.js → multipart-parser-vjjdbpd1.js} +10 -10
  60. package/build/{offesecAgent-b9e2xm6v.js → offesecAgent-mmfejh1j.js} +6 -13
  61. package/build/{parse-rtccymzn.js → parse-cqecqrc5.js} +0 -4
  62. package/build/pentest-13jcm4cy.js +21 -0
  63. package/build/{pentests-6ks3szc4.js → pentests-jyn4zs7n.js} +23 -28
  64. package/build/{targetedPentest-s1ptvq8e.js → targetedPentest-m3qkbpv6.js} +16 -20
  65. package/build/{targets-sxygyj87.js → targets-rqv57as0.js} +22 -27
  66. package/build/threatModel-scmz36xr.js +19 -0
  67. package/build/{token-3bbp59y6.js → token-n0tmq8n5.js} +2 -2
  68. package/build/{token-util-6xjme11b.js → token-util-bv80pj47.js} +1 -2
  69. package/build/{uninstall-tvsh81v8.js → uninstall-bme62bdg.js} +7 -4
  70. package/build/{upload-7wdyyqmr.js → upload-hwpgx1ha.js} +7 -13
  71. package/build/{utils-7fwdkqk6.js → utils-abtz5mmk.js} +7 -29
  72. package/package.json +8 -2
  73. package/build/agent-mvpgvgks.js +0 -19
  74. package/build/agent-nhs1w5w0.js +0 -29
  75. package/build/authentication-3s97cpk4.js +0 -19
  76. package/build/blackboxAgent-gw0a1ca4.js +0 -19
  77. package/build/blackboxPentest-44333zss.js +0 -37
  78. package/build/cli-0n4r54hq.js +0 -414
  79. package/build/cli-72cvcqhg.js +0 -22
  80. package/build/cli-qqt4gj1w.js +0 -53
  81. package/build/cli-swpbx60z.js +0 -24441
  82. package/build/index-4ad3sdwk.js +0 -39
  83. package/build/index-ghwf5z3v.js +0 -12
  84. package/build/index-hqjdg6fg.js +0 -205
  85. package/build/index-mtq7kmxz.js +0 -12856
  86. package/build/index-rbzhk712.js +0 -33
  87. package/build/index-y5w6n3tb.js +0 -19
  88. package/build/main-mmjp338j.js +0 -324
  89. package/build/pentest-xtc1sjdw.js +0 -29
  90. package/build/threatModel-xsm6fwk5.js +0 -27
  91. /package/build/{cli-c8131c4q.js → cli-0wsh8j2t.js} +0 -0
  92. /package/build/{cli-e08r86zk.js → cli-b3dvxjgk.js} +0 -0
  93. /package/build/{cli-fw5r7pfj.js → cli-q126f6ef.js} +0 -0
  94. /package/build/{cli-9fsre5pt.js → cli-qba2x69h.js} +0 -0
@@ -1,9 +1,9 @@
1
1
  import {
2
- createLogger,
2
+ scopedLogger,
3
3
  init_lazyLogger,
4
- init_structured,
5
- scopedLogger
6
- } from "./cli-tkc598ey.js";
4
+ createLogger,
5
+ init_structured
6
+ } from "./cli-j1916nvj.js";
7
7
 
8
8
  // src/core/agents/specialized/utils.ts
9
9
  import { execSync } from "node:child_process";
@@ -1,53 +1,60 @@
1
1
  import {
2
- EvidenceFileEntrySchema
3
- } from "./cli-qqt4gj1w.js";
4
- import {
2
+ AttackPathSchema,
5
3
  CweEntrySchema,
6
4
  ValidatedCweEntrySchema,
7
- hasCanonicalName
8
- } from "./cli-repbyhkk.js";
5
+ hasCanonicalName,
6
+ EvidenceFileEntrySchema
7
+ } from "./cli-qkb3v2nw.js";
9
8
  import {
10
- exports_external,
11
9
  init_zod
12
- } from "./cli-swpbx60z.js";
10
+ } from "./cli-j1916nvj.js";
11
+ import {
12
+ string,
13
+ number,
14
+ boolean,
15
+ array,
16
+ object,
17
+ _enum
18
+ } from "./cli-tjm77pmx.js";
13
19
 
14
20
  // src/core/report/schemas.ts
15
21
  init_zod();
16
- var PentestReportFindingSchema = exports_external.object({
17
- title: exports_external.string(),
18
- severity: exports_external.enum(["CRITICAL", "HIGH", "MEDIUM", "LOW"]),
19
- description: exports_external.string(),
20
- impact: exports_external.string(),
21
- evidence: exports_external.string(),
22
- endpoint: exports_external.string(),
23
- pocPath: exports_external.string(),
24
- remediation: exports_external.string(),
25
- references: exports_external.string().optional(),
26
- cwes: exports_external.array(ValidatedCweEntrySchema.or(CweEntrySchema)).optional(),
27
- rootCauseGroup: exports_external.string().optional(),
28
- relatedFindings: exports_external.array(exports_external.string()).optional(),
29
- rootCauseLead: exports_external.boolean().optional(),
30
- evidenceFiles: exports_external.array(EvidenceFileEntrySchema).optional()
22
+ var PentestReportFindingSchema = object({
23
+ title: string(),
24
+ severity: _enum(["CRITICAL", "HIGH", "MEDIUM", "LOW"]),
25
+ description: string(),
26
+ impact: string(),
27
+ evidence: string(),
28
+ endpoint: string(),
29
+ pocPath: string(),
30
+ remediation: string(),
31
+ references: string().optional(),
32
+ cwes: array(ValidatedCweEntrySchema.or(CweEntrySchema)).optional(),
33
+ rootCauseGroup: string().optional(),
34
+ relatedFindings: array(string()).optional(),
35
+ rootCauseLead: boolean().optional(),
36
+ evidenceFiles: array(EvidenceFileEntrySchema).optional(),
37
+ attackPath: AttackPathSchema.optional()
31
38
  });
32
- var PentestReportSchema = exports_external.object({
33
- version: exports_external.string().regex(/^1\.\d+$/),
34
- metadata: exports_external.object({
35
- target: exports_external.string(),
36
- model: exports_external.string(),
37
- timestamp: exports_external.string(),
38
- sessionId: exports_external.string(),
39
- mode: exports_external.enum(["blackbox", "whitebox", "targeted"])
39
+ var PentestReportSchema = object({
40
+ version: string().regex(/^1\.\d+$/),
41
+ metadata: object({
42
+ target: string(),
43
+ model: string(),
44
+ timestamp: string(),
45
+ sessionId: string(),
46
+ mode: _enum(["blackbox", "whitebox", "targeted"])
40
47
  }),
41
- summary: exports_external.object({
42
- totalFindings: exports_external.number(),
43
- bySeverity: exports_external.object({
44
- CRITICAL: exports_external.number(),
45
- HIGH: exports_external.number(),
46
- MEDIUM: exports_external.number(),
47
- LOW: exports_external.number()
48
+ summary: object({
49
+ totalFindings: number(),
50
+ bySeverity: object({
51
+ CRITICAL: number(),
52
+ HIGH: number(),
53
+ MEDIUM: number(),
54
+ LOW: number()
48
55
  })
49
56
  }),
50
- findings: exports_external.array(PentestReportFindingSchema)
57
+ findings: array(PentestReportFindingSchema)
51
58
  });
52
59
  var REPORT_VERSION = "1.0";
53
60
 
@@ -86,7 +93,8 @@ function buildPentestReport(findings, context) {
86
93
  rootCauseGroup: f.rootCauseGroup,
87
94
  relatedFindings: f.relatedFindings,
88
95
  rootCauseLead: f.rootCauseLead,
89
- evidenceFiles: f.evidenceFiles
96
+ evidenceFiles: f.evidenceFiles,
97
+ attackPath: f.attackPath
90
98
  }))
91
99
  };
92
100
  }
@@ -141,6 +149,12 @@ function renderFinding(finding, metadata) {
141
149
  "",
142
150
  finding.impact,
143
151
  "",
152
+ ...finding.attackPath?.length ? [
153
+ "## Attack Path",
154
+ "",
155
+ ...finding.attackPath.map(renderAttackPathHop),
156
+ ""
157
+ ] : [],
144
158
  "## Evidence",
145
159
  "",
146
160
  "```",
@@ -187,6 +201,20 @@ function renderFinding(finding, metadata) {
187
201
  return lines.join(`
188
202
  `);
189
203
  }
204
+ function renderAttackPathHop(hop, index) {
205
+ const parts = [];
206
+ if (hop.applicationName)
207
+ parts.push(`**${hop.applicationName}**`);
208
+ if (hop.applicationId)
209
+ parts.push(`(\`${hop.applicationId}\`)`);
210
+ if (hop.host)
211
+ parts.push(`host \`${hop.host}\``);
212
+ if (hop.relationshipType)
213
+ parts.push(`via ${hop.relationshipType}`);
214
+ if (hop.notes)
215
+ parts.push(`— ${hop.notes}`);
216
+ return `${index + 1}. ${parts.join(" ") || "Unspecified system member"}`;
217
+ }
190
218
 
191
219
  // src/core/report/index.ts
192
220
  var REPORT_FILENAME_MD = "pentest-report.md";