Wiz
Wiz is a leading cloud security platform that provides agentless visibility, risk prioritization, and security graph analysis across multi-cloud environments. It helps organizations secure their AWS, Azure, GCP, Oracle Cloud, and Kubernetes workloads by identifying vulnerabilities, misconfigurations, and potential attack paths.
Wiz is trusted by over 50% of Fortune 100 companies and focuses on providing comprehensive cloud security through its Security Graph technology, which maps relationships between cloud resources to identify toxic risk combinations and lateral movement paths.
Authentication Types
Wiz supports 1 authentication method:
- Client Credentials (Service Account) - OAuth2 client credentials flow using a service account
- Pros: Secure for automation, supports granular scopes, audit trails per service account, recommended for production
- Cons: Requires admin access to create service account, tokens expire after 24 hours (automatically refreshed)
General Settings
Before using the connector, you need to configure:
- API Endpoint URL - Your tenant-specific Wiz API endpoint (e.g.,
https://api.us1.app.wiz.io,https://api.eu1.app.wiz.io)- Find this in your Wiz portal: Click your profile icon → User Settings → Look for "API Endpoint URL" in the API section
- Different regions and tenants have different endpoints
- Format:
https://api.[region].app.wiz.io(do NOT include/graphqlor/oauth/tokenat the end)
Setting up Service Account (Client Credentials)
Service accounts provide secure, scoped API access for integrations and automation. Follow these steps:
-
Log in to your Wiz portal
-
Navigate to Settings (gear icon) → Access Management → Service Accounts
-
Click + Add Service Account (top right)
-
Configure the service account:
- Name: Give it a descriptive name (e.g., "Webrix AI Integration")
- Type: Select "Custom Integration (GraphQL API)"
- Description: Optional description of what this service account will be used for
-
Configure API Scopes - Select the permissions needed:
Minimum Required Scopes (read-only operations):
read:issues- View security issuesread:vulnerabilities- View vulnerability findingsread:projects- View projectsread:resources- View cloud resources
Recommended Scopes (full functionality):
read:issues- View security issuesread:threats_issues- View threat intelligenceread:vulnerabilities- View vulnerabilitiesread:projects- View projectsread:resources- View cloud resourcesread:cloud_accounts- View cloud accountsread:cloud_configuration- View configuration findingsread:host_configuration- View host configurationsread:reports- View reportsread:all- Comprehensive read access (alternatively, grant individual read scopes)
Optional Write Scopes (for issue management):
write:issues- Update issue status and add notescreate:reports- Generate custom reports
-
Optionally, scope to specific projects if you want to limit access to certain projects only
-
Click Create Service Account
-
IMPORTANT: Copy the Client Secret immediately - it will only be shown once
- Also copy the Client ID
- Store both securely (e.g., password manager, secrets vault)
-
Find your API Endpoint URL:
- Click your profile icon → User Settings
- Look for "API Endpoint URL" in the API section
- Example:
https://api.us1.app.wiz.io
-
In Webrix, configure the Wiz connector:
- Paste the API Endpoint URL in General Settings
- Select Client Credentials as the authentication type
- Enter the Token URL: Your API endpoint +
/oauth/token(e.g.,https://api.us1.app.wiz.io/oauth/token) - Paste the Client ID
- Paste the Client Secret
- Select the scopes you granted to the service account
- Click Save Changes
For security best practices, create separate service accounts for different integrations or use cases, each with only the minimum required scopes. This follows the principle of least privilege and makes auditing easier.
Available Operations
The Wiz connector provides 29 tools across 7 categories:
Issues Management (6 tools)
- List Issues - Query security issues with pagination and filters (severity, status, resource type)
- Get Issue - Retrieve detailed issue information including remediation steps and evidence
- Search Issues - Advanced issue search with flexible query syntax
- Update Issue Status - Change issue status (OPEN, IN_PROGRESS, RESOLVED, REJECTED)
- Add Issue Note - Add comments for collaboration and documentation
- Get Issue Statistics - Aggregated issue counts by severity, status, and type
Vulnerability Findings (5 tools)
- List Vulnerability Findings - Query vulnerabilities with CVE details and CVSS scores
- Get Vulnerability Finding - Detailed vulnerability information including exploitability
- Search Vulnerabilities by CVE - Find all resources affected by a specific CVE
- Get Vulnerabilities by Severity - Filter vulnerabilities by CRITICAL, HIGH, MEDIUM, or LOW
- Get Vulnerability Statistics - Summary statistics including fix availability and exploitability
Projects (3 tools)
- List Projects - Browse all projects with metadata and risk profiles
- Get Project - Detailed project information including resource counts and security posture
- Get Project Security Summary - Comprehensive security summary with issue and vulnerability counts
Cloud Resources (5 tools)
- List Cloud Resources - Inventory resources across AWS, Azure, GCP, and Kubernetes
- Get Cloud Resource - Detailed resource information including configuration and findings
- Search Cloud Resources - Advanced resource search with flexible query syntax
- List Resources by Type - Filter resources by type (VMs, containers, storage, etc.)
- Get Resource Security Graph - View resource relationships and potential attack paths
Configuration Findings (3 tools)
- List Configuration Findings - Query misconfigurations and policy violations
- Get Configuration Finding - Detailed finding with remediation instructions
- List Findings by Control - All resources failing a specific security control
Security & Compliance (4 tools)
- List Security Frameworks - Available compliance frameworks (CIS, PCI-DSS, SOC 2, etc.)
- Get Framework Compliance Status - Compliance score and control pass/fail counts
- List Security Controls - Browse security controls and their requirements
- Get Control Compliance Status - Compliance status for a specific control
Users & Access (3 tools)
- List Users - Organization users with roles and project access
- List Service Accounts - Service accounts with scopes and usage information
- Get User Role Assignments - Detailed user permissions and project access
Common Use Cases
Security Posture Assessment
List Issues (filter by CRITICAL severity) → Review security posture →
Get Issue Statistics → Generate executive report
Vulnerability Management
List Vulnerability Findings (filter by severity) →
Search Vulnerabilities by CVE → Identify affected resources →
Update Issue Status (mark as IN_PROGRESS) →
Add Issue Note (document remediation plan)
Incident Investigation
Get Issue (by ID) → Get Cloud Resource (affected resource) →
Get Resource Security Graph (understand attack paths) →
Search Cloud Resources (find similar resources) →
Add Issue Note (document findings)
Compliance Reporting
List Security Frameworks → Get Framework Compliance Status (e.g., PCI-DSS) →
List Configuration Findings (filter by failed controls) →
Get Control Compliance Status → Generate compliance report
Cloud Resource Inventory
List Projects → List Cloud Resources (filter by project) →
List Resources by Type (e.g., STORAGE_BUCKET) →
Get Cloud Resource (detailed configuration)
Attack Path Analysis
Get Issue (security issue) → Get Cloud Resource (affected resource) →
Get Resource Security Graph (map connections) →
Identify lateral movement risks → Plan remediation
Troubleshooting
"Invalid credentials" or "Authentication failed"
Cause: The Client ID or Client Secret is incorrect, or the token URL is wrong.
Solution:
- Verify you copied the complete Client Secret when the service account was created
- Check the Client ID matches the service account in Wiz
- Verify the Token URL format:
https://api.[region].app.wiz.io/oauth/token - If credentials are lost, create a new service account (secrets cannot be recovered)
"Insufficient permissions" or "Access denied"
Cause: The service account doesn't have the required API scopes for the operation.
Solution:
- Go to Settings → Access Management → Service Accounts in Wiz
- Find your service account and click Edit
- Review and add the required scopes (see tool descriptions for required scopes)
- Common required scopes:
- Issues:
read:issuesorwrite:issues - Vulnerabilities:
read:vulnerabilities - Projects:
read:projects - Resources:
read:resources - Configuration:
read:cloud_configuration
- Issues:
- Save changes and reconnect in Webrix
"Invalid API endpoint" or "Unable to connect"
Cause: The API Endpoint URL is incorrect or formatted incorrectly.
Solution:
- Go to your Wiz portal → Profile → User Settings
- Copy the exact "API Endpoint URL" shown
- Format should be:
https://api.[region].app.wiz.io(examples:api.us1.app.wiz.io,api.eu1.app.wiz.io) - Do NOT include
/graphql,/oauth/token, or any path at the end - Do NOT include
wwwin the URL - Ensure HTTPS (not HTTP)
Token expiration errors
Cause: Wiz access tokens expire after 24 hours.
Solution:
- Tokens are automatically refreshed by Webrix using the client credentials
- If you see persistent token errors, verify your Client ID and Secret are correct
- Check that the service account hasn't been deactivated in Wiz
"Query too complex" or timeout errors
Cause: GraphQL query is too large or requesting too much data.
Solution:
- Reduce the
firstparameter to request fewer items per page - Use pagination with the
aftercursor to retrieve data in smaller chunks - Add more specific filters to narrow down results
- For large datasets, consider breaking the query into multiple smaller requests
Service account not found or deactivated
Cause: The service account was deleted or deactivated in Wiz.
Solution:
- Go to Settings → Access Management → Service Accounts
- Verify the service account exists and is active
- If deleted, create a new service account and update credentials in Webrix
- Check if the service account has been reassigned to different projects
GraphQL query errors
Cause: The GraphQL query syntax is invalid or field doesn't exist.
Solution:
- This typically indicates a tool implementation issue
- Check if your Wiz API version supports the queried fields
- Use the Wiz API Console (in Wiz portal) to test queries
- Contact support if specific tools consistently fail
Best Practices
- Use granular scopes - Only grant the minimum scopes needed for your use case
- Create separate service accounts - Use different service accounts for different integrations
- Rotate credentials regularly - Create new service accounts and deactivate old ones periodically (e.g., every 90 days)
- Monitor service account usage - Review "Last Used" timestamps in Wiz to identify unused accounts
- Use project scoping - Limit service accounts to specific projects when possible
- Document service account purposes - Use clear names and descriptions
- Paginate large queries - Use the
firstandafterparameters for large datasets - Filter queries - Apply filters to reduce data transfer and improve performance
- Review audit logs - Regularly check Wiz audit logs for service account activity
- Secure credential storage - Never commit credentials to source control
Security Considerations
- Service account credentials provide programmatic access to your security data - treat them like passwords
- Client Secrets are shown only once during creation - store them securely immediately
- Tokens expire after 24 hours for security (automatically refreshed)
- Use
read:allscope with caution - it grants broad read access across all data - Write operations (
write:issues) can modify issue status - use carefully - Deactivated service accounts immediately lose all access
- All service account API calls are logged in Wiz audit logs
- Consider network restrictions or IP allowlisting for production service accounts
- Regular access reviews help identify unused or overprivileged service accounts
Rate Limits
Wiz enforces rate limits on API requests to ensure platform stability:
- Standard rate limits apply per service account
- If you hit rate limits, implement exponential backoff retry logic
- Use pagination to spread large queries across multiple requests
- Contact Wiz support if you need higher rate limits for your use case
Additional Resources
- Wiz Documentation
- Wiz API Console - Test GraphQL queries in your tenant
- Wiz Security Graph - Learn about attack path analysis
- Wiz Academy - Cloud security best practices