fe7dae8bd3
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>
91 lines
3.3 KiB
YAML
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: {} }
|