Skip to content

CASB shadow-AI detection

CASB telemetry helps Venturi detect unsanctioned or uninstrumented AI access paths without treating detected activity as request-level attribution.

Onboarding scope

This guide covers the read-only casb_shadow_ai connector in the Venturi platform connector package. It reads CASB event and alert records and SaaS-management application records, and never changes policy, quarantines, or blocks.

Supported sources

Venturi reads the CASB or SaaS-management platform you already operate and does not require a specific vendor. Connect any one of these sources, or several; the connection records which source each observation came from:

  • CASB: Netskope, Zscaler, and Microsoft Defender for Cloud Apps, which supply AI-service access events.
  • SaaS management: Zylo, which supplies the applications it discovers in your organization.

Required access

The names below are Venturi capability identifiers, not vendor OAuth scopes:

Venturi capability Purpose
netskope.events.readonly Read Netskope event rows.
zscaler.logs.readonly Read Zscaler log rows.
microsoft_defender_cloud_apps.alerts.readonly Read Defender for Cloud Apps activity and alert records.

Do not grant policy-write, quarantine, block, or remediation permissions.

Configure each selected vendor with the authorization below. The connector reads records; a vendor permission may permit additional actions, as noted:

  • Netskope: a REST API v2 token, sent in the Netskope-API-Token header, whose endpoint list contains only the event data-export endpoints. Netskope stores each consumer’s read position under an index name that the consumer supplies, so give Venturi its own index name. Grant no policy, URL-list, or incident-update endpoints. See the Netskope REST API v2 overview and data-export iterator guide.
  • Zscaler: the web logs that your Nanolog Streaming Service (NSS) feed already delivers, read from that feed’s destination with a read-only credential. See Zscaler Nanolog Streaming Service.
  • Microsoft Defender for Cloud Apps: a Microsoft Entra app registration with the Microsoft Cloud App Security application permission Investigation.read. The connector only lists and fetches activity and alert records. Microsoft’s permission also permits activity feedback and marking alerts read or unread; the connector does not invoke those actions. Use a dedicated app and record this credential-scope exception in your access review. Do not grant Investigation.manage, Discovery.manage, or Settings.manage. See the application-context guide and the activities API.
  • Zylo: a Company Token that a Zylo admin creates on the Company Tokens tab of the Zylo Admin page, holding only the applications:read permission. Do not add any :write permission or admin. See Zylo’s API keys and permissions.

Fields kept and dropped

The connector stores only the fields in the first column. Everything else in a source record is discarded in memory during the sync and never stored.

Kept Not kept
Event time, source and vendor, and activity count Prompt bodies and response bodies
User identifier (email or user ID), device identifier, and tenant or account ID, when the source provides them File contents and attachment payloads
Team, function, geography, and manager attributes, when the source record carries them Source IP addresses
Destination application and service category Request and response headers
The destination URL exactly as the source supplies it, which can include the path and query string Any other vendor field not listed in the first column
Policy action and sanction state
A data-domain label: the data classification, file type, or resource type, or else the object, bucket, or table name the source reports, or else the URL host

The connector does not use source IP addresses from these records. Device-to-identity resolution for these observations uses the user and device identifiers above; source IP correlation comes from DNS and firewall AI discovery and eBPF passive AI discovery instead. Every view, export, and API response that groups these observations enforces the minimum cohort size of 5.

Setup

  1. Choose the CASB and SaaS-management sources you want Venturi to read.
  2. Create the credential or read-only feed described above for each source, including the documented Defender permission exception.
  3. Store each credential as an encrypted credential reference in Settings / Admin / Credentials.
  4. The default lookback is 24 hours; set VENTURI_CASB_SHADOW_AI_LOOKBACK_HOURS to change it. See sync windows and failure behavior.
  5. In Venturi, go to Integrations / CASB shadow-AI detection and run Test connection.

Verification

  • Test connection confirms event and application reads. Review the configured vendor grant to exclude quarantine, blocking, policy mutation, and remediation permissions. For Zylo, retain only applications:read.
  • For Defender, verify connector requests only list or fetch records. Review the vendor audit trail for activity-feedback and alert read-state actions; Investigation.read permits them even though this connector does not use them.
  • The connector reports at least one ready source when a configured source is reachable.
  • Shadow-AI events appear as detected-only discovery entries, not fabricated chargeback rows.
  • The Known limitations register remains accurate for detected-only pathways.

Rotation and offboarding

Rotate each CASB credential through that vendor’s administration flow, then update the credential reference in Settings / Admin / Credentials. Removing the connector stops new detected-only shadow-AI observations from those sources.

Give feedback on this page

Sign in to send feedback. Opens in a new tab.

Copy page details
Docs feedback: CASB shadow-AI detection
Page: https://docs.venturi.systems/connectors/casb-shadow-ai/