@pensar/apex 0.0.114 → 0.0.115-canary.08a8d5c0

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 (52) hide show
  1. package/README.md +7 -55
  2. package/build/agent-2f4q4n26.js +16 -0
  3. package/build/agent-rcm3mnb7.js +227 -0
  4. package/build/{auth-g7qfrmqn.js → auth-pvhyt24c.js} +4 -4
  5. package/build/{authentication-h92927qz.js → authentication-ak9yfwcr.js} +28 -20
  6. package/build/blackboxAgent-4j7yv30k.js +17 -0
  7. package/build/{blackboxPentest-34sfsskq.js → blackboxPentest-cmdqg2kf.js} +18 -14
  8. package/build/cli-217my1rx.js +1399 -0
  9. package/build/cli-2rfx3548.js +416 -0
  10. package/build/cli-3y0dgy56.js +48 -0
  11. package/build/{cli-z1s5njxn.js → cli-4cz845xw.js} +634 -24
  12. package/build/{cli-27bnjky6.js → cli-6f5bs0zb.js} +1 -1
  13. package/build/{cli-mx8pfb29.js → cli-6wbpbys5.js} +62 -29
  14. package/build/{cli-vnydvy0r.js → cli-8fxhbwz2.js} +2 -415
  15. package/build/{cli-zz9wwkqh.js → cli-9r9grmzr.js} +1 -1
  16. package/build/cli-fftcdrw7.js +7637 -0
  17. package/build/cli-fw5r7pfj.js +19 -0
  18. package/build/{cli-23qtjsce.js → cli-gdwss216.js} +1 -1
  19. package/build/{cli-9hp2khjx.js → cli-jycdef9r.js} +20 -8
  20. package/build/{cli-0r7qwt2h.js → cli-kt5y3cap.js} +121 -34
  21. package/build/{cli-phajnhzs.js → cli-m6xhh40a.js} +1624 -550
  22. package/build/{cli-s1dd4n9x.js → cli-mmm9mpgd.js} +7 -3
  23. package/build/{cli-xj88naps.js → cli-nbxjkzcb.js} +1 -1
  24. package/build/{cli-tj25jvz6.js → cli-p2q3a22n.js} +11 -1
  25. package/build/cli-pwawj18c.js +1267 -0
  26. package/build/{cli-49cd9yfk.js → cli-wszshs5e.js} +1 -1
  27. package/build/cli-yz80qkzn.js +60 -0
  28. package/build/cli.js +214 -37
  29. package/build/{fixes-d3mb7zr3.js → fixes-ggpvyn6r.js} +4 -4
  30. package/build/{index-gm4427rc.js → index-02a1q7cv.js} +2 -2
  31. package/build/{index-zyrn6ava.js → index-1h1krhpw.js} +5385 -6742
  32. package/build/{index-rd11fk7h.js → index-h2hj2hj9.js} +14 -14
  33. package/build/{index-mefzr77w.js → index-pc2frz1f.js} +19 -15
  34. package/build/{issues-gsfpfmwx.js → issues-rj9ga01f.js} +4 -4
  35. package/build/{logs-mgbbrr4b.js → logs-bkr0hj1b.js} +4 -4
  36. package/build/{multipart-parser-r38qdp5v.js → multipart-parser-6zd16497.js} +2 -2
  37. package/build/pentest-zhdgcg9t.js +27 -0
  38. package/build/{pentests-ey20zzez.js → pentests-7dcm44rp.js} +4 -4
  39. package/build/{projects-1z5x1bxj.js → projects-a714z52m.js} +4 -4
  40. package/build/targetedPentest-e1hnh3jm.js +33 -0
  41. package/build/threatModel-r6x6ea7w.js +62 -0
  42. package/build/{uninstall-b26ez5zf.js → uninstall-eq7wrg8n.js} +1 -1
  43. package/build/{utils-9fhmzzzh.js → utils-101g2kfx.js} +8 -4
  44. package/package.json +7 -3
  45. package/build/agent-jr0kf32x.js +0 -206
  46. package/build/agent-q0mhy72n.js +0 -16
  47. package/build/blackboxAgent-bgqz7n74.js +0 -17
  48. package/build/cli-0tpx8khk.js +0 -1358
  49. package/build/cli-5d6cs4dq.js +0 -53
  50. package/build/cli-xtccf5qk.js +0 -1498
  51. package/build/pentest-1cntf5yv.js +0 -25
  52. package/build/targetedPentest-yatr7brn.js +0 -32
package/README.md CHANGED
@@ -22,36 +22,6 @@ Want to run from the cloud or integrate it with your CI/CD? See <a href="https:/
22
22
  <img src="screenshot.png" alt="Pensar Apex Screenshot" width="800">
23
23
  </p> -->
24
24
 
25
- ## What is Apex?
26
-
27
- Apex is an autonomous penetration testing agent that runs directly in your terminal.
28
-
29
- It doesn't wrap existing scanners or chain shell scripts. Apex deploys a **swarm of specialized AI agents** — each with domain expertise in reconnaissance, authentication analysis, exploitation, and code review — that coordinate a real penetration test against your application. Every finding comes with CVSS 4.0 scoring, CWE classification, evidence, and a validated proof-of-concept.
30
-
31
- The result is a pentest that runs like `npm test` — but thinks like a red team.
32
-
33
- ## Why Apex?
34
-
35
- Traditional scanners execute signatures. Apex executes a methodology.
36
-
37
- - **Swarm architecture** - Specialized agents run in parallel across your attack surface, the same way a real red team divides and conquers. Up to 10 concurrent agents, each scoped to a specific objective.
38
- - **Structured, auditable output** - Every vulnerability is automatically scored (CVSS 4.0), classified (CWE), and documented with evidence and remediation steps. No raw tool dumps.
39
- - **Real exploitation, not guesswork** - Apex writes, runs, and validates proof-of-concept scripts. If the PoC doesn't succeed, it pivots to a different technique.
40
- - **Blackbox and whitebox** - Test a live target with no source access, or analyze your codebase to map endpoints and test them against a running instance.
41
- - **30+ built-in tools** - Browser automation, shell execution, HTTP requests, file analysis, web search for CVE lookups, authenticated crawling, and more. Optional Kali Linux container adds 25+ offensive security tools (nmap, sqlmap, hydra, hashcat, gobuster, and others).
42
-
43
- ## Two Modes
44
-
45
- ### `/pentest` — Autonomous
46
-
47
- Fire and forget. Apex runs a full engagement end-to-end: attack surface discovery, parallel swarm testing, and a structured report with findings in Markdown and JSON. No security expertise required.
48
-
49
- ### `/operator` — Interactive
50
-
51
- Full control. Steer the agent step by step, approve each action, chain exploits manually, and dig deep into specific targets. Every tool is available. The approval gate holds until you say go.
52
-
53
- Start with `/pentest` to get coverage, then reopen the session in `/operator` to investigate specific findings — all context carries over.
54
-
55
25
  ## Use Cases
56
26
 
57
27
  ### Developers
@@ -69,30 +39,12 @@ Start with `/pentest` to get coverage, then reopen the session in `/operator` to
69
39
 
70
40
  ## Installation
71
41
 
72
- #### macOS / Linux (Quick Install)
73
-
74
- ```bash
75
- curl -fsSL https://pensarai.com/install.sh | bash
76
- ```
77
-
78
- #### Homebrew
79
-
80
- ```bash
81
- brew tap pensarai/tap
82
- brew install apex
83
- ```
84
-
85
- #### npm
86
-
87
- ```bash
88
- npm install -g @pensar/apex
89
- ```
90
-
91
- #### Windows (PowerShell)
92
-
93
- ```powershell
94
- irm https://www.pensarai.com/apex.ps1 | iex
95
- ```
42
+ | Method | Command |
43
+ | ------------------------------- | ---------------------------------------------------- |
44
+ | **Quick Install** (macOS/Linux) | `curl -fsSL https://pensarai.com/install.sh \| bash` |
45
+ | **Homebrew** | `brew tap pensarai/tap && brew install apex` |
46
+ | **npm** | `npm install -g @pensar/apex` |
47
+ | **Windows** (PowerShell) | `irm https://www.pensarai.com/apex.ps1 \| iex` |
96
48
 
97
49
  ## Usage
98
50
 
@@ -123,5 +75,5 @@ pensar
123
75
 
124
76
  ### ⚠️ Responsible Use
125
77
 
126
- This repository contains tools for **authorized security testing** only.
78
+ This repository contains tools for **authorized security testing** only.
127
79
  Before use, please read and agree to the [Responsible Use Disclosure](./RESPONSIBLE_USE.md).
@@ -0,0 +1,16 @@
1
+ import {
2
+ CodeAgent
3
+ } from "./cli-jycdef9r.js";
4
+ import"./cli-m6xhh40a.js";
5
+ import"./cli-8fxhbwz2.js";
6
+ import"./cli-4cz845xw.js";
7
+ import"./cli-9r9grmzr.js";
8
+ import"./cli-6f5bs0zb.js";
9
+ import"./cli-nbxjkzcb.js";
10
+ import"./cli-mmm9mpgd.js";
11
+ import"./cli-217my1rx.js";
12
+ import"./cli-7ckctq7a.js";
13
+ import"./cli-8rxa073f.js";
14
+ export {
15
+ CodeAgent
16
+ };
@@ -0,0 +1,227 @@
1
+ import {
2
+ WhiteboxAttackSurfaceResultSchema
3
+ } from "./cli-p2q3a22n.js";
4
+ import {
5
+ OffensiveSecurityAgent
6
+ } from "./cli-m6xhh40a.js";
7
+ import"./cli-8fxhbwz2.js";
8
+ import {
9
+ hasToolCall,
10
+ tool
11
+ } from "./cli-4cz845xw.js";
12
+ import"./cli-9r9grmzr.js";
13
+ import"./cli-6f5bs0zb.js";
14
+ import"./cli-nbxjkzcb.js";
15
+ import"./cli-mmm9mpgd.js";
16
+ import"./cli-217my1rx.js";
17
+ import"./cli-7ckctq7a.js";
18
+ import"./cli-8rxa073f.js";
19
+
20
+ // src/core/agents/specialized/whiteboxAttackSurface/prompts.ts
21
+ var WHITEBOX_ATTACK_SURFACE_SYSTEM_PROMPT = `You are an expert source-code analyst and orchestrator. Your mission is to comprehensively map the attack surface of a codebase by analyzing its source code directly.
22
+
23
+ You operate completely autonomously. Do not ask for permission or wait for user input.
24
+
25
+ # Your Goal
26
+
27
+ Given a codebase path, you must:
28
+ 1. Identify the repository structure (monorepo vs single app, package manager, etc.)
29
+ 2. Discover every application/service defined in the repo
30
+ 3. For each app, enumerate ALL web pages and ALL API endpoints defined in the source code
31
+ 4. For each endpoint, generate specific pentest objectives
32
+
33
+ # Tools at Your Disposal
34
+
35
+ ## list_files
36
+ List directories to understand project structure. Start here.
37
+
38
+ ## read_file
39
+ Read config files, entry points, route definitions, etc.
40
+
41
+ ## grep
42
+ Your primary search tool. Use it to find route definitions, middleware, controllers, etc.
43
+
44
+ ## document_app
45
+ **Use this to document each application/service you identify.** Each call persists a JSON record to the session's apps directory. Document:
46
+ - Each application/service you identify (appType: "web_application" or "api")
47
+ - Notable subdomains hosting distinct services (appType: "subdomain")
48
+ - Cloud resources like S3 buckets, cloud storage, CDN origins (appType: "cloud_resource" or "storage")
49
+ - For S3 buckets: set \`domain\` to the **canonical virtual-hosted-style** endpoint (e.g. "https://bucket-name.s3.amazonaws.com") and use appType "storage". Do NOT use path-style URLs (e.g. "https://s3.amazonaws.com/bucket-name").
50
+ - For other cloud resources: set \`domain\` to the primary/canonical resource endpoint and use appType "cloud_resource"
51
+ - If known domains are provided, set the \`domain\` field to associate the app with the correct domain
52
+
53
+ ## document_endpoint
54
+ **This is your primary output tool for endpoints.** Each call persists a JSON record to the session's endpoints directory, organized by app. Document:
55
+ - Individual API endpoints and web pages
56
+
57
+ **CRITICAL — endpoint documentation rules:**
58
+ - **ONE endpoint per unique route path.** Do NOT create separate entries for different HTTP methods on the same path. If \`/api/users\` supports GET, POST, and DELETE, that is ONE entry with \`method: ["GET", "POST", "DELETE"]\`.
59
+ - **Use \`method: "PAGE"\`** for web pages and views.
60
+ - **Always set \`appName\`** to group endpoints under the correct application.
61
+ - **Always set \`routePath\`** to the HTTP route (e.g., \`/api/users\`). This is the URL path a client requests — NOT a source-file path.
62
+ - **Always set \`file\`** to the source-code file (e.g., \`src/routes/users.ts\`). This is NOT the HTTP route.
63
+ - **Always set \`handler\`** to the function name, and \`authRequired\` to indicate auth requirements.
64
+
65
+ Call these tools throughout your analysis as you discover apps and endpoints — don't wait until the end.
66
+
67
+ ## spawn_coding_agent
68
+ **This is your key tool for scaling out analysis.** Spawn coding sub-agents to analyze individual apps in parallel for higher fidelity. Each sub-agent has full filesystem access (read_file, list_files, grep, execute_command) and the document_app/document_endpoint tools.
69
+
70
+ ## submit_results
71
+ Call this LAST with your complete structured results. This ends your run.
72
+
73
+ # Methodology
74
+
75
+ ## Phase 1: REPO IDENTIFICATION (do this yourself — it's fast)
76
+ 1. List the root directory
77
+ 2. Read the top-level config files to determine:
78
+ - Package manager (package.json → npm/yarn/pnpm, requirements.txt → pip, Cargo.toml → cargo, go.mod → go, etc.)
79
+ - Repo structure (workspaces field in package.json → monorepo, multiple service dirs → multi-package, etc.)
80
+ 3. Identify all apps/services — look for:
81
+ - Monorepo workspace packages with their own entry points
82
+ - Separate service directories with their own configs
83
+ - A single app at the root
84
+ 4. Discover cloud resources and external infrastructure referenced in the code:
85
+ - S3 buckets, GCS buckets, Azure Blob Storage (search for bucket names, s3://, storage URLs)
86
+ - CDN distributions (CloudFront, Cloudflare)
87
+ - Infrastructure-as-code definitions (Terraform, CloudFormation, CDK, SST, Pulumi, serverless.yml)
88
+ - Document each as an app with appType "cloud_resource" or "storage" and set the \`domain\` to the **canonical** resource endpoint
89
+ - **S3 canonical URL:** Always use virtual-hosted-style "https://bucket-name.s3.amazonaws.com" (or with region: "https://bucket-name.s3.us-east-1.amazonaws.com"). Never use path-style "https://s3.amazonaws.com/bucket-name".
90
+ - **Do NOT document alternative URL formats** as separate endpoints — only document the canonical/primary URL and any distinct functional paths under it
91
+
92
+ ## Phase 2: APP ANALYSIS (delegate to coding agents)
93
+ For each app you identified, spawn a coding agent with a detailed objective. The objective should instruct the agent to:
94
+
95
+ 1. **Identify the framework** — read the app's config/entry point to determine the web framework
96
+ 2. **Document the application** — call \`document_app\` with the app name, type, and framework
97
+ 3. **Find ALL web pages** — search for page/view/route definitions and document each with \`document_endpoint\` using \`method: "PAGE"\`
98
+ 4. **Find ALL API endpoints** — search for route/endpoint definitions and document each unique path with \`document_endpoint\`, listing ALL HTTP methods in \`method\`
99
+ 5. **For each endpoint, include** in the document_endpoint call:
100
+ - HTTP route in \`routePath\` (e.g., \`/api/users\`) — this is the URL path, NOT a file path
101
+ - ALL HTTP methods in \`method\` (consolidated — one entry per path)
102
+ - Handler function in \`handler\`
103
+ - Source-code file in \`file\` (e.g., \`src/routes/users.ts\`) — this is NOT the route
104
+ - Line number in \`line\`
105
+ - Auth requirement in \`authRequired\`
106
+ - Specific pentest objectives in \`pentestObjectives\`
107
+
108
+ **IMPORTANT:** Tell each coding agent to set \`appName\` on every \`document_endpoint\` call so endpoints are organized by application.
109
+
110
+ ## Phase 3: COLLECT AND SUBMIT (do this yourself)
111
+ 1. Parse the output from all coding agents
112
+ 2. Assemble the complete structured result
113
+ 3. Call \`submit_results\` with the full data
114
+
115
+ # Guidelines
116
+ - Be thorough — every endpoint matters. Don't skip files or directories.
117
+ - Delegate aggressively — spawn coding agents for each app to get high-fidelity results.
118
+ - Give coding agents VERY detailed objectives — they work best with specific instructions about what to search for and how to report it.
119
+ - Don't duplicate work — let the coding agents do the deep file-by-file analysis.
120
+ - When in doubt about repo structure, read more config files before deciding.
121
+ `;
122
+
123
+ // src/core/agents/specialized/whiteboxAttackSurface/agent.ts
124
+ class WhiteboxAttackSurfaceAgent extends OffensiveSecurityAgent {
125
+ constructor(opts) {
126
+ const {
127
+ model,
128
+ codebasePath,
129
+ session,
130
+ authConfig,
131
+ onStepFinish,
132
+ abortSignal,
133
+ eventBus,
134
+ subagentId,
135
+ attackSurfaceRegistry,
136
+ domains,
137
+ enableThinking
138
+ } = opts;
139
+ let capturedResult = null;
140
+ const submitResultsTool = tool({
141
+ description: `Submit the final whitebox attack surface analysis results.
142
+
143
+ Call this ONCE at the end with your complete structured findings.
144
+ This ends the agent run — make sure all data is included.`,
145
+ inputSchema: WhiteboxAttackSurfaceResultSchema,
146
+ execute: async (results) => {
147
+ capturedResult = results;
148
+ return { success: true, message: "Results submitted." };
149
+ }
150
+ });
151
+ super({
152
+ system: WHITEBOX_ATTACK_SURFACE_SYSTEM_PROMPT,
153
+ prompt: buildPrompt(codebasePath, domains, session.config?.prompt),
154
+ model,
155
+ session,
156
+ authConfig,
157
+ onStepFinish,
158
+ abortSignal,
159
+ eventBus,
160
+ subagentId,
161
+ attackSurfaceRegistry,
162
+ enableThinking,
163
+ activeTools: [
164
+ "read_file",
165
+ "list_files",
166
+ "grep",
167
+ "document_app",
168
+ "document_endpoint",
169
+ "spawn_coding_agent",
170
+ "submit_results"
171
+ ],
172
+ extraTools: {
173
+ submit_results: submitResultsTool
174
+ },
175
+ stopWhen: hasToolCall("submit_results"),
176
+ resolveResult: () => {
177
+ if (capturedResult) {
178
+ return capturedResult;
179
+ }
180
+ return {
181
+ repoType: "unknown",
182
+ packageManager: "unknown",
183
+ apps: [],
184
+ summary: {
185
+ totalApps: 0,
186
+ totalPages: 0,
187
+ totalApiEndpoints: 0,
188
+ totalPentestObjectives: 0
189
+ }
190
+ };
191
+ }
192
+ });
193
+ }
194
+ }
195
+ function buildPrompt(codebasePath, domains, operatorPrompt) {
196
+ const domainSection = domains?.length ? `
197
+ ## Known Domains
198
+ The following domains are associated with this project. When documenting apps, set the \`domain\` field on \`document_app\` if you can determine which domain serves the app:
199
+ ${domains.map((d) => `- ${d}`).join(`
200
+ `)}
201
+ ` : "";
202
+ const operatorGuidanceBlock = operatorPrompt ? `
203
+ ## Operator Guidance
204
+ ${operatorPrompt}
205
+ ` : "";
206
+ return `# Whitebox Attack Surface Analysis
207
+
208
+ ## Codebase
209
+ - **Path:** ${codebasePath}
210
+ ${domainSection}${operatorGuidanceBlock}
211
+ ## Task
212
+ Analyze this codebase and produce a complete attack surface map:
213
+ 1. Identify the repo type and package manager
214
+ 2. Discover all apps/services
215
+ 3. Discover cloud resources and external infrastructure referenced in the code (S3 buckets, cloud storage, CDN origins, etc.) — document these as apps with the appropriate type
216
+ 4. For each app, find all web pages and API endpoints
217
+ 5. For each endpoint, generate pentest objectives
218
+
219
+ Use \`spawn_coding_agent\` to delegate app-level analysis for higher fidelity.
220
+
221
+ When finished, call \`submit_results\` with the complete structured output.
222
+
223
+ Begin now.`;
224
+ }
225
+ export {
226
+ WhiteboxAttackSurfaceAgent
227
+ };
@@ -8,14 +8,14 @@ import {
8
8
  pollWorkOSToken,
9
9
  selectWorkspace,
10
10
  startDeviceFlow
11
- } from "./cli-zz9wwkqh.js";
11
+ } from "./cli-9r9grmzr.js";
12
12
  import {
13
13
  config,
14
14
  getPensarApiUrl,
15
15
  getPensarConsoleUrl
16
- } from "./cli-27bnjky6.js";
17
- import"./cli-xj88naps.js";
18
- import"./cli-s1dd4n9x.js";
16
+ } from "./cli-6f5bs0zb.js";
17
+ import"./cli-nbxjkzcb.js";
18
+ import"./cli-mmm9mpgd.js";
19
19
  import {
20
20
  __require
21
21
  } from "./cli-8rxa073f.js";
@@ -3,16 +3,16 @@ import {
3
3
  } from "./cli-6gtnyaqf.js";
4
4
  import {
5
5
  OffensiveSecurityAgent
6
- } from "./cli-phajnhzs.js";
7
- import"./cli-vnydvy0r.js";
6
+ } from "./cli-m6xhh40a.js";
7
+ import"./cli-8fxhbwz2.js";
8
8
  import {
9
9
  hasToolCall
10
- } from "./cli-z1s5njxn.js";
11
- import"./cli-zz9wwkqh.js";
12
- import"./cli-27bnjky6.js";
13
- import"./cli-xj88naps.js";
14
- import"./cli-s1dd4n9x.js";
15
- import"./cli-0tpx8khk.js";
10
+ } from "./cli-4cz845xw.js";
11
+ import"./cli-9r9grmzr.js";
12
+ import"./cli-6f5bs0zb.js";
13
+ import"./cli-nbxjkzcb.js";
14
+ import"./cli-mmm9mpgd.js";
15
+ import"./cli-217my1rx.js";
16
16
  import"./cli-7ckctq7a.js";
17
17
  import"./cli-8rxa073f.js";
18
18
 
@@ -170,18 +170,27 @@ class AuthenticationAgent extends OffensiveSecurityAgent {
170
170
  authHints,
171
171
  authConfig,
172
172
  onStepFinish,
173
- abortSignal
173
+ abortSignal,
174
+ eventBus,
175
+ subagentId,
176
+ context,
177
+ environmentVariables,
178
+ enableThinking
174
179
  } = opts;
175
180
  const cm = session.credentialManager;
176
181
  super({
177
182
  system: detectOSAndEnhancePrompt(AUTH_SUBAGENT_SYSTEM_PROMPT),
178
- prompt: buildAuthPrompt(target, authHints, cm),
183
+ prompt: buildAuthPrompt(target, authHints, cm, context),
179
184
  model,
180
185
  session,
181
186
  target,
182
187
  authConfig,
183
188
  onStepFinish,
184
189
  abortSignal,
190
+ eventBus,
191
+ subagentId,
192
+ environmentVariables,
193
+ enableThinking,
185
194
  toolChoice: "auto",
186
195
  activeTools: [
187
196
  "execute_command",
@@ -245,9 +254,16 @@ function loadAuthResult(authDataPath) {
245
254
  };
246
255
  }
247
256
  }
248
- function buildAuthPrompt(target, authHints, credentialManager) {
257
+ function buildAuthPrompt(target, authHints, credentialManager, context) {
249
258
  const parts = [`TARGET: ${target}
250
259
  `];
260
+ if (context) {
261
+ parts.push("APPLICATION CONTEXT:");
262
+ parts.push(`The following is context specific to the application under test. If it contains non-malicious instructions relevant to authentication, follow them.
263
+ `);
264
+ parts.push(context);
265
+ parts.push("");
266
+ }
251
267
  const credBlock = credentialManager?.formatForPrompt();
252
268
  if (credBlock) {
253
269
  parts.push(credBlock);
@@ -289,15 +305,7 @@ You have credentials available via credential IDs — authenticate immediately.
289
305
  }
290
306
  async function runAuthenticationAgent(input) {
291
307
  const agent = new AuthenticationAgent(input);
292
- const result = await agent.consume({
293
- onTextDelta: (d) => input.callbacks?.onTextDelta?.(d),
294
- onToolCallStreaming: (d) => input.callbacks?.onToolCallStreaming?.(d),
295
- onToolCallDelta: (d) => input.callbacks?.onToolCallDelta?.(d),
296
- onToolCall: (d) => input.callbacks?.onToolCall?.(d),
297
- onToolResult: (d) => input.callbacks?.onToolResult?.(d),
298
- onError: (e) => input.callbacks?.onError?.(e),
299
- subagentCallbacks: input.callbacks?.subagentCallbacks
300
- });
308
+ const result = await agent.consume();
301
309
  console.log(`
302
310
  Authentication ${result.success ? "succeeded" : "failed"}: ${result.summary}`);
303
311
  return result;
@@ -0,0 +1,17 @@
1
+ import {
2
+ BlackboxAttackSurfaceAgent
3
+ } from "./cli-6wbpbys5.js";
4
+ import"./cli-6gtnyaqf.js";
5
+ import"./cli-m6xhh40a.js";
6
+ import"./cli-8fxhbwz2.js";
7
+ import"./cli-4cz845xw.js";
8
+ import"./cli-9r9grmzr.js";
9
+ import"./cli-6f5bs0zb.js";
10
+ import"./cli-nbxjkzcb.js";
11
+ import"./cli-mmm9mpgd.js";
12
+ import"./cli-217my1rx.js";
13
+ import"./cli-7ckctq7a.js";
14
+ import"./cli-8rxa073f.js";
15
+ export {
16
+ BlackboxAttackSurfaceAgent
17
+ };
@@ -1,19 +1,21 @@
1
1
  import {
2
2
  runPentestWorkflow
3
- } from "./cli-xtccf5qk.js";
4
- import"./cli-0r7qwt2h.js";
5
- import"./cli-9hp2khjx.js";
6
- import"./cli-tj25jvz6.js";
7
- import"./cli-mx8pfb29.js";
3
+ } from "./cli-pwawj18c.js";
4
+ import"./cli-2rfx3548.js";
5
+ import"./cli-kt5y3cap.js";
6
+ import"./cli-jycdef9r.js";
7
+ import"./cli-fw5r7pfj.js";
8
+ import"./cli-p2q3a22n.js";
9
+ import"./cli-6wbpbys5.js";
8
10
  import"./cli-6gtnyaqf.js";
9
- import"./cli-phajnhzs.js";
10
- import"./cli-vnydvy0r.js";
11
- import"./cli-z1s5njxn.js";
12
- import"./cli-zz9wwkqh.js";
13
- import"./cli-27bnjky6.js";
14
- import"./cli-xj88naps.js";
15
- import"./cli-s1dd4n9x.js";
16
- import"./cli-0tpx8khk.js";
11
+ import"./cli-m6xhh40a.js";
12
+ import"./cli-8fxhbwz2.js";
13
+ import"./cli-4cz845xw.js";
14
+ import"./cli-9r9grmzr.js";
15
+ import"./cli-6f5bs0zb.js";
16
+ import"./cli-nbxjkzcb.js";
17
+ import"./cli-mmm9mpgd.js";
18
+ import"./cli-217my1rx.js";
17
19
  import"./cli-7ckctq7a.js";
18
20
  import"./cli-8rxa073f.js";
19
21
 
@@ -26,7 +28,9 @@ async function runPentestAgent(input) {
26
28
  session: input.session,
27
29
  authConfig: input.authConfig,
28
30
  abortSignal: input.abortSignal,
29
- callbacks: input.callbacks
31
+ eventBus: input.eventBus,
32
+ prompt: input.prompt,
33
+ threatModel: input.threatModel
30
34
  });
31
35
  console.log(`
32
36
  Found ${findings.length} vulnerabilities`);