Files
Guillaume BOURGEOIS fe7dae8bd3 feat(wiz): new Wiz CNAPP integration
Wiz GraphQL API, 6 commands: list/get issues, update issue status, list
vulnerabilities, list cloud resources. OAuth2 client-credentials auth,
stdlib-only.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-12 00:53:02 +02:00

91 lines
3.3 KiB
YAML

id: wiz
name: Wiz
version: 1.0.0
description: "Wiz (CNAPP GraphQL API) — cloud security posture: list and read issues, update an issue's status, list vulnerability findings, and search cloud resources. OAuth2 client-credentials authentication; stdlib-only, no extra Python dependencies."
changelog: "1.0.0 — Initial release: list/get issues, update issue status, list vulnerabilities, list cloud resources."
category: cloud
# Per-instance configuration. Client credentials are exchanged at the auth URL
# for a bearer token used against the tenant GraphQL endpoint.
config_schema:
properties:
api_url:
type: string
description: "Wiz GraphQL API endpoint (e.g. https://api.us1.app.wiz.io/graphql)"
auth_url:
type: string
description: "Wiz OAuth token URL"
default: "https://auth.app.wiz.io/oauth/token"
client_id:
type: string
description: "Wiz service account client ID"
client_secret:
type: string
description: "Wiz service account client secret"
x-soar-sensitive: true
required:
- api_url
- client_id
- client_secret
commands:
- id: list_issues
name: wiz-list-issues
description: "List issues (optionally filtered by status and severity)."
risk: read
inputs_schema:
properties:
status: { type: string, description: "Status filter (OPEN, IN_PROGRESS, RESOLVED, REJECTED)" }
severity: { type: string, description: "Severity filter (CRITICAL, HIGH, MEDIUM, LOW, INFORMATIONAL)" }
first: { type: number, description: "Max issues (default 20)" }
required: []
outputs_schema: { properties: {} }
- id: get_issue
name: wiz-get-issue
description: "Get a single issue by ID."
risk: read
inputs_schema:
properties:
issue_id: { type: string, description: "Issue ID" }
required: [issue_id]
outputs_schema: { properties: {} }
- id: update_issue_status
name: wiz-update-issue-status
description: "Update an issue's status (e.g. resolve or reject)."
inputs_schema:
properties:
issue_id: { type: string, description: "Issue ID" }
status: { type: string, description: "OPEN, IN_PROGRESS, RESOLVED, or REJECTED" }
note: { type: string, description: "Optional note" }
required: [issue_id, status]
outputs_schema: { properties: {} }
- id: list_vulnerabilities
name: wiz-list-vulnerabilities
description: "List vulnerability findings."
risk: read
inputs_schema:
properties:
severity: { type: string, description: "Severity filter (CRITICAL, HIGH, MEDIUM, LOW)" }
first: { type: number, description: "Max findings (default 20)" }
required: []
outputs_schema: { properties: {} }
- id: list_cloud_resources
name: wiz-list-cloud-resources
description: "Search cloud resources by a text query."
risk: read
inputs_schema:
properties:
search: { type: string, description: "Free-text search over resource names" }
first: { type: number, description: "Max resources (default 20)" }
required: []
outputs_schema: { properties: {} }
- id: test_connection
name: wiz-test-connection
description: "Verify the token exchange and GraphQL access (used by the Test button)."
risk: read
inputs_schema:
properties: {}
required: []
outputs_schema: { properties: {} }