@zivis/mcp 0.1.8 → 0.1.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (330) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +19 -0
  3. package/dist/api-client.d.ts +2 -24
  4. package/dist/api-client.js +32 -52
  5. package/dist/auth/index.d.ts +1 -22
  6. package/dist/auth/index.js +17 -38
  7. package/dist/auth/jwt.d.ts +0 -16
  8. package/dist/auth/jwt.js +0 -13
  9. package/dist/auth/keychain.d.ts +6 -32
  10. package/dist/auth/keychain.js +83 -114
  11. package/dist/auth/oauth.d.ts +3 -32
  12. package/dist/auth/oauth.js +67 -61
  13. package/dist/auth/sessions.d.ts +5 -25
  14. package/dist/auth/sessions.js +20 -39
  15. package/dist/auth/token-refresh.d.ts +2 -22
  16. package/dist/auth/token-refresh.js +33 -36
  17. package/dist/cli.d.ts +1 -18
  18. package/dist/cli.js +30 -908
  19. package/dist/index.d.ts +0 -6
  20. package/dist/index.js +0 -7
  21. package/dist/lib/inspect-cache.d.ts +10 -0
  22. package/dist/lib/inspect-cache.js +75 -0
  23. package/dist/lib/next-steps.d.ts +27 -0
  24. package/dist/lib/next-steps.js +21 -0
  25. package/dist/matcher/ast-eval.d.ts +8 -0
  26. package/dist/matcher/ast-eval.js +95 -0
  27. package/dist/matcher/finding.d.ts +55 -0
  28. package/dist/matcher/finding.js +1 -0
  29. package/dist/matcher/index.d.ts +8 -0
  30. package/dist/matcher/index.js +202 -0
  31. package/dist/matcher/inference-candidates.d.ts +26 -0
  32. package/dist/matcher/inference-candidates.js +81 -0
  33. package/dist/matcher/walker.d.ts +7 -0
  34. package/dist/matcher/walker.js +71 -0
  35. package/dist/pattern-pack/index.d.ts +125 -0
  36. package/dist/pattern-pack/index.js +189 -0
  37. package/dist/pattern-packs/zivis-public-0.2.0/capsules/agents/privilege-separation.yaml +224 -0
  38. package/dist/pattern-packs/zivis-public-0.2.0/capsules/prompting/self-consistency-no-isolation.yaml +237 -0
  39. package/dist/pattern-packs/zivis-public-0.2.0/capsules/retrieval/context-injection-no-validator.yaml +348 -0
  40. package/dist/pattern-packs/zivis-public-0.2.0/capsules/security/late-org-filter.yaml +266 -0
  41. package/dist/pattern-packs/zivis-public-0.2.0/controls/external_validator_on_facts.yaml +37 -0
  42. package/dist/pattern-packs/zivis-public-0.2.0/controls/fact_validator_present.yaml +68 -0
  43. package/dist/pattern-packs/zivis-public-0.2.0/controls/human_approval_gate.yaml +44 -0
  44. package/dist/pattern-packs/zivis-public-0.2.0/controls/langgraph_state_machine_with_per_node_tools.yaml +35 -0
  45. package/dist/pattern-packs/zivis-public-0.2.0/controls/per_sample_retrieval_diversification.yaml +38 -0
  46. package/dist/pattern-packs/zivis-public-0.2.0/controls/prisma_extension_or_middleware_attaching_org_filter.yaml +31 -0
  47. package/dist/pattern-packs/zivis-public-0.2.0/controls/row_level_security_policy.yaml +37 -0
  48. package/dist/pattern-packs/zivis-public-0.2.0/controls/source_attribution_present.yaml +58 -0
  49. package/dist/pattern-packs/zivis-public-0.2.0/manifest.json +167 -0
  50. package/dist/pattern-packs/zivis-public-0.2.0/prompts/agents/privilege-separation/identify.md +54 -0
  51. package/dist/pattern-packs/zivis-public-0.2.0/prompts/prompting/self-consistency-no-isolation/identify.md +60 -0
  52. package/dist/pattern-packs/zivis-public-0.2.0/prompts/retrieval/context-injection-no-validator/identify.md +109 -0
  53. package/dist/pattern-packs/zivis-public-0.2.0/prompts/security/late-org-filter/identify.md +78 -0
  54. package/dist/project-binding.d.ts +2 -19
  55. package/dist/project-binding.js +38 -21
  56. package/dist/prompts/audit-dependencies.d.ts +2 -0
  57. package/dist/prompts/audit-dependencies.js +47 -0
  58. package/dist/prompts/getting-started.d.ts +2 -0
  59. package/dist/prompts/getting-started.js +37 -0
  60. package/dist/prompts/index.d.ts +2 -0
  61. package/dist/prompts/index.js +6 -0
  62. package/dist/resolve-application-id.d.ts +0 -4
  63. package/dist/resolve-application-id.js +0 -5
  64. package/dist/sanitize.d.ts +1 -21
  65. package/dist/sanitize.js +7 -41
  66. package/dist/server.d.ts +1 -13
  67. package/dist/server.js +142 -265
  68. package/dist/tools/artifacts.d.ts +76 -0
  69. package/dist/tools/artifacts.js +178 -0
  70. package/dist/tools/check-project.d.ts +5 -18
  71. package/dist/tools/check-project.js +122 -110
  72. package/dist/tools/check-repo-trust.d.ts +4 -19
  73. package/dist/tools/check-repo-trust.js +56 -47
  74. package/dist/tools/create-diagram.d.ts +0 -5
  75. package/dist/tools/create-diagram.js +0 -10
  76. package/dist/tools/create-document.d.ts +0 -5
  77. package/dist/tools/create-document.js +3 -9
  78. package/dist/tools/create-finding.d.ts +85 -0
  79. package/dist/tools/create-finding.js +136 -0
  80. package/dist/tools/delete-finding.d.ts +19 -0
  81. package/dist/tools/delete-finding.js +36 -0
  82. package/dist/tools/devx-run.d.ts +88 -0
  83. package/dist/tools/devx-run.js +175 -0
  84. package/dist/tools/discover-local-infra.d.ts +0 -10
  85. package/dist/tools/discover-local-infra.js +3 -73
  86. package/dist/tools/enterprise/get-org-zat.d.ts +0 -5
  87. package/dist/tools/enterprise/get-org-zat.js +0 -6
  88. package/dist/tools/explain-signal-for-diff.d.ts +34 -0
  89. package/dist/tools/explain-signal-for-diff.js +75 -0
  90. package/dist/tools/generate-diagram.d.ts +0 -6
  91. package/dist/tools/generate-diagram.js +21 -13
  92. package/dist/tools/get-application-overview.d.ts +0 -5
  93. package/dist/tools/get-application-overview.js +0 -6
  94. package/dist/tools/get-application.d.ts +0 -5
  95. package/dist/tools/get-application.js +0 -6
  96. package/dist/tools/get-diagram.d.ts +0 -5
  97. package/dist/tools/get-diagram.js +1 -11
  98. package/dist/tools/get-document.d.ts +0 -5
  99. package/dist/tools/get-document.js +0 -6
  100. package/dist/tools/get-oss-zat.d.ts +0 -5
  101. package/dist/tools/get-oss-zat.js +0 -7
  102. package/dist/tools/get-signal.d.ts +24 -0
  103. package/dist/tools/get-signal.js +75 -0
  104. package/dist/tools/get-started.d.ts +18 -0
  105. package/dist/tools/get-started.js +470 -0
  106. package/dist/tools/get-trust-keys.d.ts +0 -5
  107. package/dist/tools/get-trust-keys.js +0 -6
  108. package/dist/tools/import-openapi-endpoints.d.ts +0 -5
  109. package/dist/tools/import-openapi-endpoints.js +0 -6
  110. package/dist/tools/inspect-zat.d.ts +0 -5
  111. package/dist/tools/inspect-zat.js +0 -19
  112. package/dist/tools/inspect.d.ts +21 -0
  113. package/dist/tools/inspect.js +222 -0
  114. package/dist/tools/list-applications.d.ts +1 -6
  115. package/dist/tools/list-applications.js +0 -6
  116. package/dist/tools/list-diagrams.d.ts +0 -5
  117. package/dist/tools/list-diagrams.js +0 -6
  118. package/dist/tools/list-documents.d.ts +0 -5
  119. package/dist/tools/list-documents.js +0 -6
  120. package/dist/tools/list-endpoints.d.ts +1 -6
  121. package/dist/tools/list-endpoints.js +0 -6
  122. package/dist/tools/list-signals.d.ts +37 -0
  123. package/dist/tools/list-signals.js +83 -0
  124. package/dist/tools/manage-application.d.ts +64 -0
  125. package/dist/tools/manage-application.js +129 -0
  126. package/dist/tools/manage-diagram.d.ts +0 -5
  127. package/dist/tools/manage-diagram.js +0 -16
  128. package/dist/tools/manage-endpoint-lifecycle.d.ts +80 -0
  129. package/dist/tools/manage-endpoint-lifecycle.js +180 -0
  130. package/dist/tools/open-in-ide.d.ts +2 -14
  131. package/dist/tools/open-in-ide.js +0 -13
  132. package/dist/tools/review-change.d.ts +34 -0
  133. package/dist/tools/review-change.js +93 -0
  134. package/dist/tools/security-memory.d.ts +76 -0
  135. package/dist/tools/security-memory.js +202 -0
  136. package/dist/tools/security-review.d.ts +1 -21
  137. package/dist/tools/security-review.js +8 -108
  138. package/dist/tools/threat-get-capsule.d.ts +15 -0
  139. package/dist/tools/threat-get-capsule.js +53 -0
  140. package/dist/tools/threat-get-inference-prompt.d.ts +15 -0
  141. package/dist/tools/threat-get-inference-prompt.js +73 -0
  142. package/dist/tools/threat-list-relevant-capsules.d.ts +17 -0
  143. package/dist/tools/threat-list-relevant-capsules.js +158 -0
  144. package/dist/tools/threat-run-matcher.d.ts +17 -0
  145. package/dist/tools/threat-run-matcher.js +145 -0
  146. package/dist/tools/update-document.d.ts +0 -5
  147. package/dist/tools/update-document.js +3 -9
  148. package/dist/tools/update-endpoint.d.ts +1 -6
  149. package/dist/tools/update-endpoint.js +0 -7
  150. package/dist/tools/update-finding.d.ts +61 -0
  151. package/dist/tools/update-finding.js +80 -0
  152. package/dist/tools/update-mermaid-source.d.ts +0 -13
  153. package/dist/tools/update-mermaid-source.js +0 -14
  154. package/dist/tools/verify-trust-mark.d.ts +0 -5
  155. package/dist/tools/verify-trust-mark.js +0 -6
  156. package/dist/types.d.ts +14 -14
  157. package/dist/types.js +22 -28
  158. package/package.json +38 -15
  159. package/dist/api-client.js.map +0 -1
  160. package/dist/auth/index.js.map +0 -1
  161. package/dist/auth/jwt.js.map +0 -1
  162. package/dist/auth/keychain.js.map +0 -1
  163. package/dist/auth/oauth.js.map +0 -1
  164. package/dist/auth/sessions.js.map +0 -1
  165. package/dist/auth/token-refresh.js.map +0 -1
  166. package/dist/cli.js.map +0 -1
  167. package/dist/index.js.map +0 -1
  168. package/dist/project-binding.js.map +0 -1
  169. package/dist/resolve-application-id.js.map +0 -1
  170. package/dist/sanitize.js.map +0 -1
  171. package/dist/server.js.map +0 -1
  172. package/dist/tools/check-project.js.map +0 -1
  173. package/dist/tools/check-repo-trust.js.map +0 -1
  174. package/dist/tools/create-diagram.js.map +0 -1
  175. package/dist/tools/create-document.js.map +0 -1
  176. package/dist/tools/discover-local-infra.js.map +0 -1
  177. package/dist/tools/enterprise/capture-evidence.d.ts +0 -54
  178. package/dist/tools/enterprise/capture-evidence.js +0 -72
  179. package/dist/tools/enterprise/capture-evidence.js.map +0 -1
  180. package/dist/tools/enterprise/create-report-ticket.d.ts +0 -34
  181. package/dist/tools/enterprise/create-report-ticket.js +0 -44
  182. package/dist/tools/enterprise/create-report-ticket.js.map +0 -1
  183. package/dist/tools/enterprise/end-pentest-session.d.ts +0 -33
  184. package/dist/tools/enterprise/end-pentest-session.js +0 -42
  185. package/dist/tools/enterprise/end-pentest-session.js.map +0 -1
  186. package/dist/tools/enterprise/generate-report.d.ts +0 -55
  187. package/dist/tools/enterprise/generate-report.js +0 -111
  188. package/dist/tools/enterprise/generate-report.js.map +0 -1
  189. package/dist/tools/enterprise/get-org-zat.js.map +0 -1
  190. package/dist/tools/enterprise/get-report-status.d.ts +0 -27
  191. package/dist/tools/enterprise/get-report-status.js +0 -38
  192. package/dist/tools/enterprise/get-report-status.js.map +0 -1
  193. package/dist/tools/enterprise/get-threat-model.d.ts +0 -29
  194. package/dist/tools/enterprise/get-threat-model.js +0 -83
  195. package/dist/tools/enterprise/get-threat-model.js.map +0 -1
  196. package/dist/tools/enterprise/list-agents.d.ts +0 -42
  197. package/dist/tools/enterprise/list-agents.js +0 -95
  198. package/dist/tools/enterprise/list-agents.js.map +0 -1
  199. package/dist/tools/enterprise/list-report-issues.d.ts +0 -36
  200. package/dist/tools/enterprise/list-report-issues.js +0 -50
  201. package/dist/tools/enterprise/list-report-issues.js.map +0 -1
  202. package/dist/tools/enterprise/list-threat-models.d.ts +0 -36
  203. package/dist/tools/enterprise/list-threat-models.js +0 -82
  204. package/dist/tools/enterprise/list-threat-models.js.map +0 -1
  205. package/dist/tools/enterprise/manage-actor.d.ts +0 -58
  206. package/dist/tools/enterprise/manage-actor.js +0 -99
  207. package/dist/tools/enterprise/manage-actor.js.map +0 -1
  208. package/dist/tools/enterprise/manage-attack-scenario.d.ts +0 -70
  209. package/dist/tools/enterprise/manage-attack-scenario.js +0 -89
  210. package/dist/tools/enterprise/manage-attack-scenario.js.map +0 -1
  211. package/dist/tools/enterprise/manage-component.d.ts +0 -58
  212. package/dist/tools/enterprise/manage-component.js +0 -90
  213. package/dist/tools/enterprise/manage-component.js.map +0 -1
  214. package/dist/tools/enterprise/manage-data-asset.d.ts +0 -53
  215. package/dist/tools/enterprise/manage-data-asset.js +0 -90
  216. package/dist/tools/enterprise/manage-data-asset.js.map +0 -1
  217. package/dist/tools/enterprise/manage-data-flow.d.ts +0 -57
  218. package/dist/tools/enterprise/manage-data-flow.js +0 -98
  219. package/dist/tools/enterprise/manage-data-flow.js.map +0 -1
  220. package/dist/tools/enterprise/manage-finding.d.ts +0 -69
  221. package/dist/tools/enterprise/manage-finding.js +0 -106
  222. package/dist/tools/enterprise/manage-finding.js.map +0 -1
  223. package/dist/tools/enterprise/manage-security-control.d.ts +0 -59
  224. package/dist/tools/enterprise/manage-security-control.js +0 -96
  225. package/dist/tools/enterprise/manage-security-control.js.map +0 -1
  226. package/dist/tools/enterprise/manage-test-case.d.ts +0 -88
  227. package/dist/tools/enterprise/manage-test-case.js +0 -119
  228. package/dist/tools/enterprise/manage-test-case.js.map +0 -1
  229. package/dist/tools/enterprise/promote-finding-to-issue.d.ts +0 -36
  230. package/dist/tools/enterprise/promote-finding-to-issue.js +0 -65
  231. package/dist/tools/enterprise/promote-finding-to-issue.js.map +0 -1
  232. package/dist/tools/enterprise/publish-report-version.d.ts +0 -34
  233. package/dist/tools/enterprise/publish-report-version.js +0 -75
  234. package/dist/tools/enterprise/publish-report-version.js.map +0 -1
  235. package/dist/tools/enterprise/publish-test-to-library.d.ts +0 -31
  236. package/dist/tools/enterprise/publish-test-to-library.js +0 -40
  237. package/dist/tools/enterprise/publish-test-to-library.js.map +0 -1
  238. package/dist/tools/enterprise/record-test-result.d.ts +0 -67
  239. package/dist/tools/enterprise/record-test-result.js +0 -75
  240. package/dist/tools/enterprise/record-test-result.js.map +0 -1
  241. package/dist/tools/enterprise/start-pentest-session.d.ts +0 -35
  242. package/dist/tools/enterprise/start-pentest-session.js +0 -50
  243. package/dist/tools/enterprise/start-pentest-session.js.map +0 -1
  244. package/dist/tools/enterprise/sync-report-section.d.ts +0 -41
  245. package/dist/tools/enterprise/sync-report-section.js +0 -79
  246. package/dist/tools/enterprise/sync-report-section.js.map +0 -1
  247. package/dist/tools/enterprise/update-report-issue.d.ts +0 -55
  248. package/dist/tools/enterprise/update-report-issue.js +0 -69
  249. package/dist/tools/enterprise/update-report-issue.js.map +0 -1
  250. package/dist/tools/generate-diagram.js.map +0 -1
  251. package/dist/tools/get-agent-test-results.d.ts +0 -41
  252. package/dist/tools/get-agent-test-results.js +0 -86
  253. package/dist/tools/get-agent-test-results.js.map +0 -1
  254. package/dist/tools/get-application-overview.js.map +0 -1
  255. package/dist/tools/get-application.js.map +0 -1
  256. package/dist/tools/get-artifact-content.d.ts +0 -29
  257. package/dist/tools/get-artifact-content.js +0 -86
  258. package/dist/tools/get-artifact-content.js.map +0 -1
  259. package/dist/tools/get-diagram.js.map +0 -1
  260. package/dist/tools/get-document.js.map +0 -1
  261. package/dist/tools/get-finding-details.d.ts +0 -28
  262. package/dist/tools/get-finding-details.js +0 -43
  263. package/dist/tools/get-finding-details.js.map +0 -1
  264. package/dist/tools/get-findings.d.ts +0 -57
  265. package/dist/tools/get-findings.js +0 -103
  266. package/dist/tools/get-findings.js.map +0 -1
  267. package/dist/tools/get-oss-zat.js.map +0 -1
  268. package/dist/tools/get-recon-scan.d.ts +0 -27
  269. package/dist/tools/get-recon-scan.js +0 -46
  270. package/dist/tools/get-recon-scan.js.map +0 -1
  271. package/dist/tools/get-scan-output.d.ts +0 -27
  272. package/dist/tools/get-scan-output.js +0 -64
  273. package/dist/tools/get-scan-output.js.map +0 -1
  274. package/dist/tools/get-scenario-details.d.ts +0 -27
  275. package/dist/tools/get-scenario-details.js +0 -46
  276. package/dist/tools/get-scenario-details.js.map +0 -1
  277. package/dist/tools/get-test-case-results.d.ts +0 -37
  278. package/dist/tools/get-test-case-results.js +0 -66
  279. package/dist/tools/get-test-case-results.js.map +0 -1
  280. package/dist/tools/get-test-details.d.ts +0 -29
  281. package/dist/tools/get-test-details.js +0 -49
  282. package/dist/tools/get-test-details.js.map +0 -1
  283. package/dist/tools/get-trust-keys.js.map +0 -1
  284. package/dist/tools/import-openapi-endpoints.js.map +0 -1
  285. package/dist/tools/inspect-zat.js.map +0 -1
  286. package/dist/tools/list-agent-test-cases.d.ts +0 -41
  287. package/dist/tools/list-agent-test-cases.js +0 -73
  288. package/dist/tools/list-agent-test-cases.js.map +0 -1
  289. package/dist/tools/list-applications.js.map +0 -1
  290. package/dist/tools/list-diagrams.js.map +0 -1
  291. package/dist/tools/list-documents.js.map +0 -1
  292. package/dist/tools/list-endpoints.js.map +0 -1
  293. package/dist/tools/list-recon-scans.d.ts +0 -36
  294. package/dist/tools/list-recon-scans.js +0 -74
  295. package/dist/tools/list-recon-scans.js.map +0 -1
  296. package/dist/tools/list-scan-artifacts.d.ts +0 -41
  297. package/dist/tools/list-scan-artifacts.js +0 -63
  298. package/dist/tools/list-scan-artifacts.js.map +0 -1
  299. package/dist/tools/list-scans.d.ts +0 -44
  300. package/dist/tools/list-scans.js +0 -91
  301. package/dist/tools/list-scans.js.map +0 -1
  302. package/dist/tools/list-test-library.d.ts +0 -44
  303. package/dist/tools/list-test-library.js +0 -83
  304. package/dist/tools/list-test-library.js.map +0 -1
  305. package/dist/tools/list-test-scenarios.d.ts +0 -31
  306. package/dist/tools/list-test-scenarios.js +0 -66
  307. package/dist/tools/list-test-scenarios.js.map +0 -1
  308. package/dist/tools/local-scan.d.ts +0 -40
  309. package/dist/tools/local-scan.js +0 -261
  310. package/dist/tools/local-scan.js.map +0 -1
  311. package/dist/tools/manage-diagram.js.map +0 -1
  312. package/dist/tools/open-in-ide.js.map +0 -1
  313. package/dist/tools/run-test-scenario.d.ts +0 -37
  314. package/dist/tools/run-test-scenario.js +0 -70
  315. package/dist/tools/run-test-scenario.js.map +0 -1
  316. package/dist/tools/scan-pr.d.ts +0 -27
  317. package/dist/tools/scan-pr.js +0 -51
  318. package/dist/tools/scan-pr.js.map +0 -1
  319. package/dist/tools/security-review.js.map +0 -1
  320. package/dist/tools/setup-red-team-target.d.ts +0 -79
  321. package/dist/tools/setup-red-team-target.js +0 -430
  322. package/dist/tools/setup-red-team-target.js.map +0 -1
  323. package/dist/tools/triage-finding.d.ts +0 -47
  324. package/dist/tools/triage-finding.js +0 -116
  325. package/dist/tools/triage-finding.js.map +0 -1
  326. package/dist/tools/update-document.js.map +0 -1
  327. package/dist/tools/update-endpoint.js.map +0 -1
  328. package/dist/tools/update-mermaid-source.js.map +0 -1
  329. package/dist/tools/verify-trust-mark.js.map +0 -1
  330. package/dist/types.js.map +0 -1
@@ -1,42 +0,0 @@
1
- /**
2
- * zivis_list_agents — List agent instances for the org
3
- *
4
- * Maps to: GET /api/agent-instances
5
- */
6
- import { z } from "zod";
7
- import type { ApiClient } from "../../api-client.js";
8
- export declare const LIST_AGENTS_NAME = "zivis_list_agents";
9
- export declare const LIST_AGENTS_DESCRIPTION = "List all configured agent instances for your organization.\n\nIMPORTANT \u2014 Understand the ZIVIS entity hierarchy:\n- **Agent instance** = a configured agent (e.g., \"Production Recon Agent\", \"API Pen Test Agent\"). Each has a UUID, an agent type, a target URL, and configuration. This tool lists these.\n- **Scan** = a single execution run of an agent instance. One agent can have many scans. Use zivis_list_scans to see scan runs.\n- **Threat model** = a structured security model (components, data flows, actors, findings). Created/updated by threat-analysis agent scans. Use zivis_list_threat_models to see these.\n\nAgent types:\n- **recon**: Reconnaissance \u2014 discovers attack surface, endpoints, technologies\n- **pen-test**: Penetration testing \u2014 actively tests for vulnerabilities\n- **ai-red-team**: AI/LLM red teaming \u2014 tests AI systems for prompt injection, jailbreaks, etc.\n- **threat-analysis**: Threat modeling \u2014 builds structured threat models (automated LLM threat ID is pipeline-specific)\n- **code-monitor**: Code monitoring \u2014 continuous scanning of repositories\n- **evidence**: Evidence collection \u2014 gathers compliance evidence\n\nWhen users ask about \"the threat model agent\" or \"the recon agent\", use this tool to find the agent instance, NOT zivis_list_scans.";
10
- export declare const LIST_AGENTS_SCHEMA: {
11
- agent_type: z.ZodOptional<z.ZodEnum<{
12
- "pen-test": "pen-test";
13
- recon: "recon";
14
- "ai-red-team": "ai-red-team";
15
- "threat-analysis": "threat-analysis";
16
- "code-monitor": "code-monitor";
17
- evidence: "evidence";
18
- }>>;
19
- status: z.ZodOptional<z.ZodEnum<{
20
- archived: "archived";
21
- paused: "paused";
22
- active: "active";
23
- }>>;
24
- limit: z.ZodDefault<z.ZodNumber>;
25
- };
26
- export declare function createListAgentsHandler(apiClient: ApiClient): (params: {
27
- agent_type?: string;
28
- status?: string;
29
- limit?: number;
30
- }) => Promise<{
31
- content: {
32
- type: "text";
33
- text: string;
34
- }[];
35
- isError?: undefined;
36
- } | {
37
- content: {
38
- type: "text";
39
- text: string;
40
- }[];
41
- isError: boolean;
42
- }>;
@@ -1,95 +0,0 @@
1
- /**
2
- * zivis_list_agents — List agent instances for the org
3
- *
4
- * Maps to: GET /api/agent-instances
5
- */
6
- import { z } from "zod";
7
- import { sanitizeResponse } from "../../sanitize.js";
8
- export const LIST_AGENTS_NAME = "zivis_list_agents";
9
- export const LIST_AGENTS_DESCRIPTION = `List all configured agent instances for your organization.
10
-
11
- IMPORTANT — Understand the ZIVIS entity hierarchy:
12
- - **Agent instance** = a configured agent (e.g., "Production Recon Agent", "API Pen Test Agent"). Each has a UUID, an agent type, a target URL, and configuration. This tool lists these.
13
- - **Scan** = a single execution run of an agent instance. One agent can have many scans. Use zivis_list_scans to see scan runs.
14
- - **Threat model** = a structured security model (components, data flows, actors, findings). Created/updated by threat-analysis agent scans. Use zivis_list_threat_models to see these.
15
-
16
- Agent types:
17
- - **recon**: Reconnaissance — discovers attack surface, endpoints, technologies
18
- - **pen-test**: Penetration testing — actively tests for vulnerabilities
19
- - **ai-red-team**: AI/LLM red teaming — tests AI systems for prompt injection, jailbreaks, etc.
20
- - **threat-analysis**: Threat modeling — builds structured threat models (automated LLM threat ID is pipeline-specific)
21
- - **code-monitor**: Code monitoring — continuous scanning of repositories
22
- - **evidence**: Evidence collection — gathers compliance evidence
23
-
24
- When users ask about "the threat model agent" or "the recon agent", use this tool to find the agent instance, NOT zivis_list_scans.`;
25
- export const LIST_AGENTS_SCHEMA = {
26
- agent_type: z
27
- .enum(["pen-test", "ai-red-team", "recon", "threat-analysis", "code-monitor", "evidence"])
28
- .optional()
29
- .describe("Filter by agent type"),
30
- status: z
31
- .enum(["active", "paused", "archived"])
32
- .optional()
33
- .describe("Filter by agent status"),
34
- limit: z
35
- .number()
36
- .min(1)
37
- .max(50)
38
- .default(20)
39
- .describe("Maximum number of results (1-50, default 20)"),
40
- };
41
- export function createListAgentsHandler(apiClient) {
42
- return async (params) => {
43
- try {
44
- const query = new URLSearchParams();
45
- if (params.agent_type)
46
- query.set("agentType", params.agent_type);
47
- if (params.status)
48
- query.set("status", params.status);
49
- if (params.limit)
50
- query.set("limit", String(params.limit));
51
- query.set("includeOpenStats", "true");
52
- const queryStr = query.toString();
53
- const path = `/api/agent-instances${queryStr ? `?${queryStr}` : ""}`;
54
- const data = await apiClient.get(path);
55
- const sanitized = sanitizeResponse(data);
56
- const instances = Array.isArray(sanitized.instances) ? sanitized.instances : [];
57
- const summary = instances.map((agent) => ({
58
- agent_instance_id: agent.id,
59
- name: agent.name,
60
- agent_type: agent.agentType,
61
- status: agent.status,
62
- target_url: agent.targetUrl,
63
- description: agent.description || null,
64
- is_enabled: agent.isEnabled,
65
- last_scan_at: agent.lastScanAt || null,
66
- created_at: agent.createdAt,
67
- updated_at: agent.updatedAt,
68
- open_critical_count: agent.openCriticalCount ?? null,
69
- open_findings_total: agent.openFindingsTotal ?? null,
70
- campaigns: Array.isArray(agent.campaignLinks)
71
- ? agent.campaignLinks.map((link) => {
72
- const campaign = link.campaign;
73
- return campaign ? { id: campaign.id, name: campaign.name } : null;
74
- }).filter(Boolean)
75
- : [],
76
- }));
77
- return {
78
- content: [
79
- {
80
- type: "text",
81
- text: JSON.stringify({ total: data.total, agents: summary }, null, 2),
82
- },
83
- ],
84
- };
85
- }
86
- catch (err) {
87
- const message = err instanceof Error ? err.message : "Failed to list agents";
88
- return {
89
- content: [{ type: "text", text: `Error: ${message}` }],
90
- isError: true,
91
- };
92
- }
93
- };
94
- }
95
- //# sourceMappingURL=list-agents.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list-agents.js","sourceRoot":"","sources":["../../../src/tools/enterprise/list-agents.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,gBAAgB,GAAG,mBAAmB,CAAC;AAEpD,MAAM,CAAC,MAAM,uBAAuB,GAAG;;;;;;;;;;;;;;;oIAe6F,CAAC;AAErI,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,UAAU,EAAE,CAAC;SACV,IAAI,CAAC,CAAC,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC;SACzF,QAAQ,EAAE;SACV,QAAQ,CAAC,sBAAsB,CAAC;IACnC,MAAM,EAAE,CAAC;SACN,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;SACtC,QAAQ,EAAE;SACV,QAAQ,CAAC,wBAAwB,CAAC;IACrC,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,EAAE,CAAC;SACP,OAAO,CAAC,EAAE,CAAC;SACX,QAAQ,CAAC,8CAA8C,CAAC;CAC5D,CAAC;AAEF,MAAM,UAAU,uBAAuB,CAAC,SAAoB;IAC1D,OAAO,KAAK,EAAE,MAAgE,EAAE,EAAE;QAChF,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;YACpC,IAAI,MAAM,CAAC,UAAU;gBAAE,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;YACjE,IAAI,MAAM,CAAC,MAAM;gBAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YACtD,IAAI,MAAM,CAAC,KAAK;gBAAE,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAC3D,KAAK,CAAC,GAAG,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;YAEtC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;YAClC,MAAM,IAAI,GAAG,uBAAuB,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACrE,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,GAAG,CAA0D,IAAI,CAAC,CAAC;YAEhG,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAA4B,CAAC;YACpE,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;YAEhF,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,KAA8B,EAAE,EAAE,CAAC,CAAC;gBACjE,iBAAiB,EAAE,KAAK,CAAC,EAAE;gBAC3B,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,UAAU,EAAE,KAAK,CAAC,SAAS;gBAC3B,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,UAAU,EAAE,KAAK,CAAC,SAAS;gBAC3B,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,IAAI;gBACtC,UAAU,EAAE,KAAK,CAAC,SAAS;gBAC3B,YAAY,EAAE,KAAK,CAAC,UAAU,IAAI,IAAI;gBACtC,UAAU,EAAE,KAAK,CAAC,SAAS;gBAC3B,UAAU,EAAE,KAAK,CAAC,SAAS;gBAC3B,mBAAmB,EAAE,KAAK,CAAC,iBAAiB,IAAI,IAAI;gBACpD,mBAAmB,EAAE,KAAK,CAAC,iBAAiB,IAAI,IAAI;gBACpD,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC;oBAC3C,CAAC,CAAE,KAAK,CAAC,aAAgD,CAAC,GAAG,CAAC,CAAC,IAA6B,EAAE,EAAE;wBAC5F,MAAM,QAAQ,GAAG,IAAI,CAAC,QAA+C,CAAC;wBACtE,OAAO,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;oBACpE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;oBACpB,CAAC,CAAC,EAAE;aACP,CAAC,CAAC,CAAC;YAEJ,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;qBACtE;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"}
@@ -1,36 +0,0 @@
1
- /**
2
- * zivis_list_report_issues — List remediation checklist issues for a campaign report
3
- *
4
- * Maps to: GET /api/reports/:reportId/issues
5
- * Also uses: POST /api/reports/for-campaign/:campaignId
6
- */
7
- import { z } from "zod";
8
- import type { ApiClient } from "../../api-client.js";
9
- export declare const LIST_REPORT_ISSUES_NAME = "zivis_list_report_issues";
10
- export declare const LIST_REPORT_ISSUES_DESCRIPTION = "List all issues in a campaign's remediation checklist with status summary.\n\nReturns issues grouped by severity with stats (open/in_progress/done counts). Use campaign_id to auto-resolve the report, or provide report_id directly.\n\nFilter by status to see only open, in-progress, or completed items.";
11
- export declare const LIST_REPORT_ISSUES_SCHEMA: {
12
- campaign_id: z.ZodOptional<z.ZodString>;
13
- report_id: z.ZodOptional<z.ZodString>;
14
- status: z.ZodOptional<z.ZodEnum<{
15
- open: "open";
16
- in_progress: "in_progress";
17
- done: "done";
18
- }>>;
19
- };
20
- export declare function createListReportIssuesHandler(apiClient: ApiClient): (params: {
21
- campaign_id?: string;
22
- report_id?: string;
23
- status?: string;
24
- }) => Promise<{
25
- content: {
26
- type: "text";
27
- text: string;
28
- }[];
29
- isError: boolean;
30
- } | {
31
- content: {
32
- type: "text";
33
- text: string;
34
- }[];
35
- isError?: undefined;
36
- }>;
@@ -1,50 +0,0 @@
1
- /**
2
- * zivis_list_report_issues — List remediation checklist issues for a campaign report
3
- *
4
- * Maps to: GET /api/reports/:reportId/issues
5
- * Also uses: POST /api/reports/for-campaign/:campaignId
6
- */
7
- import { z } from "zod";
8
- import { sanitizeResponse } from "../../sanitize.js";
9
- export const LIST_REPORT_ISSUES_NAME = "zivis_list_report_issues";
10
- export const LIST_REPORT_ISSUES_DESCRIPTION = `List all issues in a campaign's remediation checklist with status summary.
11
-
12
- Returns issues grouped by severity with stats (open/in_progress/done counts). Use campaign_id to auto-resolve the report, or provide report_id directly.
13
-
14
- Filter by status to see only open, in-progress, or completed items.`;
15
- export const LIST_REPORT_ISSUES_SCHEMA = {
16
- campaign_id: z.string().optional().describe("Campaign UUID — auto-resolves to report"),
17
- report_id: z.string().optional().describe("Report UUID (alternative to campaign_id)"),
18
- status: z.enum(["open", "in_progress", "done"]).optional().describe("Filter by status"),
19
- };
20
- export function createListReportIssuesHandler(apiClient) {
21
- return async (params) => {
22
- try {
23
- let reportId = params.report_id;
24
- // Resolve campaign → report if needed
25
- if (!reportId && params.campaign_id) {
26
- const reportData = await apiClient.post(`/api/reports/for-campaign/${params.campaign_id}`, {});
27
- reportId = reportData.reportId;
28
- }
29
- if (!reportId) {
30
- return {
31
- content: [{ type: "text", text: "Error: Provide either campaign_id or report_id" }],
32
- isError: true,
33
- };
34
- }
35
- const queryParams = params.status ? `?status=${params.status}` : "";
36
- const data = await apiClient.get(`/api/reports/${reportId}/issues${queryParams}`);
37
- return {
38
- content: [{ type: "text", text: JSON.stringify(sanitizeResponse(data), null, 2) }],
39
- };
40
- }
41
- catch (err) {
42
- const message = err instanceof Error ? err.message : "Failed to list report issues";
43
- return {
44
- content: [{ type: "text", text: `Error: ${message}` }],
45
- isError: true,
46
- };
47
- }
48
- };
49
- }
50
- //# sourceMappingURL=list-report-issues.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list-report-issues.js","sourceRoot":"","sources":["../../../src/tools/enterprise/list-report-issues.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,MAAM,CAAC,MAAM,uBAAuB,GAAG,0BAA0B,CAAC;AAElE,MAAM,CAAC,MAAM,8BAA8B,GAAG;;;;oEAIsB,CAAC;AAErE,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;IACtF,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;IACrF,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;CACxF,CAAC;AAEF,MAAM,UAAU,6BAA6B,CAAC,SAAoB;IAChE,OAAO,KAAK,EAAE,MAIb,EAAE,EAAE;QACH,IAAI,CAAC;YACH,IAAI,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;YAEhC,sCAAsC;YACtC,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;gBACpC,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,IAAI,CACrC,6BAA6B,MAAM,CAAC,WAAW,EAAE,EACjD,EAAE,CACH,CAAC;gBACF,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;YACjC,CAAC;YAED,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,gDAAgD,EAAE,CAAC;oBAC5F,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YAED,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpE,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,GAAG,CAC9B,gBAAgB,QAAQ,UAAU,WAAW,EAAE,CAChD,CAAC;YAEF,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;aAC5F,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,8BAA8B,CAAC;YACpF,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"}
@@ -1,36 +0,0 @@
1
- /**
2
- * zivis_list_threat_models — List threat models for the org
3
- *
4
- * Maps to: GET /api/threat-models
5
- */
6
- import { z } from "zod";
7
- import type { ApiClient } from "../../api-client.js";
8
- export declare const LIST_THREAT_MODELS_NAME = "zivis_list_threat_models";
9
- export declare const LIST_THREAT_MODELS_DESCRIPTION = "List all threat models for your organization. Returns name, status, summary info, and linked diagram counts for each threat model.\n\nAlso fetches any diagrams linked to each threat model, so you can see which threat models have associated architecture, data flow, or trust boundary diagrams. Use zivis_get_threat_model to see full diagram details.\n\nIMPORTANT: Threat models are NOT scans and NOT agents. They are separate entities:\n- A **threat model** (returned here) has its own UUID and contains components, data flows, actors, findings, etc.\n- A **scan** is an agent execution run (from zivis_list_scans) \u2014 scans may CREATE or UPDATE threat models, but scan IDs \u2260 threat model IDs.\n- An **agent instance** is a configured agent (from the UI) \u2014 agents RUN scans which produce threat models.\n\nUse the threat model ID (from this tool's response) when calling zivis_get_threat_model, zivis_manage_component, zivis_manage_finding, etc. Do NOT pass scan IDs or agent instance IDs to those tools.";
10
- export declare const LIST_THREAT_MODELS_SCHEMA: {
11
- status: z.ZodOptional<z.ZodEnum<{
12
- draft: "draft";
13
- analyzing: "analyzing";
14
- analyzed: "analyzed";
15
- reviewed: "reviewed";
16
- approved: "approved";
17
- archived: "archived";
18
- }>>;
19
- limit: z.ZodDefault<z.ZodNumber>;
20
- };
21
- export declare function createListThreatModelsHandler(apiClient: ApiClient): (params: {
22
- status?: string;
23
- limit?: number;
24
- }) => Promise<{
25
- content: {
26
- type: "text";
27
- text: string;
28
- }[];
29
- isError?: undefined;
30
- } | {
31
- content: {
32
- type: "text";
33
- text: string;
34
- }[];
35
- isError: boolean;
36
- }>;
@@ -1,82 +0,0 @@
1
- /**
2
- * zivis_list_threat_models — List threat models for the org
3
- *
4
- * Maps to: GET /api/threat-models
5
- */
6
- import { z } from "zod";
7
- import { sanitizeResponse } from "../../sanitize.js";
8
- export const LIST_THREAT_MODELS_NAME = "zivis_list_threat_models";
9
- export const LIST_THREAT_MODELS_DESCRIPTION = `List all threat models for your organization. Returns name, status, summary info, and linked diagram counts for each threat model.
10
-
11
- Also fetches any diagrams linked to each threat model, so you can see which threat models have associated architecture, data flow, or trust boundary diagrams. Use zivis_get_threat_model to see full diagram details.
12
-
13
- IMPORTANT: Threat models are NOT scans and NOT agents. They are separate entities:
14
- - A **threat model** (returned here) has its own UUID and contains components, data flows, actors, findings, etc.
15
- - A **scan** is an agent execution run (from zivis_list_scans) — scans may CREATE or UPDATE threat models, but scan IDs ≠ threat model IDs.
16
- - An **agent instance** is a configured agent (from the UI) — agents RUN scans which produce threat models.
17
-
18
- Use the threat model ID (from this tool's response) when calling zivis_get_threat_model, zivis_manage_component, zivis_manage_finding, etc. Do NOT pass scan IDs or agent instance IDs to those tools.`;
19
- export const LIST_THREAT_MODELS_SCHEMA = {
20
- status: z
21
- .enum(["draft", "analyzing", "analyzed", "reviewed", "approved", "archived"])
22
- .optional()
23
- .describe("Filter by threat model status"),
24
- limit: z
25
- .number()
26
- .min(1)
27
- .max(100)
28
- .default(20)
29
- .describe("Maximum number of results (1-100, default 20)"),
30
- };
31
- export function createListThreatModelsHandler(apiClient) {
32
- return async (params) => {
33
- try {
34
- const query = new URLSearchParams();
35
- if (params.status)
36
- query.set("status", params.status);
37
- if (params.limit)
38
- query.set("limit", String(params.limit));
39
- const queryStr = query.toString();
40
- const path = `/api/threat-models${queryStr ? `?${queryStr}` : ""}`;
41
- const data = await apiClient.get(path);
42
- const sanitized = sanitizeResponse(data);
43
- // Fetch diagram counts for each threat model in parallel
44
- const threatModels = Array.isArray(sanitized) ? sanitized : [];
45
- const diagramCounts = await Promise.all(threatModels.map((tm) => apiClient
46
- .get(`/api/diagrams?linkedThreatModelId=${tm.id}&take=1`)
47
- .then((res) => res.total ?? 0)
48
- .catch(() => 0)));
49
- // Format with clear ID labeling to prevent confusion with scan/agent IDs
50
- const summary = Array.isArray(sanitized)
51
- ? sanitized.map((tm, i) => ({
52
- threat_model_id: tm.id,
53
- name: tm.name,
54
- status: tm.status,
55
- description: tm.description,
56
- application: tm.applicationName || null,
57
- campaign: tm.campaignName || null,
58
- latest_version: tm.latestVersion || null,
59
- linked_diagrams_count: diagramCounts[i],
60
- created_at: tm.createdAt,
61
- updated_at: tm.updatedAt,
62
- }))
63
- : sanitized;
64
- return {
65
- content: [
66
- {
67
- type: "text",
68
- text: JSON.stringify(summary, null, 2),
69
- },
70
- ],
71
- };
72
- }
73
- catch (err) {
74
- const message = err instanceof Error ? err.message : "Failed to list threat models";
75
- return {
76
- content: [{ type: "text", text: `Error: ${message}` }],
77
- isError: true,
78
- };
79
- }
80
- };
81
- }
82
- //# sourceMappingURL=list-threat-models.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list-threat-models.js","sourceRoot":"","sources":["../../../src/tools/enterprise/list-threat-models.ts"],"names":[],"mappings":"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"}
@@ -1,58 +0,0 @@
1
- /**
2
- * zivis_manage_actor — Create, update, or delete threat actors in a threat model
3
- *
4
- * Maps to: POST/PATCH/DELETE /api/threat-models/:id/actors
5
- */
6
- import { z } from "zod";
7
- import type { ApiClient } from "../../api-client.js";
8
- export declare const MANAGE_ACTOR_NAME = "zivis_manage_actor";
9
- export declare const MANAGE_ACTOR_DESCRIPTION = "Create, update, or delete a threat actor in a threat model.\n\nThreat actors represent entities that interact with or threaten the system (e.g., external users, attackers, services). Each actor has a trust level, type, and capabilities.\n\nActions:\n- create: Add a new threat actor (requires name, actor_type, trust_level)\n- update: Modify an existing actor (requires actor_id)\n- delete: Remove an actor (requires actor_id)";
10
- export declare const MANAGE_ACTOR_SCHEMA: {
11
- threat_model_id: z.ZodString;
12
- action: z.ZodEnum<{
13
- create: "create";
14
- update: "update";
15
- delete: "delete";
16
- }>;
17
- actor_id: z.ZodOptional<z.ZodString>;
18
- name: z.ZodOptional<z.ZodString>;
19
- actor_type: z.ZodOptional<z.ZodEnum<{
20
- external: "external";
21
- internal: "internal";
22
- system: "system";
23
- third_party: "third_party";
24
- }>>;
25
- trust_level: z.ZodOptional<z.ZodEnum<{
26
- high: "high";
27
- medium: "medium";
28
- low: "low";
29
- untrusted: "untrusted";
30
- privileged: "privileged";
31
- }>>;
32
- description: z.ZodOptional<z.ZodString>;
33
- motivation: z.ZodOptional<z.ZodString>;
34
- capabilities: z.ZodOptional<z.ZodArray<z.ZodString>>;
35
- };
36
- export declare function createManageActorHandler(apiClient: ApiClient): (params: {
37
- threat_model_id: string;
38
- action: "create" | "update" | "delete";
39
- actor_id?: string;
40
- name?: string;
41
- actor_type?: string;
42
- trust_level?: string;
43
- description?: string;
44
- motivation?: string;
45
- capabilities?: string[];
46
- }) => Promise<{
47
- content: {
48
- type: "text";
49
- text: string;
50
- }[];
51
- isError: boolean;
52
- } | {
53
- content: {
54
- type: "text";
55
- text: string;
56
- }[];
57
- isError?: undefined;
58
- }>;
@@ -1,99 +0,0 @@
1
- /**
2
- * zivis_manage_actor — Create, update, or delete threat actors in a threat model
3
- *
4
- * Maps to: POST/PATCH/DELETE /api/threat-models/:id/actors
5
- */
6
- import { z } from "zod";
7
- import { sanitizeResponse } from "../../sanitize.js";
8
- export const MANAGE_ACTOR_NAME = "zivis_manage_actor";
9
- export const MANAGE_ACTOR_DESCRIPTION = `Create, update, or delete a threat actor in a threat model.
10
-
11
- Threat actors represent entities that interact with or threaten the system (e.g., external users, attackers, services). Each actor has a trust level, type, and capabilities.
12
-
13
- Actions:
14
- - create: Add a new threat actor (requires name, actor_type, trust_level)
15
- - update: Modify an existing actor (requires actor_id)
16
- - delete: Remove an actor (requires actor_id)`;
17
- export const MANAGE_ACTOR_SCHEMA = {
18
- threat_model_id: z.string().describe("Threat model UUID (from zivis_list_threat_models, NOT a scan ID or agent ID)"),
19
- action: z.enum(["create", "update", "delete"]).describe("CRUD action to perform"),
20
- actor_id: z.string().optional().describe("Actor UUID (required for update/delete)"),
21
- name: z.string().optional().describe("Actor name (e.g., 'External Attacker', 'API Consumer')"),
22
- actor_type: z
23
- .enum(["external", "internal", "system", "third_party"])
24
- .optional()
25
- .describe("Type of threat actor"),
26
- trust_level: z
27
- .enum(["untrusted", "low", "medium", "high", "privileged"])
28
- .optional()
29
- .describe("Trust level assigned to this actor"),
30
- description: z.string().optional().describe("Description of the actor's role and intent"),
31
- motivation: z.string().optional().describe("Actor's motivation (e.g., financial gain, espionage)"),
32
- capabilities: z.array(z.string()).optional().describe("Actor capabilities (e.g., ['network_access', 'social_engineering'])"),
33
- };
34
- export function createManageActorHandler(apiClient) {
35
- return async (params) => {
36
- try {
37
- const { threat_model_id, action, actor_id } = params;
38
- if ((action === "update" || action === "delete") && !actor_id) {
39
- return {
40
- content: [{ type: "text", text: "Error: actor_id is required for update/delete" }],
41
- isError: true,
42
- };
43
- }
44
- let data;
45
- if (action === "create") {
46
- if (!params.name || !params.actor_type || !params.trust_level) {
47
- return {
48
- content: [{ type: "text", text: "Error: name, actor_type, and trust_level are required for create" }],
49
- isError: true,
50
- };
51
- }
52
- data = await apiClient.post(`/api/threat-models/${threat_model_id}/actors`, {
53
- name: params.name,
54
- actorType: params.actor_type,
55
- trustLevel: params.trust_level,
56
- description: params.description,
57
- motivation: params.motivation,
58
- capabilities: params.capabilities,
59
- });
60
- }
61
- else if (action === "update") {
62
- const body = {};
63
- if (params.name)
64
- body.name = params.name;
65
- if (params.actor_type)
66
- body.actorType = params.actor_type;
67
- if (params.trust_level)
68
- body.trustLevel = params.trust_level;
69
- if (params.description !== undefined)
70
- body.description = params.description;
71
- if (params.motivation !== undefined)
72
- body.motivation = params.motivation;
73
- if (params.capabilities)
74
- body.capabilities = params.capabilities;
75
- data = await apiClient.patch(`/api/threat-models/${threat_model_id}/actors/${actor_id}`, body);
76
- }
77
- else {
78
- data = await apiClient.del(`/api/threat-models/${threat_model_id}/actors/${actor_id}`);
79
- }
80
- const sanitized = sanitizeResponse(data);
81
- return {
82
- content: [
83
- {
84
- type: "text",
85
- text: JSON.stringify(sanitized, null, 2),
86
- },
87
- ],
88
- };
89
- }
90
- catch (err) {
91
- const message = err instanceof Error ? err.message : "Failed to manage actor";
92
- return {
93
- content: [{ type: "text", text: `Error: ${message}` }],
94
- isError: true,
95
- };
96
- }
97
- };
98
- }
99
- //# sourceMappingURL=manage-actor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"manage-actor.js","sourceRoot":"","sources":["../../../src/tools/enterprise/manage-actor.ts"],"names":[],"mappings":"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"}
@@ -1,70 +0,0 @@
1
- /**
2
- * zivis_manage_attack_scenario — Create, update, or delete attack scenarios
3
- *
4
- * Maps to: POST/PATCH/DELETE /api/threat-models/:id/attack-scenarios
5
- */
6
- import { z } from "zod";
7
- import type { ApiClient } from "../../api-client.js";
8
- export declare const MANAGE_ATTACK_SCENARIO_NAME = "zivis_manage_attack_scenario";
9
- export declare const MANAGE_ATTACK_SCENARIO_DESCRIPTION = "Create, update, or delete an attack scenario in a threat model.\n\nAttack scenarios describe specific attack paths \u2014 how a threat actor could exploit vulnerabilities to achieve their objective. They link actors, components, and attack vectors into a cohesive narrative.\n\nActions:\n- create: Add a new scenario (requires title, narrative, entry_point_id, target_id)\n- update: Update scenario status/notes (requires scenario_id)\n- delete: Remove a scenario (requires scenario_id)";
10
- export declare const MANAGE_ATTACK_SCENARIO_SCHEMA: {
11
- threat_model_id: z.ZodString;
12
- action: z.ZodEnum<{
13
- create: "create";
14
- update: "update";
15
- delete: "delete";
16
- }>;
17
- scenario_id: z.ZodOptional<z.ZodString>;
18
- title: z.ZodOptional<z.ZodString>;
19
- narrative: z.ZodOptional<z.ZodString>;
20
- entry_point_id: z.ZodOptional<z.ZodString>;
21
- target_id: z.ZodOptional<z.ZodString>;
22
- severity: z.ZodOptional<z.ZodEnum<{
23
- critical: "critical";
24
- high: "high";
25
- medium: "medium";
26
- low: "low";
27
- info: "info";
28
- }>>;
29
- likelihood: z.ZodOptional<z.ZodEnum<{
30
- almost_certain: "almost_certain";
31
- likely: "likely";
32
- possible: "possible";
33
- unlikely: "unlikely";
34
- }>>;
35
- actor_id: z.ZodOptional<z.ZodString>;
36
- goal_category: z.ZodOptional<z.ZodString>;
37
- goal_description: z.ZodOptional<z.ZodString>;
38
- business_impact: z.ZodOptional<z.ZodString>;
39
- status: z.ZodOptional<z.ZodString>;
40
- user_notes: z.ZodOptional<z.ZodString>;
41
- };
42
- export declare function createManageAttackScenarioHandler(apiClient: ApiClient): (params: {
43
- threat_model_id: string;
44
- action: "create" | "update" | "delete";
45
- scenario_id?: string;
46
- title?: string;
47
- narrative?: string;
48
- entry_point_id?: string;
49
- target_id?: string;
50
- severity?: string;
51
- likelihood?: string;
52
- actor_id?: string;
53
- goal_category?: string;
54
- goal_description?: string;
55
- business_impact?: string;
56
- status?: string;
57
- user_notes?: string;
58
- }) => Promise<{
59
- content: {
60
- type: "text";
61
- text: string;
62
- }[];
63
- isError: boolean;
64
- } | {
65
- content: {
66
- type: "text";
67
- text: string;
68
- }[];
69
- isError?: undefined;
70
- }>;