@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,14 +1,17 @@
1
1
  import {
2
2
  OffensiveSecurityAgent
3
- } from "./cli-repbyhkk.js";
3
+ } from "./cli-qkb3v2nw.js";
4
+ import {
5
+ stepCountIs2,
6
+ hasToolCall,
7
+ init_dist
8
+ } from "./cli-j1916nvj.js";
4
9
  import {
5
10
  detectOSAndEnhancePrompt
6
- } from "./cli-tznv8pf1.js";
11
+ } from "./cli-n4h7ygp5.js";
7
12
  import {
8
- hasToolCall,
9
- init_dist,
10
- stepCountIs
11
- } from "./cli-tkc598ey.js";
13
+ MOBILE_OTP_PROMPT_GUIDANCE
14
+ } from "./cli-retw3rw5.js";
12
15
 
13
16
  // src/core/agents/specialized/attackSurface/blackboxAgent.ts
14
17
  init_dist();
@@ -374,52 +377,25 @@ function loadAttackSurfaceResults(resultsPath) {
374
377
  }
375
378
 
376
379
  // src/core/agents/specialized/attackSurface/blackboxAgent.ts
377
- class BlackboxAttackSurfaceAgent extends OffensiveSecurityAgent {
380
+ class BlackboxAttackSurfaceAgent2 extends OffensiveSecurityAgent {
378
381
  constructor(opts) {
379
382
  const {
380
- model,
381
- session,
382
- authConfig,
383
+ target: targetOpt,
384
+ cwd,
385
+ surfaceIntegrationEnabled: _surfaceIntegrationEnabled,
383
386
  onStepFinish,
384
- onCacheMetrics,
385
- abortSignal,
386
- attackSurfaceRegistry,
387
- eventBus,
388
- subagentId,
389
- enableThinking,
390
- thinkingEffort,
391
- openAIReasoningEffort
387
+ ...base
392
388
  } = opts;
393
- const target = opts.target ?? opts.cwd;
394
- const resultsPath = join(session.rootPath, "attack-surface-results.json");
395
- const assetsPath = join(session.rootPath, "assets");
389
+ const target = targetOpt ?? cwd;
390
+ const { session } = base;
396
391
  const subagentFolder = join(session.rootPath, "subagents", "attack-surface-agent");
397
392
  if (!existsSync(subagentFolder)) {
398
393
  mkdirSync(subagentFolder, { recursive: true });
399
394
  }
400
395
  super({
401
- system: detectOSAndEnhancePrompt(SYSTEM),
402
- prompt: buildPrompt(target, session),
403
- model,
404
- session,
396
+ ...base,
405
397
  target,
406
- authConfig,
407
- onStepFinish: (e) => {
408
- onStepFinish?.(e);
409
- const messages = e.response.messages;
410
- if (messages !== undefined) {
411
- writeFileSync(join(subagentFolder, "attack-surface-agent.log"), JSON.stringify(messages, null, 2));
412
- }
413
- },
414
- onCacheMetrics,
415
- abortSignal,
416
- attackSurfaceRegistry,
417
- eventBus,
418
- subagentId,
419
- enableThinking,
420
- thinkingEffort,
421
- openAIReasoningEffort,
422
- messages: opts.messages,
398
+ system: detectOSAndEnhancePrompt(SYSTEM),
423
399
  activeTools: [
424
400
  "execute_command",
425
401
  "document_app",
@@ -438,15 +414,17 @@ class BlackboxAttackSurfaceAgent extends OffensiveSecurityAgent {
438
414
  "email_search_messages",
439
415
  "email_get_message",
440
416
  "send_email",
417
+ "sms_list_messages",
441
418
  "web_search",
442
419
  "get_page"
443
420
  ],
444
421
  stopWhen: [
445
422
  hasToolCall("create_attack_surface_report"),
446
- stepCountIs(1e4)
423
+ stepCountIs2(1e4)
447
424
  ],
448
- toolChoice: "auto",
449
425
  resolveResult: () => {
426
+ const resultsPath = join(session.rootPath, "attack-surface-results.json");
427
+ const assetsPath = join(session.rootPath, "assets");
450
428
  let results = null;
451
429
  let targets = [];
452
430
  if (existsSync(resultsPath)) {
@@ -456,11 +434,19 @@ class BlackboxAttackSurfaceAgent extends OffensiveSecurityAgent {
456
434
  } catch {}
457
435
  }
458
436
  return { results, targets, resultsPath, assetsPath };
437
+ },
438
+ prompt: buildBlackboxPrompt(target, session),
439
+ onStepFinish: (e) => {
440
+ onStepFinish?.(e);
441
+ const messages = e.response.messages;
442
+ if (messages !== undefined) {
443
+ writeFileSync(join(subagentFolder, "attack-surface-agent.log"), JSON.stringify(messages, null, 2));
444
+ }
459
445
  }
460
446
  });
461
447
  }
462
448
  }
463
- function buildPrompt(target, session) {
449
+ function buildBlackboxPrompt(target, session) {
464
450
  const scopeConstraints = session.config?.scopeConstraints;
465
451
  const authenticationInstructions = session.config?.authenticationInstructions;
466
452
  const enumerateSubdomains = session.config?.enumerateSubdomains ?? false;
@@ -483,6 +469,7 @@ ${authenticationInstructions}
483
469
  Your FIRST tool call must be: browser_navigate to ${loginTarget}
484
470
  Then use browser tools to authenticate. Pass the credentialId to delegate_to_auth_subagent — secrets are resolved automatically.
485
471
  For browser_fill on password/secret fields, use credentialId + credentialField instead of raw values.
472
+ ${MOBILE_OTP_PROMPT_GUIDANCE}
486
473
 
487
474
  Do NOT run curl, nmap, dig, or any other command before completing login.
488
475
  Include authentication information with EVERY target that requires it in your final report.
@@ -527,4 +514,4 @@ ${operatorGuidanceBlock}
527
514
  ${startDirective}`;
528
515
  }
529
516
 
530
- export { BlackboxAttackSurfaceAgent };
517
+ export { BlackboxAttackSurfaceAgent2 };
@@ -0,0 +1,15 @@
1
+ import {
2
+ __commonJS,
3
+ __require
4
+ } from "./cli-h6y3bt60.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 };
@@ -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 };
@@ -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/integrations/wandb/client.ts
9
9
  init_structured();