@pensar/apex 1.8.0 → 2.0.0-canary.241920ad
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.
- package/README.md +31 -0
- package/build/agent-7866ka7b.js +218 -0
- package/build/agent-aj7jpehp.js +25 -0
- package/build/agent-mjyx1amj.js +19 -0
- package/build/apps-hse35c2d.js +443 -0
- package/build/{auth-dxjgy41e.js → auth-15rkvgam.js} +47 -13
- package/build/authentication-b8p1afqq.js +19 -0
- package/build/blackboxAgent-z1h2cgyg.js +19 -0
- package/build/{blackboxPentest-8ps4yvbk.js → blackboxPentest-vmtnnp5d.js} +16 -17
- package/build/{cli-y61d9433.js → cli-0svsmc2c.js} +147 -38
- package/build/{cli-nr1cjfr9.js → cli-23xtyah8.js} +26 -7
- package/build/{cli-tp1tqn3k.js → cli-4dpc999m.js} +12 -2
- package/build/{cli-k4hrygff.js → cli-4ez6yssj.js} +9 -5
- package/build/{cli-k0tckznm.js → cli-5h1kv0v4.js} +38781 -29336
- package/build/{cli-m788e4f3.js → cli-6gge86w5.js} +586 -33
- package/build/{cli-dqt80sw3.js → cli-78s9w64j.js} +199 -68
- package/build/cli-8xknm7d9.js +204 -0
- package/build/cli-9fsre5pt.js +0 -0
- package/build/{cli-3y0dgy56.js → cli-c8131c4q.js} +2 -2
- package/build/cli-cbw2rmv7.js +7236 -0
- package/build/{cli-jg7r7y5n.js → cli-demg7sj2.js} +30 -2
- package/build/cli-e08r86zk.js +24 -0
- package/build/{cli-0ghkg3w6.js → cli-e6rgwtpb.js} +19950 -18556
- package/build/cli-ft17f9nh.js +501 -0
- package/build/{cli-3w2syxpv.js → cli-gtepvg8s.js} +106582 -109180
- package/build/cli-k1vsv3qh.js +197 -0
- package/build/{cli-pkdjamer.js → cli-mb837pv4.js} +15 -5
- package/build/{authentication-e30mfzbe.js → cli-r0s5br0a.js} +20 -20
- package/build/cli-rtbry75t.js +22 -0
- package/build/cli-zyk3xsth.js +52 -0
- package/build/cli.js +420 -289
- package/build/config-bb6q79q0.js +188 -0
- package/build/{doctor-8tva8j99.js → doctor-tkz0a0g4.js} +8 -1
- package/build/{fixes-q5bhgxhc.js → fixes-krvbkbey.js} +20 -4
- package/build/{index-wfeb2gcc.js → index-4gk224ac.js} +9 -11
- package/build/index-a9ea9c1q.js +181 -0
- package/build/index-ah3cm7hf.js +12 -0
- package/build/{index-y5xpp21a.js → index-pamhzcx3.js} +86 -111
- package/build/index-tknvj68q.js +33 -0
- package/build/{index-pfee23kv.js → index-v4sz6cee.js} +19304 -19000
- package/build/{index-dw1xbhfn.js → index-vc29b21w.js} +161 -26
- package/build/{index-e898mdyh.js → index-wsp4kqtm.js} +4 -2
- package/build/{issues-qbmdneej.js → issues-m2me70rs.js} +30 -9
- package/build/{logs-xm5vbymy.js → logs-rxf1a0be.js} +20 -4
- package/build/{main-3d7dfdvs.js → main-3zneyg7p.js} +93 -17
- package/build/{offesecAgent-re6kt2ff.js → offesecAgent-hmxcpch7.js} +11 -11
- package/build/parse-15kqmy2v.js +207 -0
- package/build/pentest-r6hfzf8n.js +28 -0
- package/build/{pentests-e3rj5845.js → pentests-201vfsn6.js} +33 -17
- package/build/{targetedPentest-fs0v570s.js → targetedPentest-85b1dndy.js} +12 -12
- package/build/threatModel-hbpz15y7.js +26 -0
- package/build/{uninstall-qb2xbh2t.js → uninstall-qa8jvrj1.js} +6 -4
- package/build/{upload-7wtbr768.js → upload-p58nxxvf.js} +8 -1
- package/build/{utils-jf52rmrb.js → utils-hsde107p.js} +10 -9
- package/package.json +86 -88
- package/build/agent-4d8j2jsw.js +0 -278
- package/build/agent-z2s6h7n2.js +0 -19
- package/build/blackboxAgent-j9pczwym.js +0 -19
- package/build/cli-03z6pswp.js +0 -1423
- package/build/cli-0fy9j5dw.js +0 -61
- package/build/cli-asyas1xb.js +0 -110
- package/build/cli-dj1dgw2n.js +0 -190
- package/build/cli-g8t710ew.js +0 -663
- package/build/cli-q7r2sth7.js +0 -103
- package/build/cli-vkwch0bc.js +0 -1207
- package/build/cli-wr7g9qcr.js +0 -645
- package/build/index-bz6f8jry.js +0 -32
- package/build/pentest-mfm4hake.js +0 -29
- package/build/projects-qk22qcbt.js +0 -35
- package/build/threatModel-xfvc6cch.js +0 -67
package/README.md
CHANGED
|
@@ -84,6 +84,26 @@ pensar targeted-pentest --target https://example.com --objective "Test authentic
|
|
|
84
84
|
| `--threat-model <text\|@file>` | pentest | Threat model to guide testing |
|
|
85
85
|
| `--objective <text>` | targeted-pentest | Testing objective (repeatable) |
|
|
86
86
|
|
|
87
|
+
### Logging
|
|
88
|
+
|
|
89
|
+
Apex routes diagnostic/operational logging through a centralized structured logger
|
|
90
|
+
(`src/core/logger`). It writes one-line JSON to **stderr** when output is not a TTY — keeping
|
|
91
|
+
it separate from the program's stdout and easy to ship to a log pipeline (e.g. CloudWatch) —
|
|
92
|
+
and pretty, colorized output in an interactive terminal. User-facing CLI/TUI output stays on
|
|
93
|
+
stdout.
|
|
94
|
+
|
|
95
|
+
Set the level (most → least verbose: `debug` < `info` < `warn` < `error`, default `info`):
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
pensar pentest --target https://example.com --log-level debug # or --verbose / --quiet
|
|
99
|
+
PENSAR_LOG_LEVEL=debug pensar ... # via environment
|
|
100
|
+
PENSAR_DEBUG=1 pensar ... # back-compat alias for debug
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
Resolution order: CLI flag → `PENSAR_LOG_LEVEL` → `PENSAR_DEBUG` → default `info`.
|
|
104
|
+
`PENSAR_LOG_FORMAT=json|pretty` forces the output format. When Apex runs as a managed agent,
|
|
105
|
+
`PENSAR_LOG_LEVEL` is supplied by the host environment.
|
|
106
|
+
|
|
87
107
|
### W&B Weave Tracing
|
|
88
108
|
|
|
89
109
|
Stream step-level agent traces to Weights & Biases Weave for analysis and fine-tuning:
|
|
@@ -97,6 +117,17 @@ pensar pentest --target https://example.com
|
|
|
97
117
|
|
|
98
118
|
Traces include reasoning steps, tool calls, token usage, and state checkpoints. When credentials are not set, tracing is silently disabled.
|
|
99
119
|
|
|
120
|
+
### OpenTelemetry (Observability)
|
|
121
|
+
|
|
122
|
+
Apex emits OpenTelemetry spans for agent runs, LLM calls, and tool executions through `@opentelemetry/api`. Spans are no-ops unless your process registers an OpenTelemetry SDK as the global tracer provider; Apex ships no SDK.
|
|
123
|
+
|
|
124
|
+
Register an SDK before importing Apex code:
|
|
125
|
+
|
|
126
|
+
- **Sentry**: install `@sentry/node` ≥ 9.27 and add `Sentry.vercelAIIntegration()` to your `Sentry.init` integrations.
|
|
127
|
+
- **Any OTel backend** (Honeycomb, Tempo, Datadog, etc.): register `@opentelemetry/sdk-node` with an OTLP exporter.
|
|
128
|
+
|
|
129
|
+
Spans follow [OTel GenAI semantic conventions](https://opentelemetry.io/docs/specs/semconv/gen-ai/). Only span shape (model, token counts, latency, tool names) is captured by default; set `AI_TRACE_RECORD_PAYLOADS=true` to also record prompts, tool I/O, and outputs.
|
|
130
|
+
|
|
100
131
|
## Kali Linux Container (Optional)
|
|
101
132
|
|
|
102
133
|
For **best performance**, run Apex in the included Kali Linux container with preconfigured pentest tools:
|
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
import {
|
|
2
|
+
OffensiveSecurityAgent
|
|
3
|
+
} from "./cli-gtepvg8s.js";
|
|
4
|
+
import {
|
|
5
|
+
detectOSAndEnhancePrompt
|
|
6
|
+
} from "./cli-4dpc999m.js";
|
|
7
|
+
import"./cli-c8131c4q.js";
|
|
8
|
+
import {
|
|
9
|
+
init_dist,
|
|
10
|
+
stepCountIs
|
|
11
|
+
} from "./cli-5h1kv0v4.js";
|
|
12
|
+
import"./cli-78s9w64j.js";
|
|
13
|
+
import {
|
|
14
|
+
exports_external1 as exports_external,
|
|
15
|
+
init_zod
|
|
16
|
+
} from "./cli-e6rgwtpb.js";
|
|
17
|
+
import"./cli-gpnb45ck.js";
|
|
18
|
+
import"./cli-rtbry75t.js";
|
|
19
|
+
import"./cli-23xtyah8.js";
|
|
20
|
+
import"./cli-k1vsv3qh.js";
|
|
21
|
+
import"./cli-8rxa073f.js";
|
|
22
|
+
|
|
23
|
+
// src/core/agents/specialized/findingJudge/agent.ts
|
|
24
|
+
init_dist();
|
|
25
|
+
|
|
26
|
+
// src/core/agents/specialized/findingJudge/prompts.ts
|
|
27
|
+
var MAX_POC_SCRIPT_CHARS = 12000;
|
|
28
|
+
var MAX_OUTPUT_CHARS = 16000;
|
|
29
|
+
var MAX_EVIDENCE_CHARS = 8000;
|
|
30
|
+
var MAX_DESCRIPTION_CHARS = 4000;
|
|
31
|
+
function truncate(value, limit) {
|
|
32
|
+
if (value.length <= limit)
|
|
33
|
+
return value;
|
|
34
|
+
return value.substring(0, limit) + `
|
|
35
|
+
... [truncated]`;
|
|
36
|
+
}
|
|
37
|
+
var FINDING_JUDGE_SYSTEM_PROMPT = `You are a security finding validation specialist running as an agentic verifier inside an automated penetration testing pipeline.
|
|
38
|
+
|
|
39
|
+
You are the last line of defense against false positives, hallucinated findings, fabricated evidence, and overstated impact. Your job is to independently verify whether a submitted proof-of-concept and its output support the claimed finding.
|
|
40
|
+
|
|
41
|
+
## Operating Rules
|
|
42
|
+
|
|
43
|
+
- Use tools before accepting a finding. At minimum, rerun or inspect the PoC with execute_command, compare behavior with http_request, read saved artifacts, or research the relevant technology with web_search/get_page.
|
|
44
|
+
- Stay in scope. Only interact with the target endpoint/host and artifacts from this session.
|
|
45
|
+
- Do not create, edit, delete, or document findings. You only validate and call the response tool.
|
|
46
|
+
- Do not run destructive payloads or broaden exploitation. Verification should be enough to confirm or refute the claim.
|
|
47
|
+
- Distinguish "the PoC exited 0" from "the vulnerability is proven." A successful exit code is only supporting evidence.
|
|
48
|
+
- If your investigation completes and the evidence does not support the claim, reject it with actionable concerns.
|
|
49
|
+
- If tools fail or the environment blocks verification, report the limitation honestly in your response. Infrastructure failure fallback is handled by the caller, not by you.
|
|
50
|
+
- Cite concrete observations from tool output, HTTP responses, or web research in reasoning, concerns, and toolEvidence.
|
|
51
|
+
|
|
52
|
+
## Evaluation Criteria
|
|
53
|
+
|
|
54
|
+
### Materiality
|
|
55
|
+
- A finding is a vulnerability only when the observed behavior is exploitable now in a way that creates a concrete security risk for the assessed target and threat model.
|
|
56
|
+
- Do not reward theoretical "missing control" findings unless the PoC shows a realistic abuse path, affected security boundary, and material consequence.
|
|
57
|
+
- Evaluate behavior in context: application purpose, deployment model, data sensitivity, exposed trust boundaries, and whether the observed behavior is intended for that environment. Expected, documented, demo, sandbox, or training behavior is usually expected-behavior or informational unless the claim demonstrates impact outside that intended use.
|
|
58
|
+
- Reject CVSS 0.0 findings rather than downgrading them. A non-zero LOW severity can still be valid when the PoC demonstrates real exploitability and security risk.
|
|
59
|
+
- If a PoC only proves that input is accepted, an error is returned, a public endpoint is reachable, or a control is absent, reject when it does not show an exploitable security risk.
|
|
60
|
+
|
|
61
|
+
### Correctness
|
|
62
|
+
- SQL injection: output should show inaccessible data, query errors, or behavioral differences indicating injection success.
|
|
63
|
+
- XSS: output should show payload reflection/execution in a browser-executable context.
|
|
64
|
+
- Command injection / RCE: output should show execution on the target system, not only local command execution.
|
|
65
|
+
- SSRF: output should show responses from internal or otherwise protected services.
|
|
66
|
+
- Path traversal: output should show file contents outside the intended path.
|
|
67
|
+
- IDOR: output should show access to another user's/account's resource while authentication exists.
|
|
68
|
+
- Authentication bypass: output should show protected access without valid credentials.
|
|
69
|
+
- Email/HTML injection: ideally verify delivery and rendering. If only server acceptance is shown, confidence must stay below 0.7 and limitations must state rendering was not independently verified.
|
|
70
|
+
- Missing rate limiting / anti-automation: fewer than 50 requests is insufficient. Evidence must state exact request count, timing/distribution, and observed statuses.
|
|
71
|
+
|
|
72
|
+
### Common Low-Signal Patterns
|
|
73
|
+
Reject these unless the submitted evidence demonstrates concrete harm:
|
|
74
|
+
- Missing rate limiting on non-sensitive, low-value, intentionally public, or low-abuse-potential endpoints.
|
|
75
|
+
- Verbose errors, stack traces, framework versions, or internal paths without secrets, protected data, or a working exploit chain.
|
|
76
|
+
- Missing input validation that only permits nulls, empty strings, negative values, long text, type coercion, or malformed JSON with no security boundary crossed.
|
|
77
|
+
- Missing authentication on public, non-sensitive, catalog, status, listener, metadata, demo, or intentionally unauthenticated endpoints.
|
|
78
|
+
- Client-side validation bypasses where direct API calls produce no server-side security impact.
|
|
79
|
+
- User enumeration, timing differences, weak pseudonymization, and email masking weaknesses without credible account takeover, sensitive data exposure, or targeting impact.
|
|
80
|
+
- Unhandled type errors, method confusion, and 500 responses that only prove fragile error handling.
|
|
81
|
+
|
|
82
|
+
### Hallucination and Hardcoding
|
|
83
|
+
Reject or lower confidence when:
|
|
84
|
+
- The script prints "evidence" with echo/print/console.log that was never received from the target.
|
|
85
|
+
- The script constructs fake HTTP responses or error messages.
|
|
86
|
+
- The success condition is hardcoded or independent of target response content.
|
|
87
|
+
- The script always exits 0.
|
|
88
|
+
- Evidence text does not match live responses or the claimed endpoint.
|
|
89
|
+
|
|
90
|
+
### Severity and Classification
|
|
91
|
+
- Accept as vulnerability only when real target interaction demonstrates unintended, exploitable behavior that creates security risk.
|
|
92
|
+
- Classify as informational when the observation is real but not currently exploitable or not security-impacting.
|
|
93
|
+
- Classify as expected-behavior when the behavior is clearly by design.
|
|
94
|
+
- Reject when the PoC fabricates evidence, does not demonstrate the claim, or the demonstrated impact fundamentally mismatches the finding.
|
|
95
|
+
|
|
96
|
+
## Response Requirements
|
|
97
|
+
|
|
98
|
+
Call the response tool exactly once. Include:
|
|
99
|
+
- valid: true only when the finding should be persisted as an exploitable vulnerability. Use valid: false for informational, expected-behavior, CVSS 0.0, non-exploitable, or merely best-practice observations.
|
|
100
|
+
- findingType: vulnerability, informational, or expected-behavior.
|
|
101
|
+
- confidence: calibrated 0.0 to 1.0. Below 0.7 requires concerns.
|
|
102
|
+
- reasoning: concise explanation grounded in concrete observations.
|
|
103
|
+
- concerns: actionable concerns; empty only for valid high-confidence results.
|
|
104
|
+
- verificationSteps: actions you performed.
|
|
105
|
+
- toolEvidence: concrete observations from provided artifacts or tool outputs.
|
|
106
|
+
- reproducedPoc: whether you reran or independently reproduced the PoC.
|
|
107
|
+
- webResearchUsed: whether web research materially informed the judgment.
|
|
108
|
+
- limitations: remaining gaps.`;
|
|
109
|
+
function buildFindingJudgePrompt(input) {
|
|
110
|
+
const { pocScript, pocType, pocOutput, claim } = input;
|
|
111
|
+
return `# Finding Validation Request
|
|
112
|
+
|
|
113
|
+
## Target
|
|
114
|
+
|
|
115
|
+
**Target:** ${input.target || "Unknown"}
|
|
116
|
+
**Claimed Endpoint:** ${claim.endpoint}
|
|
117
|
+
**POC Path:** ${input.pocPath || "Not provided"}
|
|
118
|
+
|
|
119
|
+
## Claimed Vulnerability
|
|
120
|
+
|
|
121
|
+
**Title:** ${claim.title}
|
|
122
|
+
**Vulnerability Class:** ${claim.vulnerabilityClass || "Unknown"}
|
|
123
|
+
|
|
124
|
+
### Description
|
|
125
|
+
${truncate(claim.description, MAX_DESCRIPTION_CHARS)}
|
|
126
|
+
|
|
127
|
+
### Claimed Impact
|
|
128
|
+
${truncate(claim.impact, MAX_DESCRIPTION_CHARS)}
|
|
129
|
+
|
|
130
|
+
### Evidence Provided by Agent
|
|
131
|
+
\`\`\`
|
|
132
|
+
${truncate(claim.evidence, MAX_EVIDENCE_CHARS)}
|
|
133
|
+
\`\`\`
|
|
134
|
+
|
|
135
|
+
## Previously Executed POC (${pocType})
|
|
136
|
+
|
|
137
|
+
\`\`\`${pocType === "javascript" ? "js" : pocType === "python" ? "python" : "bash"}
|
|
138
|
+
${truncate(pocScript, MAX_POC_SCRIPT_CHARS)}
|
|
139
|
+
\`\`\`
|
|
140
|
+
|
|
141
|
+
## Previous POC Execution Output
|
|
142
|
+
|
|
143
|
+
**Exit Code:** ${pocOutput.exitCode}
|
|
144
|
+
|
|
145
|
+
### stdout
|
|
146
|
+
\`\`\`
|
|
147
|
+
${truncate(pocOutput.stdout || "(empty)", MAX_OUTPUT_CHARS)}
|
|
148
|
+
\`\`\`
|
|
149
|
+
|
|
150
|
+
### stderr
|
|
151
|
+
\`\`\`
|
|
152
|
+
${truncate(pocOutput.stderr || "(empty)", MAX_OUTPUT_CHARS / 2)}
|
|
153
|
+
\`\`\`
|
|
154
|
+
|
|
155
|
+
## Task
|
|
156
|
+
|
|
157
|
+
Independently validate whether the submitted POC and observed behavior support the claimed finding. Use the available minimal tools to rerun or inspect the POC, compare live target behavior, read saved artifacts, or research public documentation/CVEs as needed.
|
|
158
|
+
|
|
159
|
+
Do not document or mutate anything. When done, call response with your structured judgment.`;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
// src/core/agents/specialized/findingJudge/types.ts
|
|
163
|
+
init_zod();
|
|
164
|
+
var FINDING_TYPES = [
|
|
165
|
+
"vulnerability",
|
|
166
|
+
"informational",
|
|
167
|
+
"expected-behavior"
|
|
168
|
+
];
|
|
169
|
+
var FindingJudgeOutputSchema = exports_external.object({
|
|
170
|
+
valid: exports_external.boolean().describe("Whether the POC demonstrates a currently exploitable vulnerability that should be persisted"),
|
|
171
|
+
findingType: exports_external.enum(FINDING_TYPES).describe("Classification: 'vulnerability' for genuine security issues, 'informational' for low-risk observations worth noting, 'expected-behavior' for findings that describe intentional design decisions"),
|
|
172
|
+
confidence: exports_external.number().min(0).max(1).describe("Confidence in the judgment, a decimal between 0.0 (no confidence) and 1.0 (certain)"),
|
|
173
|
+
reasoning: exports_external.string().describe("Brief explanation of the key tool observations and analysis that led to this judgment"),
|
|
174
|
+
concerns: exports_external.array(exports_external.string()).describe("Specific concerns identified. Empty array only when the finding is a valid high-confidence vulnerability."),
|
|
175
|
+
verificationSteps: exports_external.array(exports_external.string()).describe("Concrete verification actions performed before deciding."),
|
|
176
|
+
toolEvidence: exports_external.array(exports_external.string()).describe("Specific observations from tool output or provided artifacts."),
|
|
177
|
+
reproducedPoc: exports_external.boolean().describe("Whether the judge reran or independently reproduced the POC."),
|
|
178
|
+
webResearchUsed: exports_external.boolean().describe("Whether web_search/get_page materially informed the judgment."),
|
|
179
|
+
limitations: exports_external.array(exports_external.string()).describe("Remaining verification gaps or environmental limitations.")
|
|
180
|
+
});
|
|
181
|
+
|
|
182
|
+
// src/core/agents/specialized/findingJudge/agent.ts
|
|
183
|
+
var FINDING_JUDGE_ACTIVE_TOOLS = [
|
|
184
|
+
"execute_command",
|
|
185
|
+
"http_request",
|
|
186
|
+
"read_file",
|
|
187
|
+
"list_files",
|
|
188
|
+
"grep",
|
|
189
|
+
"web_search",
|
|
190
|
+
"get_page",
|
|
191
|
+
"response"
|
|
192
|
+
];
|
|
193
|
+
|
|
194
|
+
class FindingJudgeAgent extends OffensiveSecurityAgent {
|
|
195
|
+
constructor(opts) {
|
|
196
|
+
const target = opts.finding.target ?? opts.target ?? opts.session.targets[0];
|
|
197
|
+
super({
|
|
198
|
+
system: detectOSAndEnhancePrompt(FINDING_JUDGE_SYSTEM_PROMPT),
|
|
199
|
+
prompt: buildFindingJudgePrompt({ ...opts.finding, target }),
|
|
200
|
+
model: opts.model,
|
|
201
|
+
session: opts.session,
|
|
202
|
+
target,
|
|
203
|
+
authConfig: opts.authConfig,
|
|
204
|
+
abortSignal: opts.abortSignal,
|
|
205
|
+
eventBus: opts.eventBus,
|
|
206
|
+
sandbox: opts.sandbox,
|
|
207
|
+
enableThinking: opts.enableThinking,
|
|
208
|
+
openAIReasoningEffort: opts.openAIReasoningEffort,
|
|
209
|
+
subagentId: opts.subagentId ?? "finding-judge",
|
|
210
|
+
activeTools: [...FINDING_JUDGE_ACTIVE_TOOLS],
|
|
211
|
+
responseSchema: FindingJudgeOutputSchema,
|
|
212
|
+
stopWhen: stepCountIs(60)
|
|
213
|
+
});
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
export {
|
|
217
|
+
FindingJudgeAgent
|
|
218
|
+
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import {
|
|
2
|
+
TargetedPentestAgent,
|
|
3
|
+
buildPentestActiveTools,
|
|
4
|
+
buildPentestPrompt,
|
|
5
|
+
buildPentestSystemPrompt
|
|
6
|
+
} from "./cli-0svsmc2c.js";
|
|
7
|
+
import"./cli-9fsre5pt.js";
|
|
8
|
+
import"./cli-zyk3xsth.js";
|
|
9
|
+
import"./cli-gtepvg8s.js";
|
|
10
|
+
import"./cli-4dpc999m.js";
|
|
11
|
+
import"./cli-c8131c4q.js";
|
|
12
|
+
import"./cli-5h1kv0v4.js";
|
|
13
|
+
import"./cli-78s9w64j.js";
|
|
14
|
+
import"./cli-e6rgwtpb.js";
|
|
15
|
+
import"./cli-gpnb45ck.js";
|
|
16
|
+
import"./cli-rtbry75t.js";
|
|
17
|
+
import"./cli-23xtyah8.js";
|
|
18
|
+
import"./cli-k1vsv3qh.js";
|
|
19
|
+
import"./cli-8rxa073f.js";
|
|
20
|
+
export {
|
|
21
|
+
buildPentestSystemPrompt,
|
|
22
|
+
buildPentestPrompt,
|
|
23
|
+
buildPentestActiveTools,
|
|
24
|
+
TargetedPentestAgent
|
|
25
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import {
|
|
2
|
+
CodeAgent
|
|
3
|
+
} from "./cli-demg7sj2.js";
|
|
4
|
+
import"./cli-9fsre5pt.js";
|
|
5
|
+
import"./cli-zyk3xsth.js";
|
|
6
|
+
import"./cli-gtepvg8s.js";
|
|
7
|
+
import"./cli-4dpc999m.js";
|
|
8
|
+
import"./cli-c8131c4q.js";
|
|
9
|
+
import"./cli-5h1kv0v4.js";
|
|
10
|
+
import"./cli-78s9w64j.js";
|
|
11
|
+
import"./cli-e6rgwtpb.js";
|
|
12
|
+
import"./cli-gpnb45ck.js";
|
|
13
|
+
import"./cli-rtbry75t.js";
|
|
14
|
+
import"./cli-23xtyah8.js";
|
|
15
|
+
import"./cli-k1vsv3qh.js";
|
|
16
|
+
import"./cli-8rxa073f.js";
|
|
17
|
+
export {
|
|
18
|
+
CodeAgent
|
|
19
|
+
};
|