@clawvard/sdk 0.13.0 → 0.15.0
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 +45 -0
- package/dist/generated.d.ts +7 -0
- package/dist/generated.d.ts.map +1 -1
- package/dist/generated.js +12 -0
- package/dist/generated.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/pentest.d.ts +130 -0
- package/dist/pentest.d.ts.map +1 -0
- package/dist/pentest.js +519 -0
- package/dist/pentest.js.map +1 -0
- package/dist/service-types.d.ts +156 -0
- package/dist/service-types.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -120,6 +120,51 @@ const cv = new Clawvard({
|
|
|
120
120
|
await cv.video.extractFrames({ url, every: "1s" });
|
|
121
121
|
```
|
|
122
122
|
|
|
123
|
+
## Course-specific SDK surfaces
|
|
124
|
+
|
|
125
|
+
### `cv.security.pentestRun` — AI pen-test on a target you own
|
|
126
|
+
|
|
127
|
+
Runs the open-source `strix-agent` CLI locally against a target the
|
|
128
|
+
caller owns (OWASP Juice Shop, self-hosted staging, ...). The Clawvard
|
|
129
|
+
backend mints a scoped, one-time LLM credential per run; the SDK
|
|
130
|
+
spawns Strix with the credential exposed as `LLM_API_KEY`; the
|
|
131
|
+
credential is revoked when the run resolves so it cannot keep grinding
|
|
132
|
+
credits in the background. Built for the `agent-pentest` course.
|
|
133
|
+
|
|
134
|
+
Node-only — browsers throw `SandboxMissingError` early.
|
|
135
|
+
|
|
136
|
+
```ts
|
|
137
|
+
import { Clawvard, TargetUnreachableError } from "@clawvard/sdk";
|
|
138
|
+
|
|
139
|
+
const cv = new Clawvard({ apiKey: process.env.CLAW_API_KEY! });
|
|
140
|
+
|
|
141
|
+
try {
|
|
142
|
+
const result = await cv.security.pentestRun({
|
|
143
|
+
targetUrl: "http://localhost:3000",
|
|
144
|
+
allowedHosts: ["localhost:3000"],
|
|
145
|
+
ownership: {
|
|
146
|
+
confirmed: true,
|
|
147
|
+
statement: "OWASP Juice Shop, self-hosted, MIT license.",
|
|
148
|
+
},
|
|
149
|
+
});
|
|
150
|
+
console.log(`${result.findings.length} findings — see ${result.reportHtmlPath}`);
|
|
151
|
+
for (const f of result.findings) {
|
|
152
|
+
console.log(` [${f.cvss.severity}] ${f.owaspCategory} — ${f.title}`);
|
|
153
|
+
}
|
|
154
|
+
} catch (err) {
|
|
155
|
+
if (err instanceof TargetUnreachableError) {
|
|
156
|
+
console.error("Start `docker run --rm -p 3000:3000 bkimminich/juice-shop` first.");
|
|
157
|
+
} else {
|
|
158
|
+
throw err;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
Prerequisites: Docker running + `pipx install strix-agent` on PATH +
|
|
164
|
+
`CLAW_API_KEY` set to your key from https://clawvard.school. Only run
|
|
165
|
+
against apps you own or are authorised to test — the SDK rejects
|
|
166
|
+
runs where `ownership.confirmed` is not `true`.
|
|
167
|
+
|
|
123
168
|
## Resources
|
|
124
169
|
|
|
125
170
|
- Docs: [clawvard.school/docs](https://clawvard.school/docs)
|
package/dist/generated.d.ts
CHANGED
|
@@ -36,6 +36,12 @@ export declare class PlatformNamespace {
|
|
|
36
36
|
/** platform.pricing (local) — generated. */
|
|
37
37
|
pricing(...args: InputArgs<"platform.pricing">): Promise<OutputOf<"platform.pricing">>;
|
|
38
38
|
}
|
|
39
|
+
export declare class SecurityNamespace {
|
|
40
|
+
private readonly c;
|
|
41
|
+
constructor(c: HttpClient);
|
|
42
|
+
/** security.mint-pentest-credential (local) — generated. */
|
|
43
|
+
mintPentestCredential(...args: InputArgs<"security.mint-pentest-credential">): Promise<OutputOf<"security.mint-pentest-credential">>;
|
|
44
|
+
}
|
|
39
45
|
export declare class TextNamespace {
|
|
40
46
|
private readonly c;
|
|
41
47
|
constructor(c: HttpClient);
|
|
@@ -76,6 +82,7 @@ export declare class GeneratedClient {
|
|
|
76
82
|
readonly image: ImageNamespace;
|
|
77
83
|
readonly media: MediaNamespace;
|
|
78
84
|
readonly platform: PlatformNamespace;
|
|
85
|
+
readonly security: SecurityNamespace;
|
|
79
86
|
readonly text: TextNamespace;
|
|
80
87
|
readonly url: UrlNamespace;
|
|
81
88
|
readonly util: UtilNamespace;
|
package/dist/generated.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generated.d.ts","sourceRoot":"","sources":["../src/generated.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"generated.d.ts","sourceRoot":"","sources":["../src/generated.ts"],"names":[],"mappings":"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"}
|
package/dist/generated.js
CHANGED
|
@@ -57,6 +57,16 @@ export class PlatformNamespace {
|
|
|
57
57
|
return this.c.invoke("platform", "pricing", args[0]);
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
|
+
export class SecurityNamespace {
|
|
61
|
+
c;
|
|
62
|
+
constructor(c) {
|
|
63
|
+
this.c = c;
|
|
64
|
+
}
|
|
65
|
+
/** security.mint-pentest-credential (local) — generated. */
|
|
66
|
+
mintPentestCredential(...args) {
|
|
67
|
+
return this.c.invoke("security", "mintPentestCredential", args[0]);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
60
70
|
export class TextNamespace {
|
|
61
71
|
c;
|
|
62
72
|
constructor(c) {
|
|
@@ -125,6 +135,7 @@ export class GeneratedClient {
|
|
|
125
135
|
image;
|
|
126
136
|
media;
|
|
127
137
|
platform;
|
|
138
|
+
security;
|
|
128
139
|
text;
|
|
129
140
|
url;
|
|
130
141
|
util;
|
|
@@ -133,6 +144,7 @@ export class GeneratedClient {
|
|
|
133
144
|
this.image = new ImageNamespace(client);
|
|
134
145
|
this.media = new MediaNamespace(client);
|
|
135
146
|
this.platform = new PlatformNamespace(client);
|
|
147
|
+
this.security = new SecurityNamespace(client);
|
|
136
148
|
this.text = new TextNamespace(client);
|
|
137
149
|
this.url = new UrlNamespace(client);
|
|
138
150
|
this.util = new UtilNamespace(client);
|
package/dist/generated.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generated.js","sourceRoot":"","sources":["../src/generated.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,MAAM,OAAO,cAAc;IACI;IAA7B,YAA6B,CAAa;QAAb,MAAC,GAAD,CAAC,CAAY;IAAG,CAAC;IAE9C,iDAAiD;IACjD,eAAe,CAAC,GAAG,IAA0C;QAC3D,OAAO,IAAI,CAAC,CAAC,CAAC,SAAS,CAAsC,OAAO,EAAE,iBAAiB,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACpG,CAAC;IAED,+CAA+C;IAC/C,aAAa,CAAC,GAAG,IAAwC;QACvD,OAAO,IAAI,CAAC,CAAC,CAAC,SAAS,CAAoC,OAAO,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAChG,CAAC;CACF;AAED,MAAM,OAAO,cAAc;IACI;IAA7B,YAA6B,CAAa;QAAb,MAAC,GAAD,CAAC,CAAY;IAAG,CAAC;IAE9C,0CAA0C;IAC1C,UAAU,CAAC,GAAG,IAAmC;QAC/C,OAAO,IAAI,CAAC,CAAC,CAAC,SAAS,CAA+B,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACxF,CAAC;IAED,qDAAqD;IACrD,kBAAkB,CAAC,GAAG,IAA4C;QAChE,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,CAAwC,OAAO,EAAE,oBAAoB,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACtG,CAAC;IAED,iDAAiD;IACjD,cAAc,CAAC,GAAG,IAAwC;QACxD,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,CAAoC,OAAO,EAAE,gBAAgB,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9F,CAAC;IAED,6CAA6C;IAC7C,YAAY,CAAC,GAAG,IAAsC;QACpD,OAAO,IAAI,CAAC,CAAC,CAAC,SAAS,CAAkC,OAAO,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7F,CAAC;IAED,6CAA6C;IAC7C,UAAU,CAAC,GAAG,IAAoC;QAChD,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,CAAgC,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACtF,CAAC;IAED,8CAA8C;IAC9C,aAAa,CAAC,GAAG,IAAuC;QACtD,OAAO,IAAI,CAAC,CAAC,CAAC,SAAS,CAAmC,OAAO,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/F,CAAC;CACF;AAED,MAAM,OAAO,iBAAiB;IACC;IAA7B,YAA6B,CAAa;QAAb,MAAC,GAAD,CAAC,CAAY;IAAG,CAAC;IAE9C,4CAA4C;IAC5C,OAAO,CAAC,GAAG,IAAmC;QAC5C,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,CAA+B,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACrF,CAAC;CACF;AAED,MAAM,OAAO,aAAa;IACK;IAA7B,YAA6B,CAAa;QAAb,MAAC,GAAD,CAAC,CAAY;IAAG,CAAC;IAE9C,2CAA2C;IAC3C,SAAS,CAAC,GAAG,IAAkC;QAC7C,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,CAA8B,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAClF,CAAC;IAED,qCAAqC;IACrC,IAAI,CAAC,GAAG,IAA4B;QAClC,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,CAAwB,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACvE,CAAC;IAED,gDAAgD;IAChD,gBAAgB,CAAC,GAAG,IAAyC;QAC3D,OAAO,IAAI,CAAC,CAAC,CAAC,SAAS,CAAqC,MAAM,EAAE,kBAAkB,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACnG,CAAC;IAED,8CAA8C;IAC9C,YAAY,CAAC,GAAG,IAAqC;QACnD,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,CAAiC,MAAM,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACxF,CAAC;IAED,8CAA8C;IAC9C,YAAY,CAAC,GAAG,IAAqC;QACnD,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,CAAiC,MAAM,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACxF,CAAC;CACF;AAED,MAAM,OAAO,YAAY;IACM;IAA7B,YAA6B,CAAa;QAAb,MAAC,GAAD,CAAC,CAAY;IAAG,CAAC;IAE9C,uCAAuC;IACvC,MAAM,CAAC,GAAG,IAA8B;QACtC,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,CAA0B,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED,uCAAuC;IACvC,OAAO,CAAC,GAAG,IAA8B;QACvC,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,CAA0B,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3E,CAAC;CACF;AAED,MAAM,OAAO,aAAa;IACK;IAA7B,YAA6B,CAAa;QAAb,MAAC,GAAD,CAAC,CAAY;IAAG,CAAC;IAE9C,yCAAyC;IACzC,OAAO,CAAC,GAAG,IAAgC;QACzC,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,CAA4B,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,yCAAyC;IACzC,SAAS,CAAC,GAAG,IAAkC;QAC7C,OAAO,IAAI,CAAC,CAAC,CAAC,SAAS,CAA8B,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACrF,CAAC;CACF;AAED,MAAM,OAAO,YAAY;IACM;IAA7B,YAA6B,CAAa;QAAb,MAAC,GAAD,CAAC,CAAY;IAAG,CAAC;IAE9C,mCAAmC;IACnC,KAAK,CAAC,GAAG,IAA4B;QACnC,OAAO,IAAI,CAAC,CAAC,CAAC,SAAS,CAAwB,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1E,CAAC;CACF;AAED,MAAM,OAAO,eAAe;IACjB,KAAK,CAAiB;IACtB,KAAK,CAAiB;IACtB,QAAQ,CAAoB;IAC5B,IAAI,CAAgB;IACpB,GAAG,CAAe;IAClB,IAAI,CAAgB;IACpB,GAAG,CAAe;IAE3B,YAAY,MAAkB;QAC5B,IAAI,CAAC,KAAK,GAAG,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC;QACxC,IAAI,CAAC,KAAK,GAAG,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC;QACxC,IAAI,CAAC,QAAQ,GAAG,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC,GAAG,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC,GAAG,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"generated.js","sourceRoot":"","sources":["../src/generated.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,MAAM,OAAO,cAAc;IACI;IAA7B,YAA6B,CAAa;QAAb,MAAC,GAAD,CAAC,CAAY;IAAG,CAAC;IAE9C,iDAAiD;IACjD,eAAe,CAAC,GAAG,IAA0C;QAC3D,OAAO,IAAI,CAAC,CAAC,CAAC,SAAS,CAAsC,OAAO,EAAE,iBAAiB,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACpG,CAAC;IAED,+CAA+C;IAC/C,aAAa,CAAC,GAAG,IAAwC;QACvD,OAAO,IAAI,CAAC,CAAC,CAAC,SAAS,CAAoC,OAAO,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAChG,CAAC;CACF;AAED,MAAM,OAAO,cAAc;IACI;IAA7B,YAA6B,CAAa;QAAb,MAAC,GAAD,CAAC,CAAY;IAAG,CAAC;IAE9C,0CAA0C;IAC1C,UAAU,CAAC,GAAG,IAAmC;QAC/C,OAAO,IAAI,CAAC,CAAC,CAAC,SAAS,CAA+B,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACxF,CAAC;IAED,qDAAqD;IACrD,kBAAkB,CAAC,GAAG,IAA4C;QAChE,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,CAAwC,OAAO,EAAE,oBAAoB,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACtG,CAAC;IAED,iDAAiD;IACjD,cAAc,CAAC,GAAG,IAAwC;QACxD,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,CAAoC,OAAO,EAAE,gBAAgB,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9F,CAAC;IAED,6CAA6C;IAC7C,YAAY,CAAC,GAAG,IAAsC;QACpD,OAAO,IAAI,CAAC,CAAC,CAAC,SAAS,CAAkC,OAAO,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7F,CAAC;IAED,6CAA6C;IAC7C,UAAU,CAAC,GAAG,IAAoC;QAChD,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,CAAgC,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACtF,CAAC;IAED,8CAA8C;IAC9C,aAAa,CAAC,GAAG,IAAuC;QACtD,OAAO,IAAI,CAAC,CAAC,CAAC,SAAS,CAAmC,OAAO,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/F,CAAC;CACF;AAED,MAAM,OAAO,iBAAiB;IACC;IAA7B,YAA6B,CAAa;QAAb,MAAC,GAAD,CAAC,CAAY;IAAG,CAAC;IAE9C,4CAA4C;IAC5C,OAAO,CAAC,GAAG,IAAmC;QAC5C,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,CAA+B,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACrF,CAAC;CACF;AAED,MAAM,OAAO,iBAAiB;IACC;IAA7B,YAA6B,CAAa;QAAb,MAAC,GAAD,CAAC,CAAY;IAAG,CAAC;IAE9C,4DAA4D;IAC5D,qBAAqB,CAAC,GAAG,IAAmD;QAC1E,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,CAA+C,UAAU,EAAE,uBAAuB,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACnH,CAAC;CACF;AAED,MAAM,OAAO,aAAa;IACK;IAA7B,YAA6B,CAAa;QAAb,MAAC,GAAD,CAAC,CAAY;IAAG,CAAC;IAE9C,2CAA2C;IAC3C,SAAS,CAAC,GAAG,IAAkC;QAC7C,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,CAA8B,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAClF,CAAC;IAED,qCAAqC;IACrC,IAAI,CAAC,GAAG,IAA4B;QAClC,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,CAAwB,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACvE,CAAC;IAED,gDAAgD;IAChD,gBAAgB,CAAC,GAAG,IAAyC;QAC3D,OAAO,IAAI,CAAC,CAAC,CAAC,SAAS,CAAqC,MAAM,EAAE,kBAAkB,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACnG,CAAC;IAED,8CAA8C;IAC9C,YAAY,CAAC,GAAG,IAAqC;QACnD,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,CAAiC,MAAM,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACxF,CAAC;IAED,8CAA8C;IAC9C,YAAY,CAAC,GAAG,IAAqC;QACnD,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,CAAiC,MAAM,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACxF,CAAC;CACF;AAED,MAAM,OAAO,YAAY;IACM;IAA7B,YAA6B,CAAa;QAAb,MAAC,GAAD,CAAC,CAAY;IAAG,CAAC;IAE9C,uCAAuC;IACvC,MAAM,CAAC,GAAG,IAA8B;QACtC,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,CAA0B,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED,uCAAuC;IACvC,OAAO,CAAC,GAAG,IAA8B;QACvC,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,CAA0B,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3E,CAAC;CACF;AAED,MAAM,OAAO,aAAa;IACK;IAA7B,YAA6B,CAAa;QAAb,MAAC,GAAD,CAAC,CAAY;IAAG,CAAC;IAE9C,yCAAyC;IACzC,OAAO,CAAC,GAAG,IAAgC;QACzC,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,CAA4B,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,yCAAyC;IACzC,SAAS,CAAC,GAAG,IAAkC;QAC7C,OAAO,IAAI,CAAC,CAAC,CAAC,SAAS,CAA8B,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACrF,CAAC;CACF;AAED,MAAM,OAAO,YAAY;IACM;IAA7B,YAA6B,CAAa;QAAb,MAAC,GAAD,CAAC,CAAY;IAAG,CAAC;IAE9C,mCAAmC;IACnC,KAAK,CAAC,GAAG,IAA4B;QACnC,OAAO,IAAI,CAAC,CAAC,CAAC,SAAS,CAAwB,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1E,CAAC;CACF;AAED,MAAM,OAAO,eAAe;IACjB,KAAK,CAAiB;IACtB,KAAK,CAAiB;IACtB,QAAQ,CAAoB;IAC5B,QAAQ,CAAoB;IAC5B,IAAI,CAAgB;IACpB,GAAG,CAAe;IAClB,IAAI,CAAgB;IACpB,GAAG,CAAe;IAE3B,YAAY,MAAkB;QAC5B,IAAI,CAAC,KAAK,GAAG,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC;QACxC,IAAI,CAAC,KAAK,GAAG,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC;QACxC,IAAI,CAAC,QAAQ,GAAG,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,CAAC,QAAQ,GAAG,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC,GAAG,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC,GAAG,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;CACF"}
|
package/dist/index.d.ts
CHANGED
|
@@ -44,13 +44,15 @@ export { Job } from "./job.js";
|
|
|
44
44
|
export { HttpClient } from "./http-client.js";
|
|
45
45
|
export type { InvokeOptions } from "./http-client.js";
|
|
46
46
|
export type { ServiceTypeMap, InputOf, OutputOf, InputArgs, } from "./service-types.js";
|
|
47
|
-
export type { IdPhotoSpec, IdPhotoSheet, IdPhotoFaceDetector, IdPhotoMattingModel, ImageIdPhotoGenerateInput, ImageIdPhotoGenerateOutput, ImageIdPhotoLayoutInput, ImageIdPhotoLayoutOutput, DialogueSourceKind, DialogueLanguage, DialogueSpeaker, DialogueTurn, DialogueChapter, TextGenerateDialogueInput, TextGenerateDialogueOutput, TextLectureNotesLanguage, TextLectureNotesSegment, TextLectureNotesKeyframe, TextLectureNotesInput, TextLectureNotesSection, TextLectureNotesTerm, TextLectureNotesOutput, TextReleaseNotesAudience, TextReleaseNotesLanguage, TextReleaseNotesCommitType, TextReleaseNotesCommitAuthor, TextReleaseNotesCommit, TextReleaseNotesProject, TextReleaseNotesInput, TextReleaseNotesView, TextReleaseNotesReleaseBody, TextReleaseNotesFingerprint, TextReleaseNotesOutput, } from "./service-types.js";
|
|
47
|
+
export type { IdPhotoSpec, IdPhotoSheet, IdPhotoFaceDetector, IdPhotoMattingModel, ImageIdPhotoGenerateInput, ImageIdPhotoGenerateOutput, ImageIdPhotoLayoutInput, ImageIdPhotoLayoutOutput, DialogueSourceKind, DialogueLanguage, DialogueSpeaker, DialogueTurn, DialogueChapter, TextGenerateDialogueInput, TextGenerateDialogueOutput, TextLectureNotesLanguage, TextLectureNotesSegment, TextLectureNotesKeyframe, TextLectureNotesInput, TextLectureNotesSection, TextLectureNotesTerm, TextLectureNotesOutput, TextReleaseNotesAudience, TextReleaseNotesLanguage, TextReleaseNotesCommitType, TextReleaseNotesCommitAuthor, TextReleaseNotesCommit, TextReleaseNotesProject, TextReleaseNotesInput, TextReleaseNotesView, TextReleaseNotesReleaseBody, TextReleaseNotesFingerprint, TextReleaseNotesOutput, SecurityPentestLlmModel, SecurityPentestOwnership, SecurityPentestFinding, SecurityPentestPoc, SecurityPentestPatch, SecurityPentestRunInput, SecurityPentestRunOutput, SecurityMintPentestCredentialOutput, } from "./service-types.js";
|
|
48
48
|
export type { ClawvardPlugin, ClawvardInstance } from "./plugin.js";
|
|
49
49
|
export { ClawvardError, MissingApiKeyError } from "./errors.js";
|
|
50
50
|
export { IdPhotoError, NoFaceDetectedError, MultipleFacesError, FaceNotCenteredError, FaceTooSmallError, MattingFailedError, UnsupportedSpecError, IdPhotoWorkerUnavailableError, } from "./id-photo.js";
|
|
51
51
|
export type { IdPhotoErrorCode } from "./id-photo.js";
|
|
52
52
|
export { LectureNotesError, TranscriptTooLongError, EmptyTranscriptError, InvalidTimestampOrderError, UnsupportedLanguageError, LectureNotesWorkerUnavailableError, renderLectureNotesMarkdown, mapLectureNotesError, parseLectureNotesCodeFromMessage, } from "./lecture-notes.js";
|
|
53
53
|
export type { LectureNotesErrorCode } from "./lecture-notes.js";
|
|
54
|
+
export { PentestError, TargetUnreachableError, InvalidTargetHostError, SandboxMissingError, OwnershipUnconfirmedError, LlmQuotaError, PentestTimeoutError, StrixCrashedError, mapPentestError, parsePentestCodeFromMessage, renderPentestReportHtml, } from "./pentest.js";
|
|
55
|
+
export type { PentestErrorCode } from "./pentest.js";
|
|
54
56
|
export interface ClawvardConfig {
|
|
55
57
|
/** Token Relay-issued `sk-xxx` API key. Mint or list yours at
|
|
56
58
|
* https://clawvard.school/token-relay. The same key works for the
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,eAAe,EAAkB,MAAM,gBAAgB,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -31,11 +31,13 @@
|
|
|
31
31
|
import { HttpClient } from "./http-client.js";
|
|
32
32
|
import { GeneratedClient } from "./generated.js";
|
|
33
33
|
import { IdPhotoNamespace } from "./id-photo.js";
|
|
34
|
+
import { installPentestRun } from "./pentest.js";
|
|
34
35
|
export { Job } from "./job.js";
|
|
35
36
|
export { HttpClient } from "./http-client.js";
|
|
36
37
|
export { ClawvardError, MissingApiKeyError } from "./errors.js";
|
|
37
38
|
export { IdPhotoError, NoFaceDetectedError, MultipleFacesError, FaceNotCenteredError, FaceTooSmallError, MattingFailedError, UnsupportedSpecError, IdPhotoWorkerUnavailableError, } from "./id-photo.js";
|
|
38
39
|
export { LectureNotesError, TranscriptTooLongError, EmptyTranscriptError, InvalidTimestampOrderError, UnsupportedLanguageError, LectureNotesWorkerUnavailableError, renderLectureNotesMarkdown, mapLectureNotesError, parseLectureNotesCodeFromMessage, } from "./lecture-notes.js";
|
|
40
|
+
export { PentestError, TargetUnreachableError, InvalidTargetHostError, SandboxMissingError, OwnershipUnconfirmedError, LlmQuotaError, PentestTimeoutError, StrixCrashedError, mapPentestError, parsePentestCodeFromMessage, renderPentestReportHtml, } from "./pentest.js";
|
|
39
41
|
const DEFAULT_BASE_URL = "https://clawvard.school";
|
|
40
42
|
const DEFAULT_POLL_MS = 2000;
|
|
41
43
|
/** The main SDK client. Composes the auto-generated namespace methods
|
|
@@ -71,6 +73,10 @@ export class Clawvard extends GeneratedClient {
|
|
|
71
73
|
super(http);
|
|
72
74
|
this.client = http;
|
|
73
75
|
this.workflow = new WorkflowNamespace(http);
|
|
76
|
+
// Attach the hand-written `cv.security.pentestRun` orchestration
|
|
77
|
+
// to the auto-generated `SecurityNamespace` prototype. Idempotent
|
|
78
|
+
// — safe to call once per Clawvard construction.
|
|
79
|
+
installPentestRun(http);
|
|
74
80
|
// Mount the `idPhoto` sub-namespace on the auto-generated
|
|
75
81
|
// ImageNamespace so `cv.image.idPhoto.generate(...)` works as the
|
|
76
82
|
// course material advertises. The flat `cv.image.idPhotoGenerate`
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,eAAe,EAAkB,MAAM,gBAAgB,CAAC;AAEjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAkBjD,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,eAAe,EAAkB,MAAM,gBAAgB,CAAC;AAEjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAkBjD,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAoD9C,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,6BAA6B,GAC9B,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,oBAAoB,EACpB,0BAA0B,EAC1B,wBAAwB,EACxB,kCAAkC,EAClC,0BAA0B,EAC1B,oBAAoB,EACpB,gCAAgC,GACjC,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,YAAY,EACZ,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACnB,yBAAyB,EACzB,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,2BAA2B,EAC3B,uBAAuB,GACxB,MAAM,cAAc,CAAC;AA6BtB,MAAM,gBAAgB,GAAG,yBAAyB,CAAC;AACnD,MAAM,eAAe,GAAG,IAAI,CAAC;AAE7B;;;;;;2CAM2C;AAC3C,MAAM,OAAO,QAAS,SAAQ,eAAe;IAC3C;;0CAEsC;IAC7B,QAAQ,CAAoB;IAErC;;;;;;UAMM;IACG,MAAM,CAAa;IAE5B,YAAY,SAAyB,EAAE;QACrC,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC;YAC1B,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnD,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,gBAAgB;YAC3C,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,eAAe;YACxD,SAAS,EAAE,MAAM,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;YAC5D,KAAK,EAAE,MAAM,CAAC,KAAK;gBACjB,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW,IAAI,GAAG,EAAE;gBACvF,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE;SACxC,CAAC,CAAC;QACH,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC5C,iEAAiE;QACjE,kEAAkE;QAClE,iDAAiD;QACjD,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAExB,0DAA0D;QAC1D,kEAAkE;QAClE,kEAAkE;QAClE,mEAAmE;QACnE,YAAY;QACX,IAAI,CAAC,KAAmC,CAAC,OAAO,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAE/E,mEAAmE;QACnE,iEAAiE;QACjE,8DAA8D;QAC9D,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpC,MAAM,CAAC,OAAO,CAAC,IAA2C,EAAE,IAAI,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAO;QACX,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,uBAAuB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9E,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAwC,CAAC;QACvE,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,KAAK;QACT,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,qBAAqB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QAC5E,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAgB,CAAC;IAC3C,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,QAAQ,CACZ,KAAa,EACb,MAAc,EACd,OAAsD;QAEtD,MAAM,EAAE,GAAG,IAAI,eAAe,EAAE,CAAC;QACjC,IAAI,OAAO,EAAE,cAAc;YAAE,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QACpD,IAAI,OAAO,EAAE,KAAK;YAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAC/B,uBAAuB,KAAK,IAAI,MAAM,GAAG,MAAM,EAAE,EACjD,EAAE,MAAM,EAAE,KAAK,EAAE,CAClB,CAAC;QACF,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAuB,CAAC;IAClD,CAAC;CACF;AAED;sEACsE;AACtE,MAAM,iBAAiB;IACQ;IAA7B,YAA6B,CAAa;QAAb,MAAC,GAAD,CAAC,CAAY;IAAG,CAAC;IAC9C;;uDAEmD;IACnD,GAAG,CAAI,EAAU,EAAE,KAAc;QAC/B,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAC/E,OAAO,IAAI,CAAC,CAAC,CAAC,SAAS,CAAI,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IACnD,CAAC;CACF"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `cv.security.pentestRun` — hand-written orchestration for the
|
|
3
|
+
* `agent-pentest` course.
|
|
4
|
+
*
|
|
5
|
+
* The pentest agent (open-source `strix-agent`, Apache-2.0) runs
|
|
6
|
+
* locally against a target the user owns — usually a self-hosted
|
|
7
|
+
* OWASP Juice Shop or a staging build of their own web app. The SDK
|
|
8
|
+
* mints a one-time LLM credential scoped to this run via
|
|
9
|
+
* `service.clawvard`, spawns the `strix` CLI as a subprocess with the
|
|
10
|
+
* credential exposed as `LLM_API_KEY`, and normalises the
|
|
11
|
+
* `strix_runs/<name>/` directory into the typed
|
|
12
|
+
* `SecurityPentestRunOutput` shape when the process exits.
|
|
13
|
+
*
|
|
14
|
+
* Node-only. Attempting to call `pentestRun` in a browser (or any
|
|
15
|
+
* environment without `child_process`) throws
|
|
16
|
+
* `SandboxMissingError` early — Strix launches its agent sandbox in a
|
|
17
|
+
* local Docker container.
|
|
18
|
+
*
|
|
19
|
+
* The credential handed to Strix expires when the run resolves or
|
|
20
|
+
* hits the wall-clock timeout. The SDK does NOT hard-code an
|
|
21
|
+
* OpenAI-compatible relay base URL in the run — the endpoint is
|
|
22
|
+
* chosen by `service.clawvard` at mint time.
|
|
23
|
+
*
|
|
24
|
+
* Callers can pattern-match on the SDK-side error subclasses:
|
|
25
|
+
*
|
|
26
|
+
* try {
|
|
27
|
+
* await cv.security.pentestRun({...});
|
|
28
|
+
* } catch (err) {
|
|
29
|
+
* if (err instanceof TargetUnreachableError) { ... }
|
|
30
|
+
* if (err instanceof InvalidTargetHostError) { ... }
|
|
31
|
+
* if (err instanceof SandboxMissingError) { ... }
|
|
32
|
+
* if (err instanceof OwnershipUnconfirmedError) { ... }
|
|
33
|
+
* if (err instanceof LlmQuotaError) { ... }
|
|
34
|
+
* if (err instanceof PentestTimeoutError) { ... }
|
|
35
|
+
* if (err instanceof StrixCrashedError) { ... }
|
|
36
|
+
* }
|
|
37
|
+
*/
|
|
38
|
+
import type { HttpClient } from "./http-client.js";
|
|
39
|
+
import { ClawvardError } from "./errors.js";
|
|
40
|
+
import type { SecurityPentestRunInput, SecurityPentestRunOutput } from "./service-types.js";
|
|
41
|
+
export declare const PENTEST_ERROR_CODES: readonly ["target_unreachable", "invalid_target_host", "sandbox_missing", "ownership_unconfirmed", "llm_quota", "timeout", "strix_crashed"];
|
|
42
|
+
export type PentestErrorCode = (typeof PENTEST_ERROR_CODES)[number];
|
|
43
|
+
/** Base class for any error surfaced by `cv.security.pentestRun`. */
|
|
44
|
+
export declare class PentestError extends ClawvardError {
|
|
45
|
+
constructor(code: PentestErrorCode, message: string);
|
|
46
|
+
}
|
|
47
|
+
/** `HEAD <targetUrl>` failed before Strix could be spawned. Usually
|
|
48
|
+
* means the user forgot to `docker run` the target, or bound it to a
|
|
49
|
+
* port other than the one they wrote in the prompt. */
|
|
50
|
+
export declare class TargetUnreachableError extends PentestError {
|
|
51
|
+
constructor(message?: string);
|
|
52
|
+
}
|
|
53
|
+
/** Either the input `targetUrl` isn't in `allowedHosts`, or Strix
|
|
54
|
+
* tried to reach a host outside the whitelist mid-run. The SDK kills
|
|
55
|
+
* the run instead of letting a coerced prompt escape the sandbox. */
|
|
56
|
+
export declare class InvalidTargetHostError extends PentestError {
|
|
57
|
+
constructor(message?: string);
|
|
58
|
+
}
|
|
59
|
+
/** Local Docker daemon is missing or unreachable, `strix` is not on
|
|
60
|
+
* PATH, or the environment cannot spawn subprocesses (browser). */
|
|
61
|
+
export declare class SandboxMissingError extends PentestError {
|
|
62
|
+
constructor(message?: string);
|
|
63
|
+
}
|
|
64
|
+
/** `ownership.confirmed` was missing or `false`. The service will not
|
|
65
|
+
* attack a target the caller has not declared they own or are
|
|
66
|
+
* authorised to test. */
|
|
67
|
+
export declare class OwnershipUnconfirmedError extends PentestError {
|
|
68
|
+
constructor(message?: string);
|
|
69
|
+
}
|
|
70
|
+
/** The caller's Clawvard credits balance is below the per-run budget
|
|
71
|
+
* the SDK reserved from `security.pentest-run`. Top up at
|
|
72
|
+
* https://clawvard.school and retry. */
|
|
73
|
+
export declare class LlmQuotaError extends PentestError {
|
|
74
|
+
constructor(message?: string);
|
|
75
|
+
}
|
|
76
|
+
/** Wall-clock timeout hit before Strix marked the run complete. The
|
|
77
|
+
* scoped LLM credential is revoked at this point so the run cannot
|
|
78
|
+
* keep grinding credits in the background. */
|
|
79
|
+
export declare class PentestTimeoutError extends PentestError {
|
|
80
|
+
constructor(message?: string);
|
|
81
|
+
}
|
|
82
|
+
/** Strix subprocess exited non-zero. Message carries the tail of
|
|
83
|
+
* Strix's stderr so the caller can see what actually broke — usually
|
|
84
|
+
* a docker-in-docker permissions issue or an interrupted run. */
|
|
85
|
+
export declare class StrixCrashedError extends PentestError {
|
|
86
|
+
constructor(message: string);
|
|
87
|
+
}
|
|
88
|
+
/** Map a backend error envelope (`{ error: code, message }`) to the
|
|
89
|
+
* matching SDK class. Called when the credential-mint step or the
|
|
90
|
+
* server-side preflight fails before Strix is spawned. */
|
|
91
|
+
export declare function mapPentestError(code: string, message: string): PentestError;
|
|
92
|
+
/** Declaration merging: augment the auto-generated `SecurityNamespace`
|
|
93
|
+
* with the hand-written `pentestRun` method. `mintPentestCredential`
|
|
94
|
+
* (the auto-generated low-level primitive) stays as-is; `pentestRun`
|
|
95
|
+
* composes it with local Strix orchestration. */
|
|
96
|
+
declare module "./generated.js" {
|
|
97
|
+
interface SecurityNamespace {
|
|
98
|
+
/** Run a real Strix pen-test against a target the caller owns.
|
|
99
|
+
* The Clawvard backend mints a one-time LLM credential scoped to
|
|
100
|
+
* this run; the SDK spawns Strix locally with that credential and
|
|
101
|
+
* returns the typed findings + PoCs + patch when Strix exits.
|
|
102
|
+
*
|
|
103
|
+
* ⚠️ Only run against apps you own or have written permission to
|
|
104
|
+
* test. Runs where `ownership.confirmed` is not `true` fail with
|
|
105
|
+
* `OwnershipUnconfirmedError` before hitting the network. */
|
|
106
|
+
pentestRun(input: SecurityPentestRunInput): Promise<SecurityPentestRunOutput>;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
/** Attach the hand-written `pentestRun` to the SecurityNamespace
|
|
110
|
+
* prototype. Called from the Clawvard constructor so browsers still
|
|
111
|
+
* see the method (even if calling it throws SandboxMissingError). */
|
|
112
|
+
export declare function installPentestRun(_client: HttpClient): void;
|
|
113
|
+
/** Pull `{ code, message }` out of a `"<code>|<message>"` job-failure
|
|
114
|
+
* message. Mirrors the id-photo convention so a future job-runtime
|
|
115
|
+
* handler can surface typed failures via the same channel. */
|
|
116
|
+
export declare function parsePentestCodeFromMessage(msg: string): {
|
|
117
|
+
code: PentestErrorCode;
|
|
118
|
+
message: string;
|
|
119
|
+
} | null;
|
|
120
|
+
/** Deterministic renderer — turns a `SecurityPentestRunOutput` into
|
|
121
|
+
* the three-panel HTML report the course showcase renders (findings
|
|
122
|
+
* card / PoC replay accordion / patch diff viewer). Exposed on the
|
|
123
|
+
* SDK so course pipelines don't have to re-derive the layout in user
|
|
124
|
+
* code. Emits a self-contained HTML document: inlined CSS, no
|
|
125
|
+
* external dependencies, deterministic node order, safe to
|
|
126
|
+
* `iframe`-embed. */
|
|
127
|
+
export declare function renderPentestReportHtml(out: SecurityPentestRunOutput, options?: {
|
|
128
|
+
title?: string;
|
|
129
|
+
}): string;
|
|
130
|
+
//# sourceMappingURL=pentest.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pentest.d.ts","sourceRoot":"","sources":["../src/pentest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,KAAK,EACV,uBAAuB,EACvB,wBAAwB,EAKzB,MAAM,oBAAoB,CAAC;AAE5B,eAAO,MAAM,mBAAmB,6IAQtB,CAAC;AACX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEpE,qEAAqE;AACrE,qBAAa,YAAa,SAAQ,aAAa;gBACjC,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM;CAIpD;AAED;;wDAEwD;AACxD,qBAAa,sBAAuB,SAAQ,YAAY;gBAEpD,OAAO,SAA8H;CAKxI;AAED;;sEAEsE;AACtE,qBAAa,sBAAuB,SAAQ,YAAY;gBAEpD,OAAO,SAAkG;CAK5G;AAED;oEACoE;AACpE,qBAAa,mBAAoB,SAAQ,YAAY;gBAEjD,OAAO,SAA4G;CAKtH;AAED;;0BAE0B;AAC1B,qBAAa,yBAA0B,SAAQ,YAAY;gBAEvD,OAAO,SAA0G;CAKpH;AAED;;yCAEyC;AACzC,qBAAa,aAAc,SAAQ,YAAY;gBAE3C,OAAO,SAAqG;CAK/G;AAED;;+CAE+C;AAC/C,qBAAa,mBAAoB,SAAQ,YAAY;gBAEjD,OAAO,SAAuG;CAKjH;AAED;;kEAEkE;AAClE,qBAAa,iBAAkB,SAAQ,YAAY;gBACrC,OAAO,EAAE,MAAM;CAI5B;AAED;;2DAE2D;AAC3D,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,YAAY,CAmB3E;AAED;;;kDAGkD;AAClD,OAAO,QAAQ,gBAAgB,CAAC;IAC9B,UAAU,iBAAiB;QACzB;;;;;;;sEAO8D;QAC9D,UAAU,CACR,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC,wBAAwB,CAAC,CAAC;KACtC;CACF;AAED;;sEAEsE;AACtE,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,CA0B3D;AAoSD;;+DAE+D;AAC/D,wBAAgB,2BAA2B,CACzC,GAAG,EAAE,MAAM,GACV;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CASpD;AAED;;;;;;sBAMsB;AACtB,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,wBAAwB,EAC7B,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAC3B,MAAM,CAwBR"}
|
package/dist/pentest.js
ADDED
|
@@ -0,0 +1,519 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `cv.security.pentestRun` — hand-written orchestration for the
|
|
3
|
+
* `agent-pentest` course.
|
|
4
|
+
*
|
|
5
|
+
* The pentest agent (open-source `strix-agent`, Apache-2.0) runs
|
|
6
|
+
* locally against a target the user owns — usually a self-hosted
|
|
7
|
+
* OWASP Juice Shop or a staging build of their own web app. The SDK
|
|
8
|
+
* mints a one-time LLM credential scoped to this run via
|
|
9
|
+
* `service.clawvard`, spawns the `strix` CLI as a subprocess with the
|
|
10
|
+
* credential exposed as `LLM_API_KEY`, and normalises the
|
|
11
|
+
* `strix_runs/<name>/` directory into the typed
|
|
12
|
+
* `SecurityPentestRunOutput` shape when the process exits.
|
|
13
|
+
*
|
|
14
|
+
* Node-only. Attempting to call `pentestRun` in a browser (or any
|
|
15
|
+
* environment without `child_process`) throws
|
|
16
|
+
* `SandboxMissingError` early — Strix launches its agent sandbox in a
|
|
17
|
+
* local Docker container.
|
|
18
|
+
*
|
|
19
|
+
* The credential handed to Strix expires when the run resolves or
|
|
20
|
+
* hits the wall-clock timeout. The SDK does NOT hard-code an
|
|
21
|
+
* OpenAI-compatible relay base URL in the run — the endpoint is
|
|
22
|
+
* chosen by `service.clawvard` at mint time.
|
|
23
|
+
*
|
|
24
|
+
* Callers can pattern-match on the SDK-side error subclasses:
|
|
25
|
+
*
|
|
26
|
+
* try {
|
|
27
|
+
* await cv.security.pentestRun({...});
|
|
28
|
+
* } catch (err) {
|
|
29
|
+
* if (err instanceof TargetUnreachableError) { ... }
|
|
30
|
+
* if (err instanceof InvalidTargetHostError) { ... }
|
|
31
|
+
* if (err instanceof SandboxMissingError) { ... }
|
|
32
|
+
* if (err instanceof OwnershipUnconfirmedError) { ... }
|
|
33
|
+
* if (err instanceof LlmQuotaError) { ... }
|
|
34
|
+
* if (err instanceof PentestTimeoutError) { ... }
|
|
35
|
+
* if (err instanceof StrixCrashedError) { ... }
|
|
36
|
+
* }
|
|
37
|
+
*/
|
|
38
|
+
import { ClawvardError } from "./errors.js";
|
|
39
|
+
import { SecurityNamespace } from "./generated.js";
|
|
40
|
+
export const PENTEST_ERROR_CODES = [
|
|
41
|
+
"target_unreachable",
|
|
42
|
+
"invalid_target_host",
|
|
43
|
+
"sandbox_missing",
|
|
44
|
+
"ownership_unconfirmed",
|
|
45
|
+
"llm_quota",
|
|
46
|
+
"timeout",
|
|
47
|
+
"strix_crashed",
|
|
48
|
+
];
|
|
49
|
+
/** Base class for any error surfaced by `cv.security.pentestRun`. */
|
|
50
|
+
export class PentestError extends ClawvardError {
|
|
51
|
+
constructor(code, message) {
|
|
52
|
+
super(message, code);
|
|
53
|
+
this.name = "PentestError";
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
/** `HEAD <targetUrl>` failed before Strix could be spawned. Usually
|
|
57
|
+
* means the user forgot to `docker run` the target, or bound it to a
|
|
58
|
+
* port other than the one they wrote in the prompt. */
|
|
59
|
+
export class TargetUnreachableError extends PentestError {
|
|
60
|
+
constructor(message = "Target URL could not be reached — start the target (e.g. `docker run --rm -p 3000:3000 bkimminich/juice-shop`) and retry.") {
|
|
61
|
+
super("target_unreachable", message);
|
|
62
|
+
this.name = "TargetUnreachableError";
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
/** Either the input `targetUrl` isn't in `allowedHosts`, or Strix
|
|
66
|
+
* tried to reach a host outside the whitelist mid-run. The SDK kills
|
|
67
|
+
* the run instead of letting a coerced prompt escape the sandbox. */
|
|
68
|
+
export class InvalidTargetHostError extends PentestError {
|
|
69
|
+
constructor(message = "Target host is not in `allowedHosts`. Add the exact host:port shown in `targetUrl` and retry.") {
|
|
70
|
+
super("invalid_target_host", message);
|
|
71
|
+
this.name = "InvalidTargetHostError";
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
/** Local Docker daemon is missing or unreachable, `strix` is not on
|
|
75
|
+
* PATH, or the environment cannot spawn subprocesses (browser). */
|
|
76
|
+
export class SandboxMissingError extends PentestError {
|
|
77
|
+
constructor(message = "Local sandbox is not ready — install strix-agent (`pipx install strix-agent`), start Docker, and retry.") {
|
|
78
|
+
super("sandbox_missing", message);
|
|
79
|
+
this.name = "SandboxMissingError";
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
/** `ownership.confirmed` was missing or `false`. The service will not
|
|
83
|
+
* attack a target the caller has not declared they own or are
|
|
84
|
+
* authorised to test. */
|
|
85
|
+
export class OwnershipUnconfirmedError extends PentestError {
|
|
86
|
+
constructor(message = "Set `ownership.confirmed = true` and a truthful `ownership.statement` to run against your own target.") {
|
|
87
|
+
super("ownership_unconfirmed", message);
|
|
88
|
+
this.name = "OwnershipUnconfirmedError";
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
/** The caller's Clawvard credits balance is below the per-run budget
|
|
92
|
+
* the SDK reserved from `security.pentest-run`. Top up at
|
|
93
|
+
* https://clawvard.school and retry. */
|
|
94
|
+
export class LlmQuotaError extends PentestError {
|
|
95
|
+
constructor(message = "Not enough Clawvard credits reserved for this run — top up at https://clawvard.school and retry.") {
|
|
96
|
+
super("llm_quota", message);
|
|
97
|
+
this.name = "LlmQuotaError";
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
/** Wall-clock timeout hit before Strix marked the run complete. The
|
|
101
|
+
* scoped LLM credential is revoked at this point so the run cannot
|
|
102
|
+
* keep grinding credits in the background. */
|
|
103
|
+
export class PentestTimeoutError extends PentestError {
|
|
104
|
+
constructor(message = "Pentest run exceeded its wall-clock budget. Split by iteration cap or retry with a smaller target.") {
|
|
105
|
+
super("timeout", message);
|
|
106
|
+
this.name = "PentestTimeoutError";
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
/** Strix subprocess exited non-zero. Message carries the tail of
|
|
110
|
+
* Strix's stderr so the caller can see what actually broke — usually
|
|
111
|
+
* a docker-in-docker permissions issue or an interrupted run. */
|
|
112
|
+
export class StrixCrashedError extends PentestError {
|
|
113
|
+
constructor(message) {
|
|
114
|
+
super("strix_crashed", message);
|
|
115
|
+
this.name = "StrixCrashedError";
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
/** Map a backend error envelope (`{ error: code, message }`) to the
|
|
119
|
+
* matching SDK class. Called when the credential-mint step or the
|
|
120
|
+
* server-side preflight fails before Strix is spawned. */
|
|
121
|
+
export function mapPentestError(code, message) {
|
|
122
|
+
switch (code) {
|
|
123
|
+
case "target_unreachable":
|
|
124
|
+
return new TargetUnreachableError(message);
|
|
125
|
+
case "invalid_target_host":
|
|
126
|
+
return new InvalidTargetHostError(message);
|
|
127
|
+
case "sandbox_missing":
|
|
128
|
+
return new SandboxMissingError(message);
|
|
129
|
+
case "ownership_unconfirmed":
|
|
130
|
+
return new OwnershipUnconfirmedError(message);
|
|
131
|
+
case "llm_quota":
|
|
132
|
+
return new LlmQuotaError(message);
|
|
133
|
+
case "timeout":
|
|
134
|
+
return new PentestTimeoutError(message);
|
|
135
|
+
case "strix_crashed":
|
|
136
|
+
return new StrixCrashedError(message);
|
|
137
|
+
default:
|
|
138
|
+
return new PentestError(code, message);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
/** Attach the hand-written `pentestRun` to the SecurityNamespace
|
|
142
|
+
* prototype. Called from the Clawvard constructor so browsers still
|
|
143
|
+
* see the method (even if calling it throws SandboxMissingError). */
|
|
144
|
+
export function installPentestRun(_client) {
|
|
145
|
+
if (Object.prototype.hasOwnProperty.call(SecurityNamespace.prototype, "pentestRun")) {
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
148
|
+
async function pentestRunImpl(input) {
|
|
149
|
+
validateOwnership(input.ownership);
|
|
150
|
+
validateAllowedHosts(input.targetUrl, input.allowedHosts);
|
|
151
|
+
const nodeApis = await loadNodeApis();
|
|
152
|
+
if (!nodeApis) {
|
|
153
|
+
throw new SandboxMissingError("cv.security.pentestRun requires Node.js — it spawns the local `strix` CLI. Browser environments are not supported.");
|
|
154
|
+
}
|
|
155
|
+
await preflightTarget(input.targetUrl);
|
|
156
|
+
const outputDir = await resolveOutputDir(input, nodeApis);
|
|
157
|
+
const credential = await rethrowAsPentest(this.mintPentestCredential(input));
|
|
158
|
+
return runStrix(input, credential, outputDir, nodeApis);
|
|
159
|
+
}
|
|
160
|
+
Object.defineProperty(SecurityNamespace.prototype, "pentestRun", {
|
|
161
|
+
value: pentestRunImpl,
|
|
162
|
+
writable: true,
|
|
163
|
+
configurable: true,
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
async function loadNodeApis() {
|
|
167
|
+
try {
|
|
168
|
+
const [cp, fs, path, os] = await Promise.all([
|
|
169
|
+
import("node:child_process"),
|
|
170
|
+
import("node:fs/promises"),
|
|
171
|
+
import("node:path"),
|
|
172
|
+
import("node:os"),
|
|
173
|
+
]);
|
|
174
|
+
return { spawn: cp.spawn, fs, path, os };
|
|
175
|
+
}
|
|
176
|
+
catch {
|
|
177
|
+
return null;
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
/** Throw `OwnershipUnconfirmedError` before hitting the server if the
|
|
181
|
+
* caller has not confirmed they own the target. */
|
|
182
|
+
function validateOwnership(ownership) {
|
|
183
|
+
if (!ownership || ownership.confirmed !== true) {
|
|
184
|
+
throw new OwnershipUnconfirmedError();
|
|
185
|
+
}
|
|
186
|
+
const statement = ownership.statement?.trim();
|
|
187
|
+
if (!statement || statement.length < 4) {
|
|
188
|
+
throw new OwnershipUnconfirmedError("Set a truthful `ownership.statement` describing why you are authorised to test this target.");
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
/** Throw `InvalidTargetHostError` when `targetUrl` isn't covered by
|
|
192
|
+
* `allowedHosts`. Matches on host+port literals — this is not a
|
|
193
|
+
* wildcard matcher; the whitelist has to name the exact origin the
|
|
194
|
+
* caller wrote into `targetUrl`. */
|
|
195
|
+
function validateAllowedHosts(targetUrl, allowedHosts) {
|
|
196
|
+
if (!Array.isArray(allowedHosts) || allowedHosts.length === 0) {
|
|
197
|
+
throw new InvalidTargetHostError("Provide at least one entry in `allowedHosts` — the SDK will not run against a target without a scoped whitelist.");
|
|
198
|
+
}
|
|
199
|
+
let parsed;
|
|
200
|
+
try {
|
|
201
|
+
parsed = new URL(targetUrl);
|
|
202
|
+
}
|
|
203
|
+
catch {
|
|
204
|
+
throw new InvalidTargetHostError("targetUrl is not a parseable URL. Use `http://<host>:<port>` or `https://<host>`.");
|
|
205
|
+
}
|
|
206
|
+
if (parsed.protocol !== "http:" && parsed.protocol !== "https:") {
|
|
207
|
+
throw new InvalidTargetHostError("Only http and https schemes are accepted for `targetUrl`.");
|
|
208
|
+
}
|
|
209
|
+
const originShape = parsed.port
|
|
210
|
+
? `${parsed.hostname}:${parsed.port}`
|
|
211
|
+
: parsed.hostname;
|
|
212
|
+
if (!allowedHosts.includes(originShape) && !allowedHosts.includes(parsed.hostname)) {
|
|
213
|
+
throw new InvalidTargetHostError(`targetUrl origin \`${originShape}\` is not in allowedHosts. Include it verbatim and retry.`);
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
/** `HEAD` the target so we fail fast before spending credits on a
|
|
217
|
+
* Strix startup that will just crash. 3s hard budget. */
|
|
218
|
+
async function preflightTarget(targetUrl) {
|
|
219
|
+
const ctrl = new AbortController();
|
|
220
|
+
const timer = setTimeout(() => ctrl.abort(), 3000);
|
|
221
|
+
try {
|
|
222
|
+
const res = await fetch(targetUrl, { method: "HEAD", signal: ctrl.signal, redirect: "follow" });
|
|
223
|
+
if (!res.ok && res.status >= 500) {
|
|
224
|
+
throw new TargetUnreachableError(`Target responded with ${res.status}. Check the app is up and try again.`);
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
catch (err) {
|
|
228
|
+
if (err instanceof TargetUnreachableError)
|
|
229
|
+
throw err;
|
|
230
|
+
throw new TargetUnreachableError(`Could not reach ${targetUrl}. Start the target and retry (docker run bkimminich/juice-shop for the demo).`);
|
|
231
|
+
}
|
|
232
|
+
finally {
|
|
233
|
+
clearTimeout(timer);
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
/** Resolve the working directory for `strix_runs/<name>/` output.
|
|
237
|
+
* Defaults to `./strix_runs/` under the caller's CWD when
|
|
238
|
+
* `outputDir` is unset. */
|
|
239
|
+
async function resolveOutputDir(input, nodeApis) {
|
|
240
|
+
const dir = input.outputDir ?? nodeApis.path.join(process.cwd(), "strix_runs");
|
|
241
|
+
await nodeApis.fs.mkdir(dir, { recursive: true });
|
|
242
|
+
return dir;
|
|
243
|
+
}
|
|
244
|
+
/** Spawn the `strix` CLI, pipe stdio into log files under
|
|
245
|
+
* `outputDir/<runId>/`, and resolve to the typed run envelope on
|
|
246
|
+
* clean exit. Enforces `maxIterations`-derived wall-clock timeout
|
|
247
|
+
* (2 min per iteration). */
|
|
248
|
+
async function runStrix(input, cred, outputDir, nodeApis) {
|
|
249
|
+
const runDir = nodeApis.path.join(outputDir, cred.runId);
|
|
250
|
+
await nodeApis.fs.mkdir(runDir, { recursive: true });
|
|
251
|
+
const stdoutPath = nodeApis.path.join(runDir, "strix.stdout.log");
|
|
252
|
+
const stderrPath = nodeApis.path.join(runDir, "strix.stderr.log");
|
|
253
|
+
const env = {
|
|
254
|
+
...process.env,
|
|
255
|
+
LLM_API_KEY: cred.scopedApiKey,
|
|
256
|
+
STRIX_LLM: `${cred.provider}/${cred.model}`,
|
|
257
|
+
...(cred.scopedApiBase ? { LLM_API_BASE: cred.scopedApiBase } : {}),
|
|
258
|
+
STRIX_RUN_NAME: cred.runId,
|
|
259
|
+
STRIX_OUTPUT_DIR: runDir,
|
|
260
|
+
};
|
|
261
|
+
const args = [
|
|
262
|
+
"--target",
|
|
263
|
+
input.targetUrl,
|
|
264
|
+
"--scan-mode",
|
|
265
|
+
"standard",
|
|
266
|
+
"--non-interactive",
|
|
267
|
+
];
|
|
268
|
+
const maxIterations = input.maxIterations ?? 40;
|
|
269
|
+
const timeoutMs = Math.min(maxIterations * 120_000, 4 * 60 * 60 * 1000);
|
|
270
|
+
return new Promise((resolve, reject) => {
|
|
271
|
+
let killed = false;
|
|
272
|
+
const child = nodeApis.spawn("strix", args, {
|
|
273
|
+
env,
|
|
274
|
+
cwd: outputDir,
|
|
275
|
+
stdio: ["ignore", "pipe", "pipe"],
|
|
276
|
+
});
|
|
277
|
+
// Pipe strix stdio into on-disk logs so the user can inspect them
|
|
278
|
+
// after the fact; we tail stderr into the crash message.
|
|
279
|
+
let stderrTail = "";
|
|
280
|
+
child.stdout?.on("data", async (chunk) => {
|
|
281
|
+
try {
|
|
282
|
+
await nodeApis.fs.appendFile(stdoutPath, chunk);
|
|
283
|
+
}
|
|
284
|
+
catch { /* best effort */ }
|
|
285
|
+
});
|
|
286
|
+
child.stderr?.on("data", async (chunk) => {
|
|
287
|
+
try {
|
|
288
|
+
await nodeApis.fs.appendFile(stderrPath, chunk);
|
|
289
|
+
}
|
|
290
|
+
catch { /* best effort */ }
|
|
291
|
+
stderrTail = (stderrTail + chunk.toString()).slice(-2048);
|
|
292
|
+
});
|
|
293
|
+
const timer = setTimeout(() => {
|
|
294
|
+
killed = true;
|
|
295
|
+
child.kill("SIGKILL");
|
|
296
|
+
}, timeoutMs);
|
|
297
|
+
child.on("error", (err) => {
|
|
298
|
+
clearTimeout(timer);
|
|
299
|
+
if (err.code === "ENOENT") {
|
|
300
|
+
reject(new SandboxMissingError("The `strix` CLI is not on PATH. Install with `pipx install strix-agent` and retry."));
|
|
301
|
+
return;
|
|
302
|
+
}
|
|
303
|
+
reject(new StrixCrashedError(err.message));
|
|
304
|
+
});
|
|
305
|
+
child.on("exit", async (code) => {
|
|
306
|
+
clearTimeout(timer);
|
|
307
|
+
if (killed) {
|
|
308
|
+
reject(new PentestTimeoutError());
|
|
309
|
+
return;
|
|
310
|
+
}
|
|
311
|
+
if (code !== 0) {
|
|
312
|
+
reject(new StrixCrashedError(`strix exited with code ${code}. Stderr tail:\n${stderrTail || "(empty)"}`));
|
|
313
|
+
return;
|
|
314
|
+
}
|
|
315
|
+
try {
|
|
316
|
+
const out = await hydrateOutput(cred, input, runDir, nodeApis);
|
|
317
|
+
resolve(out);
|
|
318
|
+
}
|
|
319
|
+
catch (err) {
|
|
320
|
+
reject(new StrixCrashedError(`strix finished but its output could not be parsed: ${err.message}`));
|
|
321
|
+
}
|
|
322
|
+
});
|
|
323
|
+
});
|
|
324
|
+
}
|
|
325
|
+
/** Read `<runDir>/report.json` (findings/pocs/patch) plus the
|
|
326
|
+
* self-contained `report.html` and pack them into the typed run
|
|
327
|
+
* envelope. Falls back to reading `findings.json` for older Strix
|
|
328
|
+
* versions that write per-artefact files. */
|
|
329
|
+
async function hydrateOutput(cred, input, runDir, nodeApis) {
|
|
330
|
+
const reportJson = await readJsonSafely(nodeApis.path.join(runDir, "report.json"), nodeApis);
|
|
331
|
+
const findings = reportJson?.findings ?? [];
|
|
332
|
+
const pocs = reportJson?.pocs ?? [];
|
|
333
|
+
const patch = reportJson?.patch ?? {
|
|
334
|
+
diff: "",
|
|
335
|
+
branchSuggestion: `pentest/${cred.runId}`,
|
|
336
|
+
};
|
|
337
|
+
const reportHtmlPath = nodeApis.path.join(runDir, "report.html");
|
|
338
|
+
if (!(await pathExists(reportHtmlPath, nodeApis))) {
|
|
339
|
+
// Compose a minimal HTML report from the JSON when Strix didn't
|
|
340
|
+
// emit one — deterministic, no-network fallback.
|
|
341
|
+
await nodeApis.fs.writeFile(reportHtmlPath, renderPentestReportHtml({
|
|
342
|
+
runId: cred.runId,
|
|
343
|
+
target: input.targetUrl,
|
|
344
|
+
findings,
|
|
345
|
+
pocs,
|
|
346
|
+
patch,
|
|
347
|
+
reportHtmlPath: "",
|
|
348
|
+
costCredits: cred.budgetCredits,
|
|
349
|
+
}));
|
|
350
|
+
}
|
|
351
|
+
return {
|
|
352
|
+
runId: cred.runId,
|
|
353
|
+
target: input.targetUrl,
|
|
354
|
+
findings,
|
|
355
|
+
pocs,
|
|
356
|
+
patch,
|
|
357
|
+
reportHtmlPath,
|
|
358
|
+
costCredits: cred.budgetCredits,
|
|
359
|
+
};
|
|
360
|
+
}
|
|
361
|
+
async function readJsonSafely(filePath, nodeApis) {
|
|
362
|
+
try {
|
|
363
|
+
const text = await nodeApis.fs.readFile(filePath, "utf-8");
|
|
364
|
+
return JSON.parse(text);
|
|
365
|
+
}
|
|
366
|
+
catch {
|
|
367
|
+
return null;
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
async function pathExists(filePath, nodeApis) {
|
|
371
|
+
try {
|
|
372
|
+
await nodeApis.fs.stat(filePath);
|
|
373
|
+
return true;
|
|
374
|
+
}
|
|
375
|
+
catch {
|
|
376
|
+
return false;
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
/** Backend errors land as `ClawvardError` from the HTTP client; we
|
|
380
|
+
* rewrap the ones whose `code` matches a `PentestErrorCode` into the
|
|
381
|
+
* matching subclass. Non-matching errors bubble up unchanged. */
|
|
382
|
+
async function rethrowAsPentest(p) {
|
|
383
|
+
try {
|
|
384
|
+
return await p;
|
|
385
|
+
}
|
|
386
|
+
catch (err) {
|
|
387
|
+
if (err instanceof PentestError)
|
|
388
|
+
throw err;
|
|
389
|
+
if (err instanceof ClawvardError) {
|
|
390
|
+
const code = err.code;
|
|
391
|
+
if (PENTEST_ERROR_CODES.includes(code)) {
|
|
392
|
+
throw mapPentestError(code, err.message);
|
|
393
|
+
}
|
|
394
|
+
}
|
|
395
|
+
if (err instanceof Error) {
|
|
396
|
+
const parsed = parsePentestCodeFromMessage(err.message);
|
|
397
|
+
if (parsed)
|
|
398
|
+
throw mapPentestError(parsed.code, parsed.message);
|
|
399
|
+
}
|
|
400
|
+
throw err;
|
|
401
|
+
}
|
|
402
|
+
}
|
|
403
|
+
/** Pull `{ code, message }` out of a `"<code>|<message>"` job-failure
|
|
404
|
+
* message. Mirrors the id-photo convention so a future job-runtime
|
|
405
|
+
* handler can surface typed failures via the same channel. */
|
|
406
|
+
export function parsePentestCodeFromMessage(msg) {
|
|
407
|
+
const pipeIdx = msg.indexOf("|");
|
|
408
|
+
if (pipeIdx <= 0)
|
|
409
|
+
return null;
|
|
410
|
+
const candidate = msg.slice(0, pipeIdx);
|
|
411
|
+
if (!PENTEST_ERROR_CODES.includes(candidate))
|
|
412
|
+
return null;
|
|
413
|
+
return {
|
|
414
|
+
code: candidate,
|
|
415
|
+
message: msg.slice(pipeIdx + 1),
|
|
416
|
+
};
|
|
417
|
+
}
|
|
418
|
+
/** Deterministic renderer — turns a `SecurityPentestRunOutput` into
|
|
419
|
+
* the three-panel HTML report the course showcase renders (findings
|
|
420
|
+
* card / PoC replay accordion / patch diff viewer). Exposed on the
|
|
421
|
+
* SDK so course pipelines don't have to re-derive the layout in user
|
|
422
|
+
* code. Emits a self-contained HTML document: inlined CSS, no
|
|
423
|
+
* external dependencies, deterministic node order, safe to
|
|
424
|
+
* `iframe`-embed. */
|
|
425
|
+
export function renderPentestReportHtml(out, options) {
|
|
426
|
+
const title = escapeHtml(options?.title ?? `Pen-Test Report · ${out.target}`);
|
|
427
|
+
const findings = out.findings.map(renderFindingCard).join("\n");
|
|
428
|
+
const pocs = out.pocs.map(renderPocCard).join("\n");
|
|
429
|
+
const patch = renderPatchCard(out.patch);
|
|
430
|
+
return [
|
|
431
|
+
`<!DOCTYPE html>`,
|
|
432
|
+
`<html lang="en">`,
|
|
433
|
+
`<head>`,
|
|
434
|
+
`<meta charset="utf-8"/>`,
|
|
435
|
+
`<meta name="viewport" content="width=device-width, initial-scale=1"/>`,
|
|
436
|
+
`<title>${title}</title>`,
|
|
437
|
+
`<style>${PENTEST_REPORT_CSS}</style>`,
|
|
438
|
+
`</head>`,
|
|
439
|
+
`<body>`,
|
|
440
|
+
`<main class="pt-report">`,
|
|
441
|
+
`<header><h1>${title}</h1><p class="meta">${out.findings.length} findings · ${out.pocs.length} PoCs · ${out.costCredits} credits</p></header>`,
|
|
442
|
+
`<section class="findings"><h2>Findings</h2>${findings}</section>`,
|
|
443
|
+
`<section class="pocs"><h2>Proof-of-concept replay</h2>${pocs}</section>`,
|
|
444
|
+
`<section class="patch"><h2>Remediation patch</h2>${patch}</section>`,
|
|
445
|
+
`</main>`,
|
|
446
|
+
`</body>`,
|
|
447
|
+
`</html>`,
|
|
448
|
+
].join("\n");
|
|
449
|
+
}
|
|
450
|
+
function renderFindingCard(f) {
|
|
451
|
+
const badge = escapeHtml(f.cvss.severity);
|
|
452
|
+
const score = f.cvss.score.toFixed(1);
|
|
453
|
+
return [
|
|
454
|
+
`<article class="finding sev-${badge}">`,
|
|
455
|
+
`<header>`,
|
|
456
|
+
`<span class="badge">${badge.toUpperCase()} · CVSS ${escapeHtml(score)}</span>`,
|
|
457
|
+
`<h3>${escapeHtml(f.title)}</h3>`,
|
|
458
|
+
`<p class="cat">${escapeHtml(f.owaspCategory)} · <code>${escapeHtml(f.affectedEndpoint)}</code></p>`,
|
|
459
|
+
`</header>`,
|
|
460
|
+
`<p class="impact">${escapeHtml(f.impact)}</p>`,
|
|
461
|
+
`<p class="fix"><strong>Fix:</strong> ${escapeHtml(f.remediation)}</p>`,
|
|
462
|
+
`</article>`,
|
|
463
|
+
].join("");
|
|
464
|
+
}
|
|
465
|
+
function renderPocCard(p) {
|
|
466
|
+
return [
|
|
467
|
+
`<details class="poc">`,
|
|
468
|
+
`<summary><code>${escapeHtml(p.findingId)}</code> · ${escapeHtml(p.kind)}</summary>`,
|
|
469
|
+
`<pre>${escapeHtml(p.body)}</pre>`,
|
|
470
|
+
`<p class="indicator"><strong>Look for:</strong> ${escapeHtml(p.expectedIndicator)}</p>`,
|
|
471
|
+
`</details>`,
|
|
472
|
+
].join("");
|
|
473
|
+
}
|
|
474
|
+
function renderPatchCard(patch) {
|
|
475
|
+
const branch = escapeHtml(patch.branchSuggestion);
|
|
476
|
+
return [
|
|
477
|
+
`<p class="branch">Suggested branch: <code>${branch}</code></p>`,
|
|
478
|
+
`<pre class="diff">${escapeHtml(patch.diff)}</pre>`,
|
|
479
|
+
].join("");
|
|
480
|
+
}
|
|
481
|
+
/** Minimal HTML escape — enough for user-supplied strings coming out
|
|
482
|
+
* of the pentest run. We escape `&`, `<`, `>`, `"`, `'`. */
|
|
483
|
+
function escapeHtml(s) {
|
|
484
|
+
return s
|
|
485
|
+
.replace(/&/g, "&")
|
|
486
|
+
.replace(/</g, "<")
|
|
487
|
+
.replace(/>/g, ">")
|
|
488
|
+
.replace(/"/g, """)
|
|
489
|
+
.replace(/'/g, "'");
|
|
490
|
+
}
|
|
491
|
+
const PENTEST_REPORT_CSS = `
|
|
492
|
+
:root { --fg: #0f172a; --muted: #64748b; --card: #ffffff; --edge: #e2e8f0; --crit: #b91c1c; --high: #c2410c; --med: #a16207; --low: #0369a1; }
|
|
493
|
+
body { margin: 0; font: 15px/1.55 system-ui, -apple-system, "Segoe UI", sans-serif; color: var(--fg); background: #f8fafc; }
|
|
494
|
+
.pt-report { max-width: 960px; margin: 0 auto; padding: 32px 24px 64px; }
|
|
495
|
+
.pt-report > header h1 { font-size: 22px; margin: 0 0 4px; }
|
|
496
|
+
.pt-report .meta { color: var(--muted); margin: 0 0 24px; }
|
|
497
|
+
.pt-report section { margin-top: 28px; }
|
|
498
|
+
.pt-report section > h2 { font-size: 14px; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); margin: 0 0 12px; }
|
|
499
|
+
.finding { background: var(--card); border: 1px solid var(--edge); border-radius: 12px; padding: 16px 18px; margin-bottom: 12px; }
|
|
500
|
+
.finding header { display: flex; flex-direction: column; gap: 4px; margin-bottom: 8px; }
|
|
501
|
+
.finding .badge { font-size: 11px; padding: 3px 8px; border-radius: 999px; background: #f1f5f9; color: var(--fg); align-self: flex-start; font-weight: 600; }
|
|
502
|
+
.finding.sev-critical .badge { background: #fee2e2; color: var(--crit); }
|
|
503
|
+
.finding.sev-high .badge { background: #ffedd5; color: var(--high); }
|
|
504
|
+
.finding.sev-medium .badge { background: #fef3c7; color: var(--med); }
|
|
505
|
+
.finding.sev-low .badge { background: #e0f2fe; color: var(--low); }
|
|
506
|
+
.finding h3 { margin: 0; font-size: 16px; }
|
|
507
|
+
.finding .cat { margin: 0; color: var(--muted); font-size: 13px; }
|
|
508
|
+
.finding .cat code { background: #f1f5f9; padding: 2px 6px; border-radius: 6px; }
|
|
509
|
+
.finding .impact { margin: 6px 0 8px; }
|
|
510
|
+
.finding .fix { margin: 0; color: var(--muted); }
|
|
511
|
+
.poc { background: var(--card); border: 1px solid var(--edge); border-radius: 10px; padding: 10px 14px; margin-bottom: 10px; }
|
|
512
|
+
.poc summary { cursor: pointer; font-weight: 500; }
|
|
513
|
+
.poc pre { background: #0f172a; color: #e2e8f0; padding: 12px 14px; border-radius: 8px; overflow-x: auto; font: 13px/1.5 ui-monospace, SFMono-Regular, monospace; }
|
|
514
|
+
.poc .indicator { margin: 8px 0 0; color: var(--muted); font-size: 13px; }
|
|
515
|
+
.patch .branch { margin: 0 0 8px; color: var(--muted); }
|
|
516
|
+
.patch .branch code { background: #f1f5f9; padding: 2px 6px; border-radius: 6px; }
|
|
517
|
+
.patch pre.diff { background: #0f172a; color: #e2e8f0; padding: 14px 16px; border-radius: 10px; overflow-x: auto; font: 13px/1.55 ui-monospace, SFMono-Regular, monospace; }
|
|
518
|
+
`;
|
|
519
|
+
//# sourceMappingURL=pentest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pentest.js","sourceRoot":"","sources":["../src/pentest.ts"],"names":[],"mappings":"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"}
|
package/dist/service-types.d.ts
CHANGED
|
@@ -592,6 +592,158 @@ export interface ImageIdPhotoLayoutOutput {
|
|
|
592
592
|
sheet: IdPhotoSheet;
|
|
593
593
|
expiresAt: string;
|
|
594
594
|
}
|
|
595
|
+
/** LLM model tier the pentest agent runs under. Determines both the
|
|
596
|
+
* credit rate on `cv.security.pentestRun` and the reasoning depth of
|
|
597
|
+
* the underlying Strix loop. Server-side pricing table in
|
|
598
|
+
* `pricingForService("security.pentest-run", ...)`. */
|
|
599
|
+
export type SecurityPentestLlmModel = "claude-sonnet-4-6" | "claude-opus-4-6" | "claude-opus-4-7";
|
|
600
|
+
/** Explicit ownership statement — every `pentestRun` requires the
|
|
601
|
+
* caller to declare they own the target or have written permission to
|
|
602
|
+
* test it. There is no `undeclared` value: leaving `confirmed` off
|
|
603
|
+
* fails preflight with `E_OWNERSHIP_UNCONFIRMED`. */
|
|
604
|
+
export interface SecurityPentestOwnership {
|
|
605
|
+
/** Must be `true`. Any other value trips preflight. */
|
|
606
|
+
confirmed: true;
|
|
607
|
+
/** Free-form statement recorded verbatim on the run (e.g. "I own
|
|
608
|
+
* this app" or "I have written permission from <party>"). Kept for
|
|
609
|
+
* audit and shown at the top of the run summary. ≤ 512 chars. */
|
|
610
|
+
statement: string;
|
|
611
|
+
}
|
|
612
|
+
/** OWASP Top-10 findings surfaced by the run — one entry per distinct
|
|
613
|
+
* finding. Bound to the CVSS 3.1 vector so callers can sort by real
|
|
614
|
+
* severity instead of a coarse `high`/`low` label. */
|
|
615
|
+
export interface SecurityPentestFinding {
|
|
616
|
+
/** Stable per-run finding id — safe to use as a React key or as the
|
|
617
|
+
* join key against `pocs[]` and `patch.diff`. */
|
|
618
|
+
id: string;
|
|
619
|
+
/** Short human title, ≤ 96 chars. */
|
|
620
|
+
title: string;
|
|
621
|
+
/** OWASP Top-10 (2021) category label, e.g. `"A03:2021 – Injection"`.
|
|
622
|
+
* Free-form so future OWASP rev bumps don't require SDK bumps. */
|
|
623
|
+
owaspCategory: string;
|
|
624
|
+
/** CVSS 3.1 score envelope. Vector is the canonical
|
|
625
|
+
* `CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H` form so callers
|
|
626
|
+
* can re-parse it if the coarse `severity` band isn't enough. */
|
|
627
|
+
cvss: {
|
|
628
|
+
version: "3.1";
|
|
629
|
+
score: number;
|
|
630
|
+
vector: string;
|
|
631
|
+
severity: "low" | "medium" | "high" | "critical";
|
|
632
|
+
};
|
|
633
|
+
/** Endpoint the finding lives on, HTTP-verb + path shape when
|
|
634
|
+
* possible (`"POST /rest/user/login"`). */
|
|
635
|
+
affectedEndpoint: string;
|
|
636
|
+
/** One-paragraph impact summary — what the attacker can do. */
|
|
637
|
+
impact: string;
|
|
638
|
+
/** One-paragraph remediation summary — actionable, no filler. */
|
|
639
|
+
remediation: string;
|
|
640
|
+
}
|
|
641
|
+
/** Reproducible PoC attached to a finding — never a screenshot, always
|
|
642
|
+
* something the user can re-run. `curl` and `http-raw` are the common
|
|
643
|
+
* forms; `script` is reserved for multi-step chains (e.g. auth flow
|
|
644
|
+
* → IDOR). */
|
|
645
|
+
export interface SecurityPentestPoc {
|
|
646
|
+
/** Foreign key to `SecurityPentestFinding.id`. */
|
|
647
|
+
findingId: string;
|
|
648
|
+
kind: "curl" | "http-raw" | "script";
|
|
649
|
+
/** The full replay body — a single `curl` command, an HTTP request
|
|
650
|
+
* block, or a short shell script. */
|
|
651
|
+
body: string;
|
|
652
|
+
/** Free-form snippet from the observed response that flags a
|
|
653
|
+
* successful exploitation ("401 → 200", "reflected `<script>`",
|
|
654
|
+
* "admin cookie set"). ≤ 256 chars. */
|
|
655
|
+
expectedIndicator: string;
|
|
656
|
+
}
|
|
657
|
+
/** Remediation patch produced by the run. The `diff` is a real unified
|
|
658
|
+
* diff the caller can pipe to `git apply`; `branchSuggestion` is what
|
|
659
|
+
* the SDK would name the branch if the caller then opens a PR. */
|
|
660
|
+
export interface SecurityPentestPatch {
|
|
661
|
+
/** Unified diff (`diff --git a/... b/...`) covering all findings the
|
|
662
|
+
* run considered fixable in one PR. */
|
|
663
|
+
diff: string;
|
|
664
|
+
/** Suggested branch name, e.g. `"pentest/2026-07-04-juice-shop"`. */
|
|
665
|
+
branchSuggestion: string;
|
|
666
|
+
/** Optional URL of a PR the SDK opened on the caller's behalf (only
|
|
667
|
+
* populated when the caller passed `openPr: true` — off by default). */
|
|
668
|
+
openPrUrl?: string;
|
|
669
|
+
}
|
|
670
|
+
export interface SecurityPentestRunInput {
|
|
671
|
+
/** Target URL the run points at. Only `http` / `https` schemes are
|
|
672
|
+
* accepted. `http://localhost:*` is allowed so users can pen-test
|
|
673
|
+
* the app they just started via `docker run bkimminich/juice-shop`. */
|
|
674
|
+
targetUrl: string;
|
|
675
|
+
/** Host whitelist. Every request Strix issues is checked against
|
|
676
|
+
* this list; the SDK rejects the entire run with
|
|
677
|
+
* `E_INVALID_TARGET_HOST` if any request would leave the whitelist
|
|
678
|
+
* even before spawning Strix. Include the host+port shape you see
|
|
679
|
+
* in `targetUrl` (`"localhost:3000"`) — the SDK does the sanity
|
|
680
|
+
* match, no wildcards. */
|
|
681
|
+
allowedHosts: string[];
|
|
682
|
+
/** Upper bound on Strix step iterations. Default 40, hard cap 200 —
|
|
683
|
+
* keeps a runaway loop from grinding credits. Every step charges a
|
|
684
|
+
* fraction of `costCredits`, so a small run is cheap. */
|
|
685
|
+
maxIterations?: number;
|
|
686
|
+
/** Where Strix writes its structured findings + reports. Default
|
|
687
|
+
* `./strix_runs/<isoDate>-<slug>`. The SDK reads back from this
|
|
688
|
+
* directory when the subprocess exits and hydrates the return
|
|
689
|
+
* value. */
|
|
690
|
+
outputDir?: string;
|
|
691
|
+
/** LLM tier — see `SecurityPentestLlmModel`. Default
|
|
692
|
+
* `"claude-sonnet-4-6"`. */
|
|
693
|
+
llmModel?: SecurityPentestLlmModel;
|
|
694
|
+
/** Ownership declaration. Required — no defaults. */
|
|
695
|
+
ownership: SecurityPentestOwnership;
|
|
696
|
+
}
|
|
697
|
+
export interface SecurityPentestRunOutput {
|
|
698
|
+
/** Stable per-run identifier — the same value used in the output
|
|
699
|
+
* directory suffix and in server-side audit logs. */
|
|
700
|
+
runId: string;
|
|
701
|
+
/** Echoed `targetUrl` so downstream renderers don't need to hold on
|
|
702
|
+
* to the input. */
|
|
703
|
+
target: string;
|
|
704
|
+
findings: SecurityPentestFinding[];
|
|
705
|
+
pocs: SecurityPentestPoc[];
|
|
706
|
+
patch: SecurityPentestPatch;
|
|
707
|
+
/** Local path to the self-contained HTML report Strix produced —
|
|
708
|
+
* suitable to open in a browser or attach to a ticket. */
|
|
709
|
+
reportHtmlPath: string;
|
|
710
|
+
/** Credits actually deducted for this run. Charged incrementally
|
|
711
|
+
* server-side as the Strix loop iterates; the number here is the
|
|
712
|
+
* final total once the run has resolved. */
|
|
713
|
+
costCredits: number;
|
|
714
|
+
}
|
|
715
|
+
/** Envelope returned by the low-level `security.mint-pentest-credential`
|
|
716
|
+
* backend call — the auto-generated primitive `cv.security.mintPentestCredential`
|
|
717
|
+
* uses this shape verbatim. Users of the course never call this
|
|
718
|
+
* directly: the hand-written `cv.security.pentestRun` composes the
|
|
719
|
+
* mint step with the local Strix subprocess so callers only touch
|
|
720
|
+
* the full `SecurityPentestRunOutput`. */
|
|
721
|
+
export interface SecurityMintPentestCredentialOutput {
|
|
722
|
+
/** Stable per-run identifier — the SDK reuses this to name the
|
|
723
|
+
* `strix_runs/<runId>/` output directory so audit rows and local
|
|
724
|
+
* artefacts line up. */
|
|
725
|
+
runId: string;
|
|
726
|
+
/** LLM provider the scoped credential authenticates against — e.g.
|
|
727
|
+
* `"anthropic"`. Composed with `model` into `STRIX_LLM` for the
|
|
728
|
+
* Strix subprocess. */
|
|
729
|
+
provider: string;
|
|
730
|
+
/** Model id passed to Strix — e.g. `"claude-sonnet-4-6"`. */
|
|
731
|
+
model: string;
|
|
732
|
+
/** Scoped API key valid until `expiresAtIso`. Passed to Strix as
|
|
733
|
+
* `LLM_API_KEY`. Log-safe: do NOT print / persist / render in any
|
|
734
|
+
* user-facing surface. */
|
|
735
|
+
scopedApiKey: string;
|
|
736
|
+
/** Optional base URL Strix should point LiteLLM at. Omitted when
|
|
737
|
+
* the provider default (e.g. Anthropic's public API) is correct. */
|
|
738
|
+
scopedApiBase?: string;
|
|
739
|
+
/** Credits reserved for this run. If the caller's balance falls
|
|
740
|
+
* below this number the mint call fails with `E_LLM_QUOTA`. */
|
|
741
|
+
budgetCredits: number;
|
|
742
|
+
/** ISO-8601 expiry timestamp for `scopedApiKey`. The SDK cuts off
|
|
743
|
+
* the Strix subprocess a few seconds before this to avoid a race
|
|
744
|
+
* with the revoker. */
|
|
745
|
+
expiresAtIso: string;
|
|
746
|
+
}
|
|
595
747
|
export interface VideoRemoveSilenceInput {
|
|
596
748
|
inputUrl: string;
|
|
597
749
|
silenceThresholdDb?: number;
|
|
@@ -679,6 +831,10 @@ export interface ServiceTypeMap {
|
|
|
679
831
|
input: ImageIdPhotoLayoutInput;
|
|
680
832
|
output: ImageIdPhotoLayoutOutput;
|
|
681
833
|
};
|
|
834
|
+
"security.mint-pentest-credential": {
|
|
835
|
+
input: SecurityPentestRunInput;
|
|
836
|
+
output: SecurityMintPentestCredentialOutput;
|
|
837
|
+
};
|
|
682
838
|
}
|
|
683
839
|
/** Helper: resolve the input type for a given service id, or `unknown`. */
|
|
684
840
|
export type InputOf<Id extends string> = Id extends keyof ServiceTypeMap ? ServiceTypeMap[Id]["input"] : unknown;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service-types.d.ts","sourceRoot":"","sources":["../src/service-types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"service-types.d.ts","sourceRoot":"","sources":["../src/service-types.ts"],"names":[],"mappings":"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"}
|