@pensar/apex 0.0.90 → 0.0.91-canary.5fbb4998

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 (2) hide show
  1. package/build/index.js +92 -26
  2. package/package.json +1 -1
package/build/index.js CHANGED
@@ -31971,7 +31971,7 @@ var package_default2;
31971
31971
  var init_package = __esm(() => {
31972
31972
  package_default2 = {
31973
31973
  name: "@pensar/apex",
31974
- version: "0.0.90",
31974
+ version: "0.0.91-canary.5fbb4998",
31975
31975
  description: "AI-powered penetration testing CLI tool with terminal UI",
31976
31976
  module: "src/tui/index.tsx",
31977
31977
  main: "build/index.js",
@@ -89342,10 +89342,21 @@ var init_session = __esm(() => {
89342
89342
  };
89343
89343
  });
89344
89344
 
89345
+ // src/lib/cwe/types.ts
89346
+ var CweEntrySchema;
89347
+ var init_types2 = __esm(() => {
89348
+ init_zod();
89349
+ CweEntrySchema = exports_external.object({
89350
+ id: exports_external.string().regex(/^CWE-\d+$/, "Must be CWE-<number> format"),
89351
+ reasoning: exports_external.string().describe("Why this CWE applies to the observed vulnerability")
89352
+ });
89353
+ });
89354
+
89345
89355
  // src/core/report/schemas.ts
89346
89356
  var PentestReportFindingSchema, PentestReportSchema, REPORT_VERSION = "1.0";
89347
89357
  var init_schemas3 = __esm(() => {
89348
89358
  init_zod();
89359
+ init_types2();
89349
89360
  PentestReportFindingSchema = exports_external.object({
89350
89361
  title: exports_external.string(),
89351
89362
  severity: exports_external.enum(["CRITICAL", "HIGH", "MEDIUM", "LOW"]),
@@ -89355,7 +89366,8 @@ var init_schemas3 = __esm(() => {
89355
89366
  endpoint: exports_external.string(),
89356
89367
  pocPath: exports_external.string(),
89357
89368
  remediation: exports_external.string(),
89358
- references: exports_external.string().optional()
89369
+ references: exports_external.string().optional(),
89370
+ cwes: exports_external.array(CweEntrySchema).optional()
89359
89371
  });
89360
89372
  PentestReportSchema = exports_external.object({
89361
89373
  version: exports_external.string().regex(/^1\.\d+$/),
@@ -89469,6 +89481,12 @@ function renderFinding(finding, metadata) {
89469
89481
  finding.evidence,
89470
89482
  "```",
89471
89483
  "",
89484
+ ...finding.cwes?.length ? [
89485
+ "## CWE Classification",
89486
+ "",
89487
+ ...finding.cwes.map((cwe) => `- **${cwe.id}** — ${cwe.reasoning}`),
89488
+ ""
89489
+ ] : [],
89472
89490
  "## POC",
89473
89491
  "",
89474
89492
  `Path: \`${finding.pocPath}\``,
@@ -90220,7 +90238,7 @@ function loadAttackSurfaceResults2(resultsPath) {
90220
90238
  const data = readFileSync6(resultsPath, "utf-8");
90221
90239
  return JSON.parse(data);
90222
90240
  }
90223
- var init_types2 = () => {};
90241
+ var init_types3 = () => {};
90224
90242
 
90225
90243
  // src/core/ai/index.ts
90226
90244
  var init_ai2 = __esm(() => {
@@ -90333,7 +90351,7 @@ var init_zod_compat = __esm(() => {
90333
90351
 
90334
90352
  // node_modules/@modelcontextprotocol/sdk/dist/esm/types.js
90335
90353
  var LATEST_PROTOCOL_VERSION = "2025-11-25", SUPPORTED_PROTOCOL_VERSIONS, RELATED_TASK_META_KEY = "io.modelcontextprotocol/related-task", JSONRPC_VERSION = "2.0", AssertObjectSchema, ProgressTokenSchema, CursorSchema, TaskCreationParamsSchema, TaskMetadataSchema, RelatedTaskMetadataSchema, RequestMetaSchema, BaseRequestParamsSchema, TaskAugmentedRequestParamsSchema, isTaskAugmentedRequestParams = (value) => TaskAugmentedRequestParamsSchema.safeParse(value).success, RequestSchema, NotificationsParamsSchema, NotificationSchema, ResultSchema, RequestIdSchema, JSONRPCRequestSchema, isJSONRPCRequest = (value) => JSONRPCRequestSchema.safeParse(value).success, JSONRPCNotificationSchema, isJSONRPCNotification = (value) => JSONRPCNotificationSchema.safeParse(value).success, JSONRPCResultResponseSchema, isJSONRPCResultResponse = (value) => JSONRPCResultResponseSchema.safeParse(value).success, ErrorCode, JSONRPCErrorResponseSchema, isJSONRPCErrorResponse = (value) => JSONRPCErrorResponseSchema.safeParse(value).success, JSONRPCMessageSchema, JSONRPCResponseSchema, EmptyResultSchema, CancelledNotificationParamsSchema, CancelledNotificationSchema, IconSchema, IconsSchema, BaseMetadataSchema, ImplementationSchema, FormElicitationCapabilitySchema, ElicitationCapabilitySchema, ClientTasksCapabilitySchema, ServerTasksCapabilitySchema, ClientCapabilitiesSchema, InitializeRequestParamsSchema, InitializeRequestSchema, ServerCapabilitiesSchema, InitializeResultSchema, InitializedNotificationSchema, PingRequestSchema, ProgressSchema, ProgressNotificationParamsSchema, ProgressNotificationSchema, PaginatedRequestParamsSchema, PaginatedRequestSchema, PaginatedResultSchema, TaskStatusSchema, TaskSchema, CreateTaskResultSchema, TaskStatusNotificationParamsSchema, TaskStatusNotificationSchema, GetTaskRequestSchema, GetTaskResultSchema, GetTaskPayloadRequestSchema, GetTaskPayloadResultSchema, ListTasksRequestSchema, ListTasksResultSchema, CancelTaskRequestSchema, CancelTaskResultSchema, ResourceContentsSchema, TextResourceContentsSchema, Base64Schema, BlobResourceContentsSchema, RoleSchema, AnnotationsSchema, ResourceSchema, ResourceTemplateSchema, ListResourcesRequestSchema, ListResourcesResultSchema, ListResourceTemplatesRequestSchema, ListResourceTemplatesResultSchema, ResourceRequestParamsSchema, ReadResourceRequestParamsSchema, ReadResourceRequestSchema, ReadResourceResultSchema, ResourceListChangedNotificationSchema, SubscribeRequestParamsSchema, SubscribeRequestSchema, UnsubscribeRequestParamsSchema, UnsubscribeRequestSchema, ResourceUpdatedNotificationParamsSchema, ResourceUpdatedNotificationSchema, PromptArgumentSchema, PromptSchema, ListPromptsRequestSchema, ListPromptsResultSchema, GetPromptRequestParamsSchema, GetPromptRequestSchema, TextContentSchema, ImageContentSchema, AudioContentSchema, ToolUseContentSchema, EmbeddedResourceSchema, ResourceLinkSchema, ContentBlockSchema, PromptMessageSchema, GetPromptResultSchema, PromptListChangedNotificationSchema, ToolAnnotationsSchema, ToolExecutionSchema, ToolSchema, ListToolsRequestSchema, ListToolsResultSchema, CallToolResultSchema, CompatibilityCallToolResultSchema, CallToolRequestParamsSchema, CallToolRequestSchema, ToolListChangedNotificationSchema, ListChangedOptionsBaseSchema, LoggingLevelSchema, SetLevelRequestParamsSchema, SetLevelRequestSchema, LoggingMessageNotificationParamsSchema, LoggingMessageNotificationSchema, ModelHintSchema, ModelPreferencesSchema, ToolChoiceSchema, ToolResultContentSchema, SamplingContentSchema, SamplingMessageContentBlockSchema, SamplingMessageSchema, CreateMessageRequestParamsSchema, CreateMessageRequestSchema, CreateMessageResultSchema, CreateMessageResultWithToolsSchema, BooleanSchemaSchema, StringSchemaSchema, NumberSchemaSchema, UntitledSingleSelectEnumSchemaSchema, TitledSingleSelectEnumSchemaSchema, LegacyTitledEnumSchemaSchema, SingleSelectEnumSchemaSchema, UntitledMultiSelectEnumSchemaSchema, TitledMultiSelectEnumSchemaSchema, MultiSelectEnumSchemaSchema, EnumSchemaSchema, PrimitiveSchemaDefinitionSchema, ElicitRequestFormParamsSchema, ElicitRequestURLParamsSchema, ElicitRequestParamsSchema, ElicitRequestSchema, ElicitationCompleteNotificationParamsSchema, ElicitationCompleteNotificationSchema, ElicitResultSchema, ResourceTemplateReferenceSchema, PromptReferenceSchema, CompleteRequestParamsSchema, CompleteRequestSchema, CompleteResultSchema, RootSchema, ListRootsRequestSchema, ListRootsResultSchema, RootsListChangedNotificationSchema, ClientRequestSchema, ClientNotificationSchema, ClientResultSchema, ServerRequestSchema, ServerNotificationSchema, ServerResultSchema, McpError, UrlElicitationRequiredError;
90336
- var init_types3 = __esm(() => {
90354
+ var init_types4 = __esm(() => {
90337
90355
  init_v4();
90338
90356
  SUPPORTED_PROTOCOL_VERSIONS = [LATEST_PROTOCOL_VERSION, "2025-06-18", "2025-03-26", "2024-11-05", "2024-10-07"];
90339
90357
  AssertObjectSchema = custom2((v2) => v2 !== null && (typeof v2 === "object" || typeof v2 === "function"));
@@ -92234,7 +92252,7 @@ function mergeCapabilities(base, additional) {
92234
92252
  var DEFAULT_REQUEST_TIMEOUT_MSEC = 60000;
92235
92253
  var init_protocol = __esm(() => {
92236
92254
  init_zod_compat();
92237
- init_types3();
92255
+ init_types4();
92238
92256
  init_zod_json_schema_compat();
92239
92257
  });
92240
92258
 
@@ -104284,7 +104302,7 @@ class ExperimentalClientTasks {
104284
104302
  }
104285
104303
  }
104286
104304
  var init_client = __esm(() => {
104287
- init_types3();
104305
+ init_types4();
104288
104306
  });
104289
104307
 
104290
104308
  // node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/helpers.js
@@ -104367,7 +104385,7 @@ function getSupportedElicitationModes(capabilities) {
104367
104385
  var Client;
104368
104386
  var init_client2 = __esm(() => {
104369
104387
  init_protocol();
104370
- init_types3();
104388
+ init_types4();
104371
104389
  init_ajv_provider();
104372
104390
  init_zod_compat();
104373
104391
  init_client();
@@ -105282,7 +105300,7 @@ function serializeMessage(message) {
105282
105300
  `;
105283
105301
  }
105284
105302
  var init_stdio = __esm(() => {
105285
- init_types3();
105303
+ init_types4();
105286
105304
  });
105287
105305
 
105288
105306
  // node_modules/@modelcontextprotocol/sdk/dist/esm/client/stdio.js
@@ -107192,7 +107210,7 @@ function getSeverityFromScore(score) {
107192
107210
  return "HIGH";
107193
107211
  return "CRITICAL";
107194
107212
  }
107195
- var init_types4 = () => {};
107213
+ var init_types5 = () => {};
107196
107214
 
107197
107215
  // src/lib/cvss/macrovector-scores.ts
107198
107216
  var MACROVECTOR_LOOKUP, METRIC_LEVELS, MAX_SEVERITY, STEP = 0.1, EPSILON;
@@ -107766,7 +107784,7 @@ function getScoreType(metrics) {
107766
107784
  }
107767
107785
  var BASE_METRICS, THREAT_METRICS, ENVIRONMENTAL_METRICS, SUPPLEMENTAL_METRICS;
107768
107786
  var init_calculator = __esm(() => {
107769
- init_types4();
107787
+ init_types5();
107770
107788
  init_macrovector_scores();
107771
107789
  BASE_METRICS = [
107772
107790
  "AV",
@@ -107803,7 +107821,7 @@ var init_calculator = __esm(() => {
107803
107821
 
107804
107822
  // src/lib/cvss/index.ts
107805
107823
  var init_cvss = __esm(() => {
107806
- init_types4();
107824
+ init_types5();
107807
107825
  init_calculator();
107808
107826
  init_macrovector_scores();
107809
107827
  });
@@ -107828,7 +107846,8 @@ async function scoreFindingWithCVSS(input, model, authConfig, abortSignal) {
107828
107846
  vectorString: cvssResult.vectorString,
107829
107847
  metrics: cvssResult.metrics,
107830
107848
  scoreType: cvssResult.scoreType,
107831
- reasoning: assessment.reasoning
107849
+ reasoning: assessment.reasoning,
107850
+ cwes: assessment.cwes
107832
107851
  };
107833
107852
  }
107834
107853
  function truncateField(value, limit) {
@@ -108012,11 +108031,45 @@ var CVSSMetricsOutputSchema, CVSS_SCORER_SYSTEM_PROMPT = `You are a CVSS 4.0 sco
108012
108031
  6. Assess impact on both the vulnerable system AND potential subsequent systems
108013
108032
  7. Since a POC exists and confirmed the vulnerability, E should typically be 'A'
108014
108033
 
108015
- Always provide brief reasoning explaining your key decisions.`, MAX_EVIDENCE_CHARS = 1e4, MAX_DESCRIPTION_CHARS = 3000, MAX_IMPACT_CHARS = 2000;
108034
+ Always provide brief reasoning explaining your key decisions.
108035
+
108036
+ ## CWE Assignment Guidelines
108037
+
108038
+ In addition to CVSS metrics, assign one or more CWE identifiers to the finding. For each CWE, provide a brief reasoning explaining why it applies.
108039
+
108040
+ ### Common CWE Mappings
108041
+
108042
+ | Vulnerability Class | Primary CWE | Related CWEs |
108043
+ |---------------------|------------|--------------|
108044
+ | SQL Injection | CWE-89 | CWE-564 (Hibernate), CWE-943 (NoSQL) |
108045
+ | Cross-Site Scripting (XSS) | CWE-79 | CWE-80 (Basic XSS), CWE-87 (Alt XSS) |
108046
+ | Command/OS Injection | CWE-78 | CWE-77 (Command Injection) |
108047
+ | Code Injection / RCE | CWE-94 | CWE-95 (Eval Injection), CWE-96 (Static Code Injection) |
108048
+ | IDOR / Access Control | CWE-639 | CWE-284 (Improper Access Control), CWE-862 (Missing AuthZ) |
108049
+ | SSRF | CWE-918 | — |
108050
+ | Path Traversal / LFI | CWE-22 | CWE-23 (Relative Path), CWE-36 (Absolute Path) |
108051
+ | XXE | CWE-611 | CWE-776 (Recursive Entity) |
108052
+ | SSTI | CWE-1336 | CWE-94 (Code Injection) |
108053
+ | CSRF | CWE-352 | — |
108054
+ | Deserialization | CWE-502 | — |
108055
+ | Open Redirect | CWE-601 | — |
108056
+ | Information Disclosure | CWE-200 | CWE-209 (Error Messages), CWE-532 (Log Files) |
108057
+ | Authentication Bypass | CWE-287 | CWE-306 (Missing Auth) |
108058
+ | Cryptographic Issues | CWE-327 | CWE-328 (Weak Hash), CWE-330 (Insufficient Randomness) |
108059
+
108060
+ ### CWE Assignment Rules
108061
+
108062
+ 1. Assign the **most specific applicable CWE(s)** — prefer CWE-89 (SQL Injection) over CWE-74 (generic Injection).
108063
+ 2. Use the standard \`CWE-<number>\` format (e.g., CWE-89, not "CWE 89" or "89").
108064
+ 3. Assign **1-3 CWEs** per finding. Multiple CWEs are appropriate when the vulnerability spans categories (e.g., an IDOR that also leaks PII: CWE-639 + CWE-200).
108065
+ 4. Order CWEs by relevance — the primary weakness first.
108066
+ 5. When the vulnerability class is provided, use it as a strong hint but verify against the evidence.
108067
+ 6. For each CWE, provide a specific reasoning explaining why it applies to *this* finding — not a generic definition of the CWE.`, MAX_EVIDENCE_CHARS = 1e4, MAX_DESCRIPTION_CHARS = 3000, MAX_IMPACT_CHARS = 2000;
108016
108068
  var init_cvssScorer = __esm(() => {
108017
108069
  init_zod();
108018
108070
  init_ai2();
108019
108071
  init_cvss();
108072
+ init_types2();
108020
108073
  CVSSMetricsOutputSchema = exports_external.object({
108021
108074
  metrics: exports_external.object({
108022
108075
  AV: exports_external.enum(["N", "A", "L", "P"]).describe("Attack Vector: N=Network (remotely exploitable), A=Adjacent network, L=Local access required, P=Physical access required"),
@@ -108032,7 +108085,8 @@ var init_cvssScorer = __esm(() => {
108032
108085
  SA: exports_external.enum(["H", "L", "N"]).describe("Availability Impact on Subsequent Systems: H=High, L=Low, N=None"),
108033
108086
  E: exports_external.enum(["A", "P", "U"]).describe("Exploit Maturity: A=Attacked (working exploit exists), P=POC available, U=Unreported")
108034
108087
  }),
108035
- reasoning: exports_external.string().describe("Brief explanation (2-3 sentences) of the key factors that influenced the metric choices")
108088
+ reasoning: exports_external.string().describe("Brief explanation (2-3 sentences) of the key factors that influenced the metric choices"),
108089
+ cwes: exports_external.array(CweEntrySchema).describe("CWE classifications for this vulnerability, most specific first")
108036
108090
  });
108037
108091
  });
108038
108092
 
@@ -108057,7 +108111,8 @@ FINDING STRUCTURE:
108057
108111
  - Impact: Business and technical consequences if exploited
108058
108112
  - Evidence: Commands run, responses received, proof of exploitation
108059
108113
  - Remediation: Specific, actionable steps to fix
108060
- - References: CVE, CWE, OWASP, or security advisories`,
108114
+ - References: CVE, CWE, OWASP, or security advisories
108115
+ - Vulnerability Class: The class of vulnerability (e.g., sqli, xss, command-injection) — improves CWE accuracy`,
108061
108116
  inputSchema: documentVulnerabilityInputSchema,
108062
108117
  execute: async (input) => {
108063
108118
  try {
@@ -108082,7 +108137,8 @@ FINDING STRUCTURE:
108082
108137
  impact: input.impact,
108083
108138
  evidence: evidenceForPrompt,
108084
108139
  endpoint: input.endpoint,
108085
- remediation: input.remediation
108140
+ remediation: input.remediation,
108141
+ vulnerabilityClass: input.vulnerabilityClass
108086
108142
  },
108087
108143
  agentMessages: []
108088
108144
  }, ctx4.model, ctx4.authConfig, ctx4.abortSignal);
@@ -108115,6 +108171,7 @@ FINDING STRUCTURE:
108115
108171
  sessionId: session.id,
108116
108172
  target: session.targets[0],
108117
108173
  ...evidenceFilePath && { evidenceFile: evidenceFilePath },
108174
+ cwes: cvssResult.cwes,
108118
108175
  cvss: {
108119
108176
  score: cvssResult.score,
108120
108177
  severity: cvssResult.severity,
@@ -108144,6 +108201,10 @@ FINDING STRUCTURE:
108144
108201
  **Score Type:** ${cvssResult.scoreType}
108145
108202
 
108146
108203
  **Reasoning:** ${cvssResult.reasoning}`;
108204
+ const cweSection = cvssResult.cwes?.length ? `## CWE Classification
108205
+
108206
+ ${cvssResult.cwes.map((cwe) => `- **${cwe.id}** — ${cwe.reasoning}`).join(`
108207
+ `)}` : "";
108147
108208
  const evidenceSection = evidenceFilePath ? `## Evidence
108148
108209
 
108149
108210
  \`\`\`
@@ -108175,7 +108236,9 @@ ${finding.impact}
108175
108236
 
108176
108237
  ${cvssSection}
108177
108238
 
108178
- ${evidenceSection}
108239
+ ${cweSection ? `${cweSection}
108240
+
108241
+ ` : ""}${evidenceSection}
108179
108242
 
108180
108243
  ## POC
108181
108244
 
@@ -108195,7 +108258,8 @@ ${finding.references}` : ""}
108195
108258
  `;
108196
108259
  writeFileSync7(mdPath, markdown);
108197
108260
  const summaryPath = join11(session.rootPath, "findings-summary.md");
108198
- const summaryEntry = `- [${finding.severity}] (CVSS ${cvssResult.score}) ${finding.title} - \`findings/${mdFilename}\`
108261
+ const cweTag = cvssResult.cwes?.length ? ` (${cvssResult.cwes.map((c) => c.id).join(", ")})` : "";
108262
+ const summaryEntry = `- [${finding.severity}] (CVSS ${cvssResult.score})${cweTag} ${finding.title} - \`findings/${mdFilename}\`
108199
108263
  `;
108200
108264
  try {
108201
108265
  appendFileSync2(summaryPath, summaryEntry);
@@ -108248,6 +108312,7 @@ var init_documentFinding = __esm(() => {
108248
108312
  pocPath: exports_external.string().describe("Relative path to the POC script (e.g., pocs/poc_sqli.sh)"),
108249
108313
  remediation: exports_external.string().describe("Steps to fix the issue"),
108250
108314
  references: exports_external.string().optional().describe("CVE, CWE, or related references"),
108315
+ vulnerabilityClass: exports_external.string().optional().describe("The class of vulnerability (e.g., sqli, xss, command-injection, idor, ssrf, path-traversal, crypto, cve)"),
108251
108316
  toolCallDescription: exports_external.string().describe("A concise, human-readable description of what this tool call is doing (e.g., 'Documenting SQL injection finding')")
108252
108317
  });
108253
108318
  FALLBACK_CVSS = {
@@ -108269,7 +108334,8 @@ var init_documentFinding = __esm(() => {
108269
108334
  E: "A"
108270
108335
  },
108271
108336
  scoreType: "CVSS-BT",
108272
- reasoning: "CVSS scoring unavailable — using conservative MEDIUM default."
108337
+ reasoning: "CVSS scoring unavailable — using conservative MEDIUM default.",
108338
+ cwes: []
108273
108339
  };
108274
108340
  });
108275
108341
 
@@ -110904,7 +110970,7 @@ For each app you identified, spawn a coding agent with a detailed objective. The
110904
110970
 
110905
110971
  // src/core/agents/specialized/whiteboxAttackSurface/types.ts
110906
110972
  var RiskScoreBreakdownSchema, RiskScoreSchema, EndpointSchema, AppSchema, WhiteboxAttackSurfaceResultSchema;
110907
- var init_types5 = __esm(() => {
110973
+ var init_types6 = __esm(() => {
110908
110974
  init_zod();
110909
110975
  RiskScoreBreakdownSchema = exports_external.object({
110910
110976
  exposure: exports_external.number().min(0).max(3).describe("Exposure Level (0-3): 3=Public no auth, 2=Standard user login, 1=Privileged/admin access, 0=Private/internal-only"),
@@ -110978,7 +111044,7 @@ var init_agent2 = __esm(() => {
110978
111044
  init_dist5();
110979
111045
  init_dist5();
110980
111046
  init_offensiveSecurityAgent();
110981
- init_types5();
111047
+ init_types6();
110982
111048
  WhiteboxAttackSurfaceAgent = class WhiteboxAttackSurfaceAgent extends OffensiveSecurityAgent {
110983
111049
  constructor(opts) {
110984
111050
  const {
@@ -193873,7 +193939,7 @@ function createInitialOperatorState(initialMode = "manual", requireApproval = tr
193873
193939
  };
193874
193940
  }
193875
193941
  var OPERATOR_STAGES, OperatorSettingsObject2;
193876
- var init_types6 = __esm(() => {
193942
+ var init_types7 = __esm(() => {
193877
193943
  init_zod();
193878
193944
  OPERATOR_STAGES = {
193879
193945
  setup: {
@@ -194071,11 +194137,11 @@ var init_approvalGate = __esm(() => {
194071
194137
 
194072
194138
  // src/core/operator/stageManager.ts
194073
194139
  var init_stageManager = __esm(() => {
194074
- init_types6();
194140
+ init_types7();
194075
194141
  });
194076
194142
  // src/core/operator/index.ts
194077
194143
  var init_operator = __esm(() => {
194078
- init_types6();
194144
+ init_types7();
194079
194145
  init_toolClassifier();
194080
194146
  init_approvalGate();
194081
194147
  init_stageManager();
@@ -194392,7 +194458,7 @@ var BlackboxAttackSurfaceAgent;
194392
194458
  var init_blackboxAgent = __esm(() => {
194393
194459
  init_dist5();
194394
194460
  init_utils2();
194395
- init_types2();
194461
+ init_types3();
194396
194462
  init_offensiveSecurityAgent();
194397
194463
  BlackboxAttackSurfaceAgent = class BlackboxAttackSurfaceAgent extends OffensiveSecurityAgent {
194398
194464
  constructor(opts) {
@@ -195369,7 +195435,7 @@ When your objective includes structured output, call \`response\` with your fina
195369
195435
  var init_whiteboxAttackSurface = __esm(() => {
195370
195436
  init_zod();
195371
195437
  init_agent3();
195372
- init_types5();
195438
+ init_types6();
195373
195439
  init_riskScoring();
195374
195440
  AppInfoSchema = exports_external.object({
195375
195441
  name: exports_external.string().describe("Application or service name"),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pensar/apex",
3
- "version": "0.0.90",
3
+ "version": "0.0.91-canary.5fbb4998",
4
4
  "description": "AI-powered penetration testing CLI tool with terminal UI",
5
5
  "module": "src/tui/index.tsx",
6
6
  "main": "build/index.js",