@zivis/mcp 0.1.0-alpha.1
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/dist/api-client.d.ts +42 -0
- package/dist/api-client.js +145 -0
- package/dist/api-client.js.map +1 -0
- package/dist/auth/index.d.ts +29 -0
- package/dist/auth/index.js +73 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/auth/jwt.d.ts +24 -0
- package/dist/auth/jwt.js +25 -0
- package/dist/auth/jwt.js.map +1 -0
- package/dist/auth/keychain.d.ts +34 -0
- package/dist/auth/keychain.js +272 -0
- package/dist/auth/keychain.js.map +1 -0
- package/dist/auth/oauth.d.ts +38 -0
- package/dist/auth/oauth.js +241 -0
- package/dist/auth/oauth.js.map +1 -0
- package/dist/auth/sessions.d.ts +28 -0
- package/dist/auth/sessions.js +69 -0
- package/dist/auth/sessions.js.map +1 -0
- package/dist/auth/token-refresh.d.ts +24 -0
- package/dist/auth/token-refresh.js +91 -0
- package/dist/auth/token-refresh.js.map +1 -0
- package/dist/cli.d.ts +23 -0
- package/dist/cli.js +962 -0
- package/dist/cli.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.js +15 -0
- package/dist/index.js.map +1 -0
- package/dist/project-binding.d.ts +25 -0
- package/dist/project-binding.js +67 -0
- package/dist/project-binding.js.map +1 -0
- package/dist/resolve-application-id.d.ts +12 -0
- package/dist/resolve-application-id.js +21 -0
- package/dist/resolve-application-id.js.map +1 -0
- package/dist/sanitize.d.ts +23 -0
- package/dist/sanitize.js +125 -0
- package/dist/sanitize.js.map +1 -0
- package/dist/server.d.ts +14 -0
- package/dist/server.js +447 -0
- package/dist/server.js.map +1 -0
- package/dist/tools/check-project.d.ts +32 -0
- package/dist/tools/check-project.js +180 -0
- package/dist/tools/check-project.js.map +1 -0
- package/dist/tools/check-repo-trust.d.ts +33 -0
- package/dist/tools/check-repo-trust.js +212 -0
- package/dist/tools/check-repo-trust.js.map +1 -0
- package/dist/tools/create-diagram.d.ts +114 -0
- package/dist/tools/create-diagram.js +176 -0
- package/dist/tools/create-diagram.js.map +1 -0
- package/dist/tools/create-document.d.ts +28 -0
- package/dist/tools/create-document.js +53 -0
- package/dist/tools/create-document.js.map +1 -0
- package/dist/tools/discover-local-infra.d.ts +24 -0
- package/dist/tools/discover-local-infra.js +763 -0
- package/dist/tools/discover-local-infra.js.map +1 -0
- package/dist/tools/enterprise/capture-evidence.d.ts +54 -0
- package/dist/tools/enterprise/capture-evidence.js +72 -0
- package/dist/tools/enterprise/capture-evidence.js.map +1 -0
- package/dist/tools/enterprise/create-report-ticket.d.ts +34 -0
- package/dist/tools/enterprise/create-report-ticket.js +44 -0
- package/dist/tools/enterprise/create-report-ticket.js.map +1 -0
- package/dist/tools/enterprise/end-pentest-session.d.ts +33 -0
- package/dist/tools/enterprise/end-pentest-session.js +42 -0
- package/dist/tools/enterprise/end-pentest-session.js.map +1 -0
- package/dist/tools/enterprise/generate-report.d.ts +55 -0
- package/dist/tools/enterprise/generate-report.js +111 -0
- package/dist/tools/enterprise/generate-report.js.map +1 -0
- package/dist/tools/enterprise/get-org-zat.d.ts +27 -0
- package/dist/tools/enterprise/get-org-zat.js +62 -0
- package/dist/tools/enterprise/get-org-zat.js.map +1 -0
- package/dist/tools/enterprise/get-report-status.d.ts +27 -0
- package/dist/tools/enterprise/get-report-status.js +38 -0
- package/dist/tools/enterprise/get-report-status.js.map +1 -0
- package/dist/tools/enterprise/get-threat-model.d.ts +29 -0
- package/dist/tools/enterprise/get-threat-model.js +83 -0
- package/dist/tools/enterprise/get-threat-model.js.map +1 -0
- package/dist/tools/enterprise/list-agents.d.ts +42 -0
- package/dist/tools/enterprise/list-agents.js +95 -0
- package/dist/tools/enterprise/list-agents.js.map +1 -0
- package/dist/tools/enterprise/list-report-issues.d.ts +36 -0
- package/dist/tools/enterprise/list-report-issues.js +50 -0
- package/dist/tools/enterprise/list-report-issues.js.map +1 -0
- package/dist/tools/enterprise/list-threat-models.d.ts +36 -0
- package/dist/tools/enterprise/list-threat-models.js +82 -0
- package/dist/tools/enterprise/list-threat-models.js.map +1 -0
- package/dist/tools/enterprise/manage-actor.d.ts +58 -0
- package/dist/tools/enterprise/manage-actor.js +99 -0
- package/dist/tools/enterprise/manage-actor.js.map +1 -0
- package/dist/tools/enterprise/manage-attack-scenario.d.ts +70 -0
- package/dist/tools/enterprise/manage-attack-scenario.js +89 -0
- package/dist/tools/enterprise/manage-attack-scenario.js.map +1 -0
- package/dist/tools/enterprise/manage-component.d.ts +58 -0
- package/dist/tools/enterprise/manage-component.js +90 -0
- package/dist/tools/enterprise/manage-component.js.map +1 -0
- package/dist/tools/enterprise/manage-data-asset.d.ts +53 -0
- package/dist/tools/enterprise/manage-data-asset.js +90 -0
- package/dist/tools/enterprise/manage-data-asset.js.map +1 -0
- package/dist/tools/enterprise/manage-data-flow.d.ts +57 -0
- package/dist/tools/enterprise/manage-data-flow.js +98 -0
- package/dist/tools/enterprise/manage-data-flow.js.map +1 -0
- package/dist/tools/enterprise/manage-finding.d.ts +69 -0
- package/dist/tools/enterprise/manage-finding.js +106 -0
- package/dist/tools/enterprise/manage-finding.js.map +1 -0
- package/dist/tools/enterprise/manage-security-control.d.ts +59 -0
- package/dist/tools/enterprise/manage-security-control.js +96 -0
- package/dist/tools/enterprise/manage-security-control.js.map +1 -0
- package/dist/tools/enterprise/manage-test-case.d.ts +88 -0
- package/dist/tools/enterprise/manage-test-case.js +119 -0
- package/dist/tools/enterprise/manage-test-case.js.map +1 -0
- package/dist/tools/enterprise/promote-finding-to-issue.d.ts +36 -0
- package/dist/tools/enterprise/promote-finding-to-issue.js +65 -0
- package/dist/tools/enterprise/promote-finding-to-issue.js.map +1 -0
- package/dist/tools/enterprise/publish-report-version.d.ts +34 -0
- package/dist/tools/enterprise/publish-report-version.js +75 -0
- package/dist/tools/enterprise/publish-report-version.js.map +1 -0
- package/dist/tools/enterprise/publish-test-to-library.d.ts +31 -0
- package/dist/tools/enterprise/publish-test-to-library.js +40 -0
- package/dist/tools/enterprise/publish-test-to-library.js.map +1 -0
- package/dist/tools/enterprise/record-test-result.d.ts +67 -0
- package/dist/tools/enterprise/record-test-result.js +75 -0
- package/dist/tools/enterprise/record-test-result.js.map +1 -0
- package/dist/tools/enterprise/start-pentest-session.d.ts +35 -0
- package/dist/tools/enterprise/start-pentest-session.js +50 -0
- package/dist/tools/enterprise/start-pentest-session.js.map +1 -0
- package/dist/tools/enterprise/sync-report-section.d.ts +41 -0
- package/dist/tools/enterprise/sync-report-section.js +79 -0
- package/dist/tools/enterprise/sync-report-section.js.map +1 -0
- package/dist/tools/enterprise/update-report-issue.d.ts +55 -0
- package/dist/tools/enterprise/update-report-issue.js +69 -0
- package/dist/tools/enterprise/update-report-issue.js.map +1 -0
- package/dist/tools/generate-diagram.d.ts +36 -0
- package/dist/tools/generate-diagram.js +153 -0
- package/dist/tools/generate-diagram.js.map +1 -0
- package/dist/tools/get-agent-test-results.d.ts +41 -0
- package/dist/tools/get-agent-test-results.js +86 -0
- package/dist/tools/get-agent-test-results.js.map +1 -0
- package/dist/tools/get-application-overview.d.ts +27 -0
- package/dist/tools/get-application-overview.js +143 -0
- package/dist/tools/get-application-overview.js.map +1 -0
- package/dist/tools/get-application.d.ts +27 -0
- package/dist/tools/get-application.js +83 -0
- package/dist/tools/get-application.js.map +1 -0
- package/dist/tools/get-artifact-content.d.ts +29 -0
- package/dist/tools/get-artifact-content.js +86 -0
- package/dist/tools/get-artifact-content.js.map +1 -0
- package/dist/tools/get-diagram.d.ts +27 -0
- package/dist/tools/get-diagram.js +109 -0
- package/dist/tools/get-diagram.js.map +1 -0
- package/dist/tools/get-document.d.ts +22 -0
- package/dist/tools/get-document.js +43 -0
- package/dist/tools/get-document.js.map +1 -0
- package/dist/tools/get-finding-details.d.ts +28 -0
- package/dist/tools/get-finding-details.js +43 -0
- package/dist/tools/get-finding-details.js.map +1 -0
- package/dist/tools/get-findings.d.ts +57 -0
- package/dist/tools/get-findings.js +103 -0
- package/dist/tools/get-findings.js.map +1 -0
- package/dist/tools/get-oss-zat.d.ts +27 -0
- package/dist/tools/get-oss-zat.js +105 -0
- package/dist/tools/get-oss-zat.js.map +1 -0
- package/dist/tools/get-recon-scan.d.ts +27 -0
- package/dist/tools/get-recon-scan.js +46 -0
- package/dist/tools/get-recon-scan.js.map +1 -0
- package/dist/tools/get-scan-output.d.ts +27 -0
- package/dist/tools/get-scan-output.js +64 -0
- package/dist/tools/get-scan-output.js.map +1 -0
- package/dist/tools/get-scenario-details.d.ts +27 -0
- package/dist/tools/get-scenario-details.js +46 -0
- package/dist/tools/get-scenario-details.js.map +1 -0
- package/dist/tools/get-test-case-results.d.ts +37 -0
- package/dist/tools/get-test-case-results.js +66 -0
- package/dist/tools/get-test-case-results.js.map +1 -0
- package/dist/tools/get-test-details.d.ts +29 -0
- package/dist/tools/get-test-details.js +49 -0
- package/dist/tools/get-test-details.js.map +1 -0
- package/dist/tools/get-trust-keys.d.ts +22 -0
- package/dist/tools/get-trust-keys.js +67 -0
- package/dist/tools/get-trust-keys.js.map +1 -0
- package/dist/tools/import-openapi-endpoints.d.ts +33 -0
- package/dist/tools/import-openapi-endpoints.js +93 -0
- package/dist/tools/import-openapi-endpoints.js.map +1 -0
- package/dist/tools/inspect-zat.d.ts +26 -0
- package/dist/tools/inspect-zat.js +247 -0
- package/dist/tools/inspect-zat.js.map +1 -0
- package/dist/tools/list-agent-test-cases.d.ts +41 -0
- package/dist/tools/list-agent-test-cases.js +73 -0
- package/dist/tools/list-agent-test-cases.js.map +1 -0
- package/dist/tools/list-applications.d.ts +34 -0
- package/dist/tools/list-applications.js +74 -0
- package/dist/tools/list-applications.js.map +1 -0
- package/dist/tools/list-diagrams.d.ts +42 -0
- package/dist/tools/list-diagrams.js +81 -0
- package/dist/tools/list-diagrams.js.map +1 -0
- package/dist/tools/list-documents.d.ts +24 -0
- package/dist/tools/list-documents.js +50 -0
- package/dist/tools/list-documents.js.map +1 -0
- package/dist/tools/list-endpoints.d.ts +47 -0
- package/dist/tools/list-endpoints.js +98 -0
- package/dist/tools/list-endpoints.js.map +1 -0
- package/dist/tools/list-recon-scans.d.ts +36 -0
- package/dist/tools/list-recon-scans.js +74 -0
- package/dist/tools/list-recon-scans.js.map +1 -0
- package/dist/tools/list-scan-artifacts.d.ts +41 -0
- package/dist/tools/list-scan-artifacts.js +63 -0
- package/dist/tools/list-scan-artifacts.js.map +1 -0
- package/dist/tools/list-scans.d.ts +44 -0
- package/dist/tools/list-scans.js +91 -0
- package/dist/tools/list-scans.js.map +1 -0
- package/dist/tools/list-test-library.d.ts +44 -0
- package/dist/tools/list-test-library.js +83 -0
- package/dist/tools/list-test-library.js.map +1 -0
- package/dist/tools/list-test-scenarios.d.ts +31 -0
- package/dist/tools/list-test-scenarios.js +66 -0
- package/dist/tools/list-test-scenarios.js.map +1 -0
- package/dist/tools/local-scan.d.ts +40 -0
- package/dist/tools/local-scan.js +261 -0
- package/dist/tools/local-scan.js.map +1 -0
- package/dist/tools/manage-diagram.d.ts +109 -0
- package/dist/tools/manage-diagram.js +316 -0
- package/dist/tools/manage-diagram.js.map +1 -0
- package/dist/tools/open-in-ide.d.ts +39 -0
- package/dist/tools/open-in-ide.js +61 -0
- package/dist/tools/open-in-ide.js.map +1 -0
- package/dist/tools/run-test-scenario.d.ts +37 -0
- package/dist/tools/run-test-scenario.js +70 -0
- package/dist/tools/run-test-scenario.js.map +1 -0
- package/dist/tools/scan-pr.d.ts +27 -0
- package/dist/tools/scan-pr.js +51 -0
- package/dist/tools/scan-pr.js.map +1 -0
- package/dist/tools/security-review.d.ts +65 -0
- package/dist/tools/security-review.js +378 -0
- package/dist/tools/security-review.js.map +1 -0
- package/dist/tools/setup-red-team-target.d.ts +79 -0
- package/dist/tools/setup-red-team-target.js +430 -0
- package/dist/tools/setup-red-team-target.js.map +1 -0
- package/dist/tools/triage-finding.d.ts +47 -0
- package/dist/tools/triage-finding.js +116 -0
- package/dist/tools/triage-finding.js.map +1 -0
- package/dist/tools/update-document.d.ts +28 -0
- package/dist/tools/update-document.js +63 -0
- package/dist/tools/update-document.js.map +1 -0
- package/dist/tools/update-endpoint.d.ts +65 -0
- package/dist/tools/update-endpoint.js +145 -0
- package/dist/tools/update-endpoint.js.map +1 -0
- package/dist/tools/update-mermaid-source.d.ts +34 -0
- package/dist/tools/update-mermaid-source.js +76 -0
- package/dist/tools/update-mermaid-source.js.map +1 -0
- package/dist/tools/verify-trust-mark.d.ts +29 -0
- package/dist/tools/verify-trust-mark.js +108 -0
- package/dist/tools/verify-trust-mark.js.map +1 -0
- package/dist/types.d.ts +220 -0
- package/dist/types.js +33 -0
- package/dist/types.js.map +1 -0
- package/package.json +50 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"discover-local-infra.js","sourceRoot":"","sources":["../../src/tools/discover-local-infra.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* zivis_capture_evidence — Capture evidence (screenshots, code, terminal output)
|
|
3
|
+
*
|
|
4
|
+
* Maps to: POST /api/evidence/mcp-capture
|
|
5
|
+
*/
|
|
6
|
+
import { z } from "zod";
|
|
7
|
+
import type { ApiClient } from "../../api-client.js";
|
|
8
|
+
export declare const CAPTURE_EVIDENCE_NAME = "zivis_capture_evidence";
|
|
9
|
+
export declare const CAPTURE_EVIDENCE_DESCRIPTION = "Capture and upload evidence from your pen testing session.\n\nSupports screenshots (base64-encoded images), code snippets, terminal output, HTTP requests/responses, and notes. Evidence is stored in ZIVIS and can be linked to threat model findings, test cases, and pen test sessions.\n\nReturns an evidence ID that you can reference in zivis_record_test_result.\n\nFor screenshots: provide base64-encoded image data in the content field.\nFor code/text: provide plain text in the content field.";
|
|
10
|
+
export declare const CAPTURE_EVIDENCE_SCHEMA: {
|
|
11
|
+
name: z.ZodString;
|
|
12
|
+
type: z.ZodEnum<{
|
|
13
|
+
code_snippet: "code_snippet";
|
|
14
|
+
note: "note";
|
|
15
|
+
screenshot: "screenshot";
|
|
16
|
+
http_request: "http_request";
|
|
17
|
+
terminal_output: "terminal_output";
|
|
18
|
+
http_response: "http_response";
|
|
19
|
+
}>;
|
|
20
|
+
content: z.ZodString;
|
|
21
|
+
mime_type: z.ZodOptional<z.ZodString>;
|
|
22
|
+
description: z.ZodOptional<z.ZodString>;
|
|
23
|
+
threat_model_id: z.ZodOptional<z.ZodString>;
|
|
24
|
+
finding_id: z.ZodOptional<z.ZodString>;
|
|
25
|
+
test_case_id: z.ZodOptional<z.ZodString>;
|
|
26
|
+
pentest_session_id: z.ZodOptional<z.ZodString>;
|
|
27
|
+
source_file: z.ZodOptional<z.ZodString>;
|
|
28
|
+
source_line: z.ZodOptional<z.ZodNumber>;
|
|
29
|
+
};
|
|
30
|
+
export declare function createCaptureEvidenceHandler(apiClient: ApiClient): (params: {
|
|
31
|
+
name: string;
|
|
32
|
+
type: string;
|
|
33
|
+
content: string;
|
|
34
|
+
mime_type?: string;
|
|
35
|
+
description?: string;
|
|
36
|
+
threat_model_id?: string;
|
|
37
|
+
finding_id?: string;
|
|
38
|
+
test_case_id?: string;
|
|
39
|
+
pentest_session_id?: string;
|
|
40
|
+
source_file?: string;
|
|
41
|
+
source_line?: number;
|
|
42
|
+
}) => Promise<{
|
|
43
|
+
content: {
|
|
44
|
+
type: "text";
|
|
45
|
+
text: string;
|
|
46
|
+
}[];
|
|
47
|
+
isError?: undefined;
|
|
48
|
+
} | {
|
|
49
|
+
content: {
|
|
50
|
+
type: "text";
|
|
51
|
+
text: string;
|
|
52
|
+
}[];
|
|
53
|
+
isError: boolean;
|
|
54
|
+
}>;
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* zivis_capture_evidence — Capture evidence (screenshots, code, terminal output)
|
|
3
|
+
*
|
|
4
|
+
* Maps to: POST /api/evidence/mcp-capture
|
|
5
|
+
*/
|
|
6
|
+
import { z } from "zod";
|
|
7
|
+
import { sanitizeResponse } from "../../sanitize.js";
|
|
8
|
+
export const CAPTURE_EVIDENCE_NAME = "zivis_capture_evidence";
|
|
9
|
+
export const CAPTURE_EVIDENCE_DESCRIPTION = `Capture and upload evidence from your pen testing session.
|
|
10
|
+
|
|
11
|
+
Supports screenshots (base64-encoded images), code snippets, terminal output, HTTP requests/responses, and notes. Evidence is stored in ZIVIS and can be linked to threat model findings, test cases, and pen test sessions.
|
|
12
|
+
|
|
13
|
+
Returns an evidence ID that you can reference in zivis_record_test_result.
|
|
14
|
+
|
|
15
|
+
For screenshots: provide base64-encoded image data in the content field.
|
|
16
|
+
For code/text: provide plain text in the content field.`;
|
|
17
|
+
export const CAPTURE_EVIDENCE_SCHEMA = {
|
|
18
|
+
name: z.string().describe("Evidence name (e.g., 'SQLi payload response', 'Auth bypass screenshot')"),
|
|
19
|
+
type: z
|
|
20
|
+
.enum(["screenshot", "code_snippet", "terminal_output", "http_request", "http_response", "note"])
|
|
21
|
+
.describe("Type of evidence being captured"),
|
|
22
|
+
content: z
|
|
23
|
+
.string()
|
|
24
|
+
.describe("Content: base64-encoded data for screenshots, plain text for code/terminal/notes"),
|
|
25
|
+
mime_type: z
|
|
26
|
+
.string()
|
|
27
|
+
.optional()
|
|
28
|
+
.describe("MIME type (e.g., 'image/png'). Auto-detected from type if not provided."),
|
|
29
|
+
description: z.string().optional().describe("Description of what this evidence shows"),
|
|
30
|
+
threat_model_id: z.string().optional().describe("Threat model UUID to link evidence to"),
|
|
31
|
+
finding_id: z.string().optional().describe("Finding UUID to link evidence to"),
|
|
32
|
+
test_case_id: z.string().optional().describe("Test case UUID to link evidence to"),
|
|
33
|
+
pentest_session_id: z.string().optional().describe("Pen test session UUID to associate with"),
|
|
34
|
+
source_file: z.string().optional().describe("Source file path (for code snippets)"),
|
|
35
|
+
source_line: z.number().optional().describe("Source line number (for code snippets)"),
|
|
36
|
+
};
|
|
37
|
+
export function createCaptureEvidenceHandler(apiClient) {
|
|
38
|
+
return async (params) => {
|
|
39
|
+
try {
|
|
40
|
+
const data = await apiClient.post("/api/evidence/mcp-capture", {
|
|
41
|
+
name: params.name,
|
|
42
|
+
type: params.type,
|
|
43
|
+
content: params.content,
|
|
44
|
+
mimeType: params.mime_type,
|
|
45
|
+
description: params.description,
|
|
46
|
+
threatModelId: params.threat_model_id,
|
|
47
|
+
findingId: params.finding_id,
|
|
48
|
+
testCaseId: params.test_case_id,
|
|
49
|
+
pentestSessionId: params.pentest_session_id,
|
|
50
|
+
sourceFile: params.source_file,
|
|
51
|
+
sourceLine: params.source_line,
|
|
52
|
+
});
|
|
53
|
+
const sanitized = sanitizeResponse(data);
|
|
54
|
+
return {
|
|
55
|
+
content: [
|
|
56
|
+
{
|
|
57
|
+
type: "text",
|
|
58
|
+
text: JSON.stringify(sanitized, null, 2),
|
|
59
|
+
},
|
|
60
|
+
],
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
catch (err) {
|
|
64
|
+
const message = err instanceof Error ? err.message : "Failed to capture evidence";
|
|
65
|
+
return {
|
|
66
|
+
content: [{ type: "text", text: `Error: ${message}` }],
|
|
67
|
+
isError: true,
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=capture-evidence.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capture-evidence.js","sourceRoot":"","sources":["../../../src/tools/enterprise/capture-evidence.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* zivis_create_report_ticket — Create a Jira or Linear ticket from a report issue
|
|
3
|
+
*
|
|
4
|
+
* Maps to: POST /api/reports/:reportId/issues/:issueId/create-ticket
|
|
5
|
+
*/
|
|
6
|
+
import { z } from "zod";
|
|
7
|
+
import type { ApiClient } from "../../api-client.js";
|
|
8
|
+
export declare const CREATE_REPORT_TICKET_NAME = "zivis_create_report_ticket";
|
|
9
|
+
export declare const CREATE_REPORT_TICKET_DESCRIPTION = "Create a Jira or Linear ticket from a report issue.\n\nLinks the report issue to an external ticket tracker so remediation can be tracked in the customer's project management tool. The ticket includes the issue title, description, recommendation, severity, and metadata (CWE, OWASP, CVSS).\n\nPrerequisites:\n- Jira: Active Jira integration with a default project configured\n- Linear: Active Linear integration with a default team configured\n\nThe ticket reference is stored on the issue and displayed in the remediation checklist.";
|
|
10
|
+
export declare const CREATE_REPORT_TICKET_SCHEMA: {
|
|
11
|
+
report_id: z.ZodString;
|
|
12
|
+
issue_id: z.ZodString;
|
|
13
|
+
provider: z.ZodEnum<{
|
|
14
|
+
jira: "jira";
|
|
15
|
+
linear: "linear";
|
|
16
|
+
}>;
|
|
17
|
+
};
|
|
18
|
+
export declare function createCreateReportTicketHandler(apiClient: ApiClient): (params: {
|
|
19
|
+
report_id: string;
|
|
20
|
+
issue_id: string;
|
|
21
|
+
provider: "jira" | "linear";
|
|
22
|
+
}) => Promise<{
|
|
23
|
+
content: {
|
|
24
|
+
type: "text";
|
|
25
|
+
text: string;
|
|
26
|
+
}[];
|
|
27
|
+
isError?: undefined;
|
|
28
|
+
} | {
|
|
29
|
+
content: {
|
|
30
|
+
type: "text";
|
|
31
|
+
text: string;
|
|
32
|
+
}[];
|
|
33
|
+
isError: boolean;
|
|
34
|
+
}>;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* zivis_create_report_ticket — Create a Jira or Linear ticket from a report issue
|
|
3
|
+
*
|
|
4
|
+
* Maps to: POST /api/reports/:reportId/issues/:issueId/create-ticket
|
|
5
|
+
*/
|
|
6
|
+
import { z } from "zod";
|
|
7
|
+
import { sanitizeResponse } from "../../sanitize.js";
|
|
8
|
+
export const CREATE_REPORT_TICKET_NAME = "zivis_create_report_ticket";
|
|
9
|
+
export const CREATE_REPORT_TICKET_DESCRIPTION = `Create a Jira or Linear ticket from a report issue.
|
|
10
|
+
|
|
11
|
+
Links the report issue to an external ticket tracker so remediation can be tracked in the customer's project management tool. The ticket includes the issue title, description, recommendation, severity, and metadata (CWE, OWASP, CVSS).
|
|
12
|
+
|
|
13
|
+
Prerequisites:
|
|
14
|
+
- Jira: Active Jira integration with a default project configured
|
|
15
|
+
- Linear: Active Linear integration with a default team configured
|
|
16
|
+
|
|
17
|
+
The ticket reference is stored on the issue and displayed in the remediation checklist.`;
|
|
18
|
+
export const CREATE_REPORT_TICKET_SCHEMA = {
|
|
19
|
+
report_id: z.string().describe("Report UUID"),
|
|
20
|
+
issue_id: z.string().describe("Report issue UUID"),
|
|
21
|
+
provider: z.enum(["jira", "linear"]).describe("Ticket provider to use"),
|
|
22
|
+
};
|
|
23
|
+
export function createCreateReportTicketHandler(apiClient) {
|
|
24
|
+
return async (params) => {
|
|
25
|
+
try {
|
|
26
|
+
const data = await apiClient.post(`/api/reports/${params.report_id}/issues/${params.issue_id}/create-ticket`, { provider: params.provider });
|
|
27
|
+
const result = sanitizeResponse({
|
|
28
|
+
...data,
|
|
29
|
+
message: `${params.provider === "jira" ? "Jira" : "Linear"} ticket created and linked to issue.`,
|
|
30
|
+
});
|
|
31
|
+
return {
|
|
32
|
+
content: [{ type: "text", text: JSON.stringify(result, null, 2) }],
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
catch (err) {
|
|
36
|
+
const message = err instanceof Error ? err.message : "Failed to create ticket";
|
|
37
|
+
return {
|
|
38
|
+
content: [{ type: "text", text: `Error: ${message}` }],
|
|
39
|
+
isError: true,
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=create-report-ticket.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-report-ticket.js","sourceRoot":"","sources":["../../../src/tools/enterprise/create-report-ticket.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,MAAM,CAAC,MAAM,yBAAyB,GAAG,4BAA4B,CAAC;AAEtE,MAAM,CAAC,MAAM,gCAAgC,GAAG;;;;;;;;wFAQwC,CAAC;AAEzF,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;IAC7C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IAClD,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC;CACxE,CAAC;AAEF,MAAM,UAAU,+BAA+B,CAAC,SAAoB;IAClE,OAAO,KAAK,EAAE,MAIb,EAAE,EAAE;QACH,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,IAAI,CAC/B,gBAAgB,MAAM,CAAC,SAAS,WAAW,MAAM,CAAC,QAAQ,gBAAgB,EAC1E,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAC9B,CAAC;YAEF,MAAM,MAAM,GAAG,gBAAgB,CAAC;gBAC9B,GAAG,IAAI;gBACP,OAAO,EAAE,GAAG,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,sCAAsC;aACjG,CAAC,CAAC;YAEH,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;aAC5E,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,yBAAyB,CAAC;YAC/E,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,UAAU,OAAO,EAAE,EAAE,CAAC;gBAC/D,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* zivis_end_pentest_session — End a pen test session
|
|
3
|
+
*
|
|
4
|
+
* Maps to: PATCH /api/pentest-sessions/:id
|
|
5
|
+
*/
|
|
6
|
+
import { z } from "zod";
|
|
7
|
+
import type { ApiClient } from "../../api-client.js";
|
|
8
|
+
export declare const END_PENTEST_SESSION_NAME = "zivis_end_pentest_session";
|
|
9
|
+
export declare const END_PENTEST_SESSION_DESCRIPTION = "End a pen test session by marking it as completed or abandoned.\n\nCall this when you're done with your pen testing work. The session results will be preserved for report generation.";
|
|
10
|
+
export declare const END_PENTEST_SESSION_SCHEMA: {
|
|
11
|
+
session_id: z.ZodString;
|
|
12
|
+
status: z.ZodDefault<z.ZodEnum<{
|
|
13
|
+
completed: "completed";
|
|
14
|
+
paused: "paused";
|
|
15
|
+
abandoned: "abandoned";
|
|
16
|
+
}>>;
|
|
17
|
+
};
|
|
18
|
+
export declare function createEndPentestSessionHandler(apiClient: ApiClient): (params: {
|
|
19
|
+
session_id: string;
|
|
20
|
+
status?: string;
|
|
21
|
+
}) => Promise<{
|
|
22
|
+
content: {
|
|
23
|
+
type: "text";
|
|
24
|
+
text: string;
|
|
25
|
+
}[];
|
|
26
|
+
isError?: undefined;
|
|
27
|
+
} | {
|
|
28
|
+
content: {
|
|
29
|
+
type: "text";
|
|
30
|
+
text: string;
|
|
31
|
+
}[];
|
|
32
|
+
isError: boolean;
|
|
33
|
+
}>;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* zivis_end_pentest_session — End a pen test session
|
|
3
|
+
*
|
|
4
|
+
* Maps to: PATCH /api/pentest-sessions/:id
|
|
5
|
+
*/
|
|
6
|
+
import { z } from "zod";
|
|
7
|
+
import { sanitizeResponse } from "../../sanitize.js";
|
|
8
|
+
export const END_PENTEST_SESSION_NAME = "zivis_end_pentest_session";
|
|
9
|
+
export const END_PENTEST_SESSION_DESCRIPTION = `End a pen test session by marking it as completed or abandoned.
|
|
10
|
+
|
|
11
|
+
Call this when you're done with your pen testing work. The session results will be preserved for report generation.`;
|
|
12
|
+
export const END_PENTEST_SESSION_SCHEMA = {
|
|
13
|
+
session_id: z.string().describe("Pen test session UUID"),
|
|
14
|
+
status: z
|
|
15
|
+
.enum(["completed", "paused", "abandoned"])
|
|
16
|
+
.default("completed")
|
|
17
|
+
.describe("Final status (completed = normal end, abandoned = incomplete)"),
|
|
18
|
+
};
|
|
19
|
+
export function createEndPentestSessionHandler(apiClient) {
|
|
20
|
+
return async (params) => {
|
|
21
|
+
try {
|
|
22
|
+
const data = await apiClient.patch(`/api/pentest-sessions/${params.session_id}`, { status: params.status || "completed" });
|
|
23
|
+
const sanitized = sanitizeResponse(data);
|
|
24
|
+
return {
|
|
25
|
+
content: [
|
|
26
|
+
{
|
|
27
|
+
type: "text",
|
|
28
|
+
text: JSON.stringify(sanitized, null, 2),
|
|
29
|
+
},
|
|
30
|
+
],
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
catch (err) {
|
|
34
|
+
const message = err instanceof Error ? err.message : "Failed to end pentest session";
|
|
35
|
+
return {
|
|
36
|
+
content: [{ type: "text", text: `Error: ${message}` }],
|
|
37
|
+
isError: true,
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=end-pentest-session.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"end-pentest-session.js","sourceRoot":"","sources":["../../../src/tools/enterprise/end-pentest-session.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,MAAM,CAAC,MAAM,wBAAwB,GAAG,2BAA2B,CAAC;AAEpE,MAAM,CAAC,MAAM,+BAA+B,GAAG;;oHAEqE,CAAC;AAErH,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;IACxD,MAAM,EAAE,CAAC;SACN,IAAI,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;SAC1C,OAAO,CAAC,WAAW,CAAC;SACpB,QAAQ,CAAC,+DAA+D,CAAC;CAC7E,CAAC;AAEF,MAAM,UAAU,8BAA8B,CAAC,SAAoB;IACjE,OAAO,KAAK,EAAE,MAA+C,EAAE,EAAE;QAC/D,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,KAAK,CAChC,yBAAyB,MAAM,CAAC,UAAU,EAAE,EAC5C,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,WAAW,EAAE,CACzC,CAAC;YAEF,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAEzC,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;qBACzC;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,+BAA+B,CAAC;YACrF,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,UAAU,OAAO,EAAE,EAAE,CAAC;gBAC/D,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* zivis_generate_report — Generate a pen test report with PDF export
|
|
3
|
+
*
|
|
4
|
+
* Maps to: POST /api/reports + POST /api/reports/:id/regenerate + POST /api/reports/:id/export
|
|
5
|
+
*/
|
|
6
|
+
import { z } from "zod";
|
|
7
|
+
import type { ApiClient } from "../../api-client.js";
|
|
8
|
+
export declare const GENERATE_REPORT_NAME = "zivis_generate_report";
|
|
9
|
+
export declare const GENERATE_REPORT_DESCRIPTION = "Generate a professional pen test report with optional PDF export.\n\nCreates a report from campaign findings, pen test session results, and threat model data. The report is generated section by section using AI, then can be exported as a branded PDF.\n\nAssessment types: web_pentest, api_pentest, ai_red_team, full_assessment, recon_only";
|
|
10
|
+
export declare const GENERATE_REPORT_SCHEMA: {
|
|
11
|
+
name: z.ZodString;
|
|
12
|
+
assessment_type: z.ZodEnum<{
|
|
13
|
+
ai_red_team: "ai_red_team";
|
|
14
|
+
web_pentest: "web_pentest";
|
|
15
|
+
api_pentest: "api_pentest";
|
|
16
|
+
full_assessment: "full_assessment";
|
|
17
|
+
recon_only: "recon_only";
|
|
18
|
+
}>;
|
|
19
|
+
customer_name: z.ZodString;
|
|
20
|
+
analyst_name: z.ZodString;
|
|
21
|
+
engagement_start: z.ZodString;
|
|
22
|
+
engagement_end: z.ZodString;
|
|
23
|
+
campaign_id: z.ZodOptional<z.ZodString>;
|
|
24
|
+
application_id: z.ZodOptional<z.ZodString>;
|
|
25
|
+
description: z.ZodOptional<z.ZodString>;
|
|
26
|
+
customer_industry: z.ZodOptional<z.ZodString>;
|
|
27
|
+
reviewer_name: z.ZodOptional<z.ZodString>;
|
|
28
|
+
export_pdf: z.ZodDefault<z.ZodBoolean>;
|
|
29
|
+
};
|
|
30
|
+
export declare function createGenerateReportHandler(apiClient: ApiClient): (params: {
|
|
31
|
+
name: string;
|
|
32
|
+
assessment_type: string;
|
|
33
|
+
customer_name: string;
|
|
34
|
+
analyst_name: string;
|
|
35
|
+
engagement_start: string;
|
|
36
|
+
engagement_end: string;
|
|
37
|
+
campaign_id?: string;
|
|
38
|
+
application_id?: string;
|
|
39
|
+
description?: string;
|
|
40
|
+
customer_industry?: string;
|
|
41
|
+
reviewer_name?: string;
|
|
42
|
+
export_pdf?: boolean;
|
|
43
|
+
}) => Promise<{
|
|
44
|
+
content: {
|
|
45
|
+
type: "text";
|
|
46
|
+
text: string;
|
|
47
|
+
}[];
|
|
48
|
+
isError: boolean;
|
|
49
|
+
} | {
|
|
50
|
+
content: {
|
|
51
|
+
type: "text";
|
|
52
|
+
text: string;
|
|
53
|
+
}[];
|
|
54
|
+
isError?: undefined;
|
|
55
|
+
}>;
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* zivis_generate_report — Generate a pen test report with PDF export
|
|
3
|
+
*
|
|
4
|
+
* Maps to: POST /api/reports + POST /api/reports/:id/regenerate + POST /api/reports/:id/export
|
|
5
|
+
*/
|
|
6
|
+
import { z } from "zod";
|
|
7
|
+
import { resolveApplicationId } from "../../resolve-application-id.js";
|
|
8
|
+
import { sanitizeResponse } from "../../sanitize.js";
|
|
9
|
+
export const GENERATE_REPORT_NAME = "zivis_generate_report";
|
|
10
|
+
export const GENERATE_REPORT_DESCRIPTION = `Generate a professional pen test report with optional PDF export.
|
|
11
|
+
|
|
12
|
+
Creates a report from campaign findings, pen test session results, and threat model data. The report is generated section by section using AI, then can be exported as a branded PDF.
|
|
13
|
+
|
|
14
|
+
Assessment types: web_pentest, api_pentest, ai_red_team, full_assessment, recon_only`;
|
|
15
|
+
export const GENERATE_REPORT_SCHEMA = {
|
|
16
|
+
name: z.string().describe("Report name (e.g., 'Q1 2026 Web Application Penetration Test')"),
|
|
17
|
+
assessment_type: z
|
|
18
|
+
.enum(["web_pentest", "api_pentest", "ai_red_team", "full_assessment", "recon_only"])
|
|
19
|
+
.describe("Type of assessment report to generate"),
|
|
20
|
+
customer_name: z.string().describe("Customer/client name"),
|
|
21
|
+
analyst_name: z.string().describe("Name of the security analyst"),
|
|
22
|
+
engagement_start: z.string().describe("Engagement start date (ISO 8601, e.g., '2026-03-01')"),
|
|
23
|
+
engagement_end: z.string().describe("Engagement end date (ISO 8601, e.g., '2026-03-15')"),
|
|
24
|
+
campaign_id: z.string().optional().describe("Campaign UUID to pull findings from"),
|
|
25
|
+
application_id: z
|
|
26
|
+
.string()
|
|
27
|
+
.optional()
|
|
28
|
+
.describe("Application UUID for context. If omitted, uses applicationId from .zivis/project.json when set."),
|
|
29
|
+
description: z.string().optional().describe("Report description or executive summary notes"),
|
|
30
|
+
customer_industry: z.string().optional().describe("Customer's industry (for context in report)"),
|
|
31
|
+
reviewer_name: z.string().optional().describe("Name of the report reviewer"),
|
|
32
|
+
export_pdf: z.boolean().default(false).describe("Whether to also generate a PDF export"),
|
|
33
|
+
};
|
|
34
|
+
export function createGenerateReportHandler(apiClient) {
|
|
35
|
+
return async (params) => {
|
|
36
|
+
try {
|
|
37
|
+
const applicationId = resolveApplicationId(params.application_id);
|
|
38
|
+
// Step 1: Create the report
|
|
39
|
+
const report = await apiClient.post("/api/reports", {
|
|
40
|
+
name: params.name,
|
|
41
|
+
assessmentType: params.assessment_type,
|
|
42
|
+
customerName: params.customer_name,
|
|
43
|
+
analystName: params.analyst_name,
|
|
44
|
+
engagementStart: params.engagement_start,
|
|
45
|
+
engagementEnd: params.engagement_end,
|
|
46
|
+
campaignId: params.campaign_id,
|
|
47
|
+
applicationId,
|
|
48
|
+
description: params.description,
|
|
49
|
+
customerIndustry: params.customer_industry,
|
|
50
|
+
reviewerName: params.reviewer_name,
|
|
51
|
+
});
|
|
52
|
+
const reportId = report.report?.id;
|
|
53
|
+
if (!reportId) {
|
|
54
|
+
return {
|
|
55
|
+
content: [{ type: "text", text: "Error: Report created but no ID returned" }],
|
|
56
|
+
isError: true,
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
// Step 2: Trigger content generation
|
|
60
|
+
let generationJob = null;
|
|
61
|
+
try {
|
|
62
|
+
generationJob = await apiClient.post(`/api/reports/${reportId}/regenerate`, {});
|
|
63
|
+
}
|
|
64
|
+
catch (genErr) {
|
|
65
|
+
// Generation may fail if no credits — still return the report
|
|
66
|
+
console.error("Report generation failed:", genErr);
|
|
67
|
+
}
|
|
68
|
+
// Step 3: If PDF export requested, trigger it (async)
|
|
69
|
+
let pdfJob = null;
|
|
70
|
+
if (params.export_pdf) {
|
|
71
|
+
try {
|
|
72
|
+
pdfJob = await apiClient.post(`/api/reports/${reportId}/export`, {});
|
|
73
|
+
}
|
|
74
|
+
catch (pdfErr) {
|
|
75
|
+
console.error("PDF export failed:", pdfErr);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
const result = sanitizeResponse({
|
|
79
|
+
report,
|
|
80
|
+
generationJob,
|
|
81
|
+
pdfExport: pdfJob,
|
|
82
|
+
nextSteps: [
|
|
83
|
+
generationJob
|
|
84
|
+
? "Report generation started. Content will be generated section by section."
|
|
85
|
+
: "Report created but generation could not start. Check credits.",
|
|
86
|
+
params.export_pdf
|
|
87
|
+
? pdfJob
|
|
88
|
+
? "PDF export triggered. Check status with zivis_get_report_status."
|
|
89
|
+
: "PDF export could not start."
|
|
90
|
+
: "Use export_pdf: true to generate a PDF when ready.",
|
|
91
|
+
],
|
|
92
|
+
});
|
|
93
|
+
return {
|
|
94
|
+
content: [
|
|
95
|
+
{
|
|
96
|
+
type: "text",
|
|
97
|
+
text: JSON.stringify(result, null, 2),
|
|
98
|
+
},
|
|
99
|
+
],
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
catch (err) {
|
|
103
|
+
const message = err instanceof Error ? err.message : "Failed to generate report";
|
|
104
|
+
return {
|
|
105
|
+
content: [{ type: "text", text: `Error: ${message}` }],
|
|
106
|
+
isError: true,
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=generate-report.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-report.js","sourceRoot":"","sources":["../../../src/tools/enterprise/generate-report.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,MAAM,CAAC,MAAM,oBAAoB,GAAG,uBAAuB,CAAC;AAE5D,MAAM,CAAC,MAAM,2BAA2B,GAAG;;;;qFAI0C,CAAC;AAEtF,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gEAAgE,CAAC;IAC3F,eAAe,EAAE,CAAC;SACf,IAAI,CAAC,CAAC,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,iBAAiB,EAAE,YAAY,CAAC,CAAC;SACpF,QAAQ,CAAC,uCAAuC,CAAC;IACpD,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IAC1D,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IACjE,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;IAC7F,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oDAAoD,CAAC;IACzF,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;IAClF,cAAc,EAAE,CAAC;SACd,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,iGAAiG,CAClG;IACH,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;IAC5F,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;IAChG,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IAC5E,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,uCAAuC,CAAC;CACzF,CAAC;AAEF,MAAM,UAAU,2BAA2B,CAAC,SAAoB;IAC9D,OAAO,KAAK,EAAE,MAab,EAAE,EAAE;QACH,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,oBAAoB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YAClE,4BAA4B;YAC5B,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,CACjC,cAAc,EACd;gBACE,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,cAAc,EAAE,MAAM,CAAC,eAAe;gBACtC,YAAY,EAAE,MAAM,CAAC,aAAa;gBAClC,WAAW,EAAE,MAAM,CAAC,YAAY;gBAChC,eAAe,EAAE,MAAM,CAAC,gBAAgB;gBACxC,aAAa,EAAE,MAAM,CAAC,cAAc;gBACpC,UAAU,EAAE,MAAM,CAAC,WAAW;gBAC9B,aAAa;gBACb,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,gBAAgB,EAAE,MAAM,CAAC,iBAAiB;gBAC1C,YAAY,EAAE,MAAM,CAAC,aAAa;aACnC,CACF,CAAC;YAEF,MAAM,QAAQ,GAAI,MAAiD,CAAC,MAAM,EAAE,EAAE,CAAC;YAC/E,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,0CAA0C,EAAE,CAAC;oBACtF,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YAED,qCAAqC;YACrC,IAAI,aAAa,GAAmC,IAAI,CAAC;YACzD,IAAI,CAAC;gBACH,aAAa,GAAG,MAAM,SAAS,CAAC,IAAI,CAClC,gBAAgB,QAAQ,aAAa,EACrC,EAAE,CACH,CAAC;YACJ,CAAC;YAAC,OAAO,MAAM,EAAE,CAAC;gBAChB,8DAA8D;gBAC9D,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,MAAM,CAAC,CAAC;YACrD,CAAC;YAED,sDAAsD;YACtD,IAAI,MAAM,GAAmC,IAAI,CAAC;YAClD,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;gBACtB,IAAI,CAAC;oBACH,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,CAC3B,gBAAgB,QAAQ,SAAS,EACjC,EAAE,CACH,CAAC;gBACJ,CAAC;gBAAC,OAAO,MAAM,EAAE,CAAC;oBAChB,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC;gBAC9C,CAAC;YACH,CAAC;YAED,MAAM,MAAM,GAAG,gBAAgB,CAAC;gBAC9B,MAAM;gBACN,aAAa;gBACb,SAAS,EAAE,MAAM;gBACjB,SAAS,EAAE;oBACT,aAAa;wBACX,CAAC,CAAC,0EAA0E;wBAC5E,CAAC,CAAC,+DAA+D;oBACnE,MAAM,CAAC,UAAU;wBACf,CAAC,CAAC,MAAM;4BACN,CAAC,CAAC,kEAAkE;4BACpE,CAAC,CAAC,6BAA6B;wBACjC,CAAC,CAAC,oDAAoD;iBACzD;aACF,CAAC,CAAC;YAEH,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;qBACtC;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,2BAA2B,CAAC;YACjF,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,UAAU,OAAO,EAAE,EAAE,CAAC;gBAC/D,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* zivis_get_org_zat — Get your organization's latest signed attestation token
|
|
3
|
+
*
|
|
4
|
+
* Maps to: GET /api/zat?framework=<optional> (JWT auth required)
|
|
5
|
+
*/
|
|
6
|
+
import { z } from "zod";
|
|
7
|
+
import type { ApiClient } from "../../api-client.js";
|
|
8
|
+
export declare const GET_ORG_ZAT_NAME = "zivis_get_org_zat";
|
|
9
|
+
export declare const GET_ORG_ZAT_DESCRIPTION = "Get your organization's latest ZIVIS Attestation Token (ZAT) \u2014 a cryptographically signed credential capturing your compliance posture.\n\nAn enterprise ZAT contains:\n- **claims**: Z-Score (0-1000), trust tier (0-3), tier label, coverage percentage, mapped outcomes per framework control\n - Tier 0 \"Commitment\": Score < 600 \u2014 committed to framework but foundational requirements not yet met\n - Tier 1 \"Foundational Trust\": Score 600-699 \u2014 basic security controls in place\n - Tier 2 \"Operational Trust\": Score 700-799 \u2014 comprehensive, validated controls\n - Tier 3 \"Systemic Trust\": Score 800+ \u2014 mature, continuously validated posture\n- **frameworks[]**: Which frameworks were assessed (NIST IR 8596, ISO 42001, OWASP LLM Top 10, etc.)\n - basis: \"tested\" | \"mapped\" | \"self-attested\" | \"third-party\"\n - csf_version: \"2.0\" if NIST CSF 2.0 derived (enables cross-framework comparison)\n- **evidence_manifest**: SHA-256 hash of the evidence bundle proving assessment integrity\n- **methodology**: ZIVIS model version, scoring algorithm, evaluator type (human+agentic)\n- **sig**: Dual signatures \u2014 ML-DSA-65 (FIPS-204, post-quantum) + Ed25519 compact token\n\nUse this to:\n- Present your trust posture to partners via ATNP (Agent Trust Negotiation Protocol)\n- Generate compliance reports with cryptographic proof\n- Monitor your Z-Score progression over time\n- Export machine-verifiable credentials for supply chain trust\n\nOptionally filter by framework key (e.g., \"nist-ir-8596-iprd\", \"iso-42001\", \"owasp-llm-top-10\").\nReturns the latest completed evaluation's ZAT for your organization.\n\nRequires authentication \u2014 uses your org's JWT token.";
|
|
10
|
+
export declare const GET_ORG_ZAT_SCHEMA: {
|
|
11
|
+
framework: z.ZodOptional<z.ZodString>;
|
|
12
|
+
};
|
|
13
|
+
export declare function createGetOrgZatHandler(apiClient: ApiClient): (params: {
|
|
14
|
+
framework?: string;
|
|
15
|
+
}) => Promise<{
|
|
16
|
+
content: {
|
|
17
|
+
type: "text";
|
|
18
|
+
text: string;
|
|
19
|
+
}[];
|
|
20
|
+
isError?: undefined;
|
|
21
|
+
} | {
|
|
22
|
+
content: {
|
|
23
|
+
type: "text";
|
|
24
|
+
text: string;
|
|
25
|
+
}[];
|
|
26
|
+
isError: boolean;
|
|
27
|
+
}>;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* zivis_get_org_zat — Get your organization's latest signed attestation token
|
|
3
|
+
*
|
|
4
|
+
* Maps to: GET /api/zat?framework=<optional> (JWT auth required)
|
|
5
|
+
*/
|
|
6
|
+
import { z } from "zod";
|
|
7
|
+
export const GET_ORG_ZAT_NAME = "zivis_get_org_zat";
|
|
8
|
+
export const GET_ORG_ZAT_DESCRIPTION = `Get your organization's latest ZIVIS Attestation Token (ZAT) — a cryptographically signed credential capturing your compliance posture.
|
|
9
|
+
|
|
10
|
+
An enterprise ZAT contains:
|
|
11
|
+
- **claims**: Z-Score (0-1000), trust tier (0-3), tier label, coverage percentage, mapped outcomes per framework control
|
|
12
|
+
- Tier 0 "Commitment": Score < 600 — committed to framework but foundational requirements not yet met
|
|
13
|
+
- Tier 1 "Foundational Trust": Score 600-699 — basic security controls in place
|
|
14
|
+
- Tier 2 "Operational Trust": Score 700-799 — comprehensive, validated controls
|
|
15
|
+
- Tier 3 "Systemic Trust": Score 800+ — mature, continuously validated posture
|
|
16
|
+
- **frameworks[]**: Which frameworks were assessed (NIST IR 8596, ISO 42001, OWASP LLM Top 10, etc.)
|
|
17
|
+
- basis: "tested" | "mapped" | "self-attested" | "third-party"
|
|
18
|
+
- csf_version: "2.0" if NIST CSF 2.0 derived (enables cross-framework comparison)
|
|
19
|
+
- **evidence_manifest**: SHA-256 hash of the evidence bundle proving assessment integrity
|
|
20
|
+
- **methodology**: ZIVIS model version, scoring algorithm, evaluator type (human+agentic)
|
|
21
|
+
- **sig**: Dual signatures — ML-DSA-65 (FIPS-204, post-quantum) + Ed25519 compact token
|
|
22
|
+
|
|
23
|
+
Use this to:
|
|
24
|
+
- Present your trust posture to partners via ATNP (Agent Trust Negotiation Protocol)
|
|
25
|
+
- Generate compliance reports with cryptographic proof
|
|
26
|
+
- Monitor your Z-Score progression over time
|
|
27
|
+
- Export machine-verifiable credentials for supply chain trust
|
|
28
|
+
|
|
29
|
+
Optionally filter by framework key (e.g., "nist-ir-8596-iprd", "iso-42001", "owasp-llm-top-10").
|
|
30
|
+
Returns the latest completed evaluation's ZAT for your organization.
|
|
31
|
+
|
|
32
|
+
Requires authentication — uses your org's JWT token.`;
|
|
33
|
+
export const GET_ORG_ZAT_SCHEMA = {
|
|
34
|
+
framework: z
|
|
35
|
+
.string()
|
|
36
|
+
.optional()
|
|
37
|
+
.describe("Optional framework key to filter by (e.g., 'nist-ir-8596-iprd', 'iso-42001')"),
|
|
38
|
+
};
|
|
39
|
+
export function createGetOrgZatHandler(apiClient) {
|
|
40
|
+
return async (params) => {
|
|
41
|
+
try {
|
|
42
|
+
const query = params.framework ? `?framework=${encodeURIComponent(params.framework)}` : "";
|
|
43
|
+
const data = await apiClient.get(`/api/zat${query}`);
|
|
44
|
+
return {
|
|
45
|
+
content: [
|
|
46
|
+
{
|
|
47
|
+
type: "text",
|
|
48
|
+
text: JSON.stringify(data, null, 2),
|
|
49
|
+
},
|
|
50
|
+
],
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
catch (err) {
|
|
54
|
+
const message = err instanceof Error ? err.message : "Failed to get org ZAT";
|
|
55
|
+
return {
|
|
56
|
+
content: [{ type: "text", text: `Error: ${message}` }],
|
|
57
|
+
isError: true,
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=get-org-zat.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-org-zat.js","sourceRoot":"","sources":["../../../src/tools/enterprise/get-org-zat.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,gBAAgB,GAAG,mBAAmB,CAAC;AAEpD,MAAM,CAAC,MAAM,uBAAuB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;qDAwBc,CAAC;AAEtD,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,8EAA8E,CAAC;CAC5F,CAAC;AAEF,MAAM,UAAU,sBAAsB,CAAC,SAAoB;IACzD,OAAO,KAAK,EAAE,MAA8B,EAAE,EAAE;QAC9C,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3F,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,GAAG,CAC9B,WAAW,KAAK,EAAE,CACnB,CAAC;YAEF,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;qBACpC;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,uBAAuB,CAAC;YAC7E,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,UAAU,OAAO,EAAE,EAAE,CAAC;gBAC/D,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
|