zia-investigate-sandbox
Investigate ZIA Sandbox file analysis results, quarantine issues, and security policy enforcement. Uses sandbox report, quota, behavioral analysis, and file hash tools combined with SSL inspection checks to diagnose why files are blocked, allowed, or stuck in quarantine. Incorporates runbook knowledge for Malware Protection, ATP, and Sandbox policy troubleshooting. Use when an administrator asks 'why is this file blocked?', 'check sandbox report for this hash', 'file stuck in quarantine', or 'sandbox is not analyzing files.'
What this skill does
# ZIA: Investigate Sandbox ## Keywords sandbox, file blocked, quarantine, md5 hash, sandbox report, malware, atp, advanced threat protection, malware protection, file analysis, patient zero, patient 0, sandbox quota, file not scanning, quarantine stuck, sandbox verdict, behavioral analysis, unscannable file ## Overview Investigate ZIA Sandbox file analysis results and security policy enforcement issues. This skill combines API-driven sandbox inspection (reports, quota, behavioral analysis) with runbook-guided troubleshooting for Malware Protection, Advanced Threat Protection (ATP), and Sandbox policies. **Use this skill when:** An administrator reports files being unexpectedly blocked or allowed, files stuck in quarantine, sandbox not analyzing files, missing Patient 0 alerts, or needs to verify a sandbox verdict for a specific file hash. --- ## Workflow ### Step 1: Gather Issue Details Collect from the administrator: **Required:** - Symptom: file blocked, file allowed unexpectedly, file stuck in quarantine, sandbox not analyzing - File MD5 hash (if available from Web Insights logs) - URL or domain where the file was downloaded from **Helpful:** - Policy Action from Web Insights logs (e.g., "Sandbox Block", "Quarantined", "Allowed") - Threat Super Category from Web Insights logs (e.g., "Sandbox", "Virus", "Malware Protection") - Blocked Policy Type (e.g., "Sandbox", "Malware Protection", "Advanced Threat Protection") - File type and size - Sandbox subscription level (Basic vs Advanced) --- ### Step 2: Determine the Security Control Involved The Blocked Policy Type in Web Insights logs identifies which security control is responsible: | Blocked Policy Type | Security Control | API Tools Available? | |---------------------|-----------------|---------------------| | **Sandbox** | ZIA Sandbox | Yes -- full API investigation | | **Malware Protection** | ZIA Malware Protection | No API -- advisory guidance only | | **Advanced Threat Protection** | ZIA ATP | No API -- advisory guidance only | If the administrator knows the Blocked Policy Type, skip to the relevant section below. --- ### Step 3: Sandbox Investigation (API-driven) #### 3A: Check Sandbox Report for a File If an MD5 hash is available: ```text zia_get_sandbox_report(md5_hash="<md5_hash>", report_details="full") ```text **Evaluate the report:** - **Class Type**: `MALICIOUS`, `SUSPICIOUS`, `BENIGN` - If `MALICIOUS` -- the block is expected behavior; the sandbox correctly identified the threat - If `BENIGN` -- the file should not be blocked by Sandbox; look for other policies (Malware Protection, ATP, File Type Control) - If `SUSPICIOUS` -- review the behavioral indicators in the full report **If no report is found:** The file was not analyzed by Sandbox. Proceed to Step 3D to diagnose why. #### 3B: Check Sandbox Quota ```text zia_get_sandbox_quota() ```text Verify: - Quota is not exhausted (if exhausted, files won't be sent for analysis) - Subscription level (Basic vs Advanced affects file type and size limits) **Basic vs Advanced Sandbox:** | Capability | Basic | Advanced | |-----------|-------|----------| | File types | .exe, .dll, .scr, .ocx, .sys, .zip only | All common types including Office, PDF, APK, scripts | | File size | 2 MB max | Up to 20 MB (50 MB for .exe and archives) | | Quarantine | Not available | Yes | | Patient 0 alerts | Not available | Yes | | URL category filtering | Limited categories only | All URL categories | | Sandbox report API | Not available | Yes | If a file type or size doesn't match the subscription level, Sandbox won't analyze it. #### 3C: Check Behavioral Analysis and Hash Counts ```text zia_get_sandbox_behavioral_analysis() ```text Returns the list of MD5 hashes currently blocked by Sandbox. Check if the file's hash appears in this list. ```text zia_get_sandbox_file_hash_count() ```text Returns blocked-hash usage statistics to understand overall sandbox activity volume. #### 3D: File Not Sent to Sandbox -- Diagnostic Checklist If the file was not analyzed by Sandbox, walk through these causes: 1. **SSL Inspection not enabled** -- Sandbox requires SSL inspection as a prerequisite ```text zia_list_ssl_inspection_rules() ```text Check if the traffic for this URL/domain is being SSL-inspected. If a `DO_NOT_INSPECT` or `DO_NOT_DECRYPT` rule matches, Sandbox cannot see the file. 2. **File type not supported by subscription** -- Basic Sandbox only supports .exe, .dll, .scr, .ocx, .sys, .zip. Check the file extension against the subscription level. 3. **File size exceeds limit** -- Basic: 2 MB max. Advanced: 20 MB max (50 MB for .exe/archives). Files exceeding the limit are handled by File Type Control policy instead. 4. **No active content (Office/PDF files)** -- For Office documents and PDFs, ZIA performs static analysis first. If no macros, embedded scripts, or suspicious objects are found, the file is classified as benign without Sandbox analysis. Web Insights logs show "Allowed - No Active Content". 5. **File already analyzed** -- If the same MD5 was previously analyzed and classified as benign, it may be fast-pathed without re-analysis. --- ### Step 4: SSL Inspection Prerequisite Check SSL Inspection is required for both Sandbox and Malware Protection to function: ```text zia_list_ssl_inspection_rules() ```text **Check for the URL/domain in question:** - Is there a rule with `DO_NOT_INSPECT` or `DO_NOT_DECRYPT` that matches the domain or URL category? - If traffic is not SSL-inspected, Sandbox, Malware Protection, and ATP cannot scan the file content Also check the URL category for the domain: ```text zia_url_lookup(urls=["<url_or_domain>"]) ```text This helps correlate SSL inspection rules (which often use URL categories as conditions). --- ### Step 5: Malware Protection & ATP Troubleshooting (Advisory) These security controls do not have API tools, but the following guidance helps administrators troubleshoot via the ZIA Admin Portal. #### Access Blocked Unexpectedly If the Blocked Policy Type is "Malware Protection" or "Advanced Threat Protection": 1. **Verify SSL Inspection is enabled** (Step 4 above -- this IS API-checkable) 2. **Check Malware Protection Policy** (Portal: Web > Malware Protection) - Verify Traffic Inspection and Protocol Inspection are enabled - Check if the file matches Unscannable Files or Password-Protected Files settings - Unscannable: archive files >400 MB or extracted files >200 MB are not scanned 3. **Check ATP Policy** (Portal: Web > Advanced Threat Protection) - Check for matching entries in Blocked Malicious URLs - Review the ATP policy action for the relevant threat categories 4. **Check Security Exceptions** (Portal: Web > Security Exceptions) - Look for "Do Not Scan Content from these URLs" entries 5. **Verify the URL classification hasn't changed:** ```text zia_url_lookup(urls=["<url>"]) ```text Compare the current category to what it was when access previously worked. #### Access Allowed Unexpectedly (Block Policy Configured but Not Enforced) 1. **Verify SSL Inspection is enabled** (without SSL inspection, Malware Protection and ATP cannot scan) 2. **Check if URL is in Security Exceptions** (Portal: Web > Security Exceptions > "Do Not Scan Content from these URLs") 3. **Check Malware Protection policy action** -- if set to "Allow" for this file type, it won't block 4. **Check ATP policy action** -- if set to "Allow" for this threat category, it won't block --- ### Step 6: Quarantine Issues (Advisory + API) #### File Stuck in Quarantine Possible causes: 1. **One-time download links** -- After the initial request, the URL no longer serves the file. Subsequent download attempts return 404/403 from the origin server. Web Insights logs show "Sent for Analysis" for the first transaction, then "Allowed" for subsequent attempts (but with server-side 404). 2. **Dynamic file generation (changing hashes)** -- Some websites generate a unique file p
Related in Security
mac-ops
IncludedComprehensive macOS workstation operations — diagnose kernel panics, identify failing drives, audit launchd startup items, decode wake reasons, triage TCC permission denials, manage APFS snapshots, recover from no-boot. Use for: Mac is slow, slow bootup, won't boot, kernel panic, kernel_task hot, mds_stores CPU, photoanalysisd, cloudd, login loop, gray screen, sleep wake failure, drive failing, IO errors, APFS snapshots eating space, Time Machine local snapshots, Spotlight indexing, launchd, LaunchAgent, LaunchDaemon, login items, TCC permissions, Full Disk Access, Screen Recording denied, Gatekeeper, quarantine, com.apple.quarantine, app is damaged, helper tool, /Library/PrivilegedHelperTools, pmset, wake reasons, dark wake, sysdiagnose, panic.ips, DiagnosticReports, configuration profile, MDM profile, remote diagnostics over SSH.
a11y-audit
IncludedRun accessibility audits on web projects combining automated scanning (axe-core, Lighthouse) with WCAG 2.1 AA compliance mapping, manual check guidance, and structured reporting. Output is configurable: markdown report only, markdown plus machine-readable JSON, or markdown plus issue tracker integration. Use this skill whenever the user mentions "accessibility audit", "a11y audit", "WCAG audit", "accessibility check", "compliance scan", or asks to check a web project for accessibility issues. Also trigger when the user wants to verify WCAG conformance or map findings to a specific standard (CAN-ASC-6.2, EN 301 549, ADA/AODA).
erpclaw
IncludedAI-native ERP system with self-extending OS. Full accounting, invoicing, inventory, purchasing, tax, billing, HR, payroll, advanced accounting (ASC 606/842, intercompany, consolidation), and financial reporting. 413 actions across 14 domains, 43 expansion modules. Constitutional guardrails, adversarial audit, schema migration. Double-entry GL, immutable audit trail, US GAAP.
assess
IncludedAssesses and rates quality 0-10 across multiple dimensions (correctness, maintainability, security, performance, testability, simplicity) with pros/cons analysis. Compares against project conventions and prior decisions from memory. Produces structured evaluation reports with actionable improvement suggestions. Use when evaluating code, designs, architectures, or comparing alternative approaches.
spring-boot-security-jwt
IncludedProvides JWT authentication and authorization patterns for Spring Boot 3.5.x covering token generation with JJWT, Bearer/cookie authentication, database/OAuth2 integration, and RBAC/permission-based access control using Spring Security 6.x. Use when implementing authentication or authorization in Spring Boot applications.
code-hardcode-audit
IncludedDetect hardcoded values, magic numbers, and leaked secrets. TRIGGERS - hardcode audit, magic numbers, PLR2004, secret scanning.