zscaler/zscaler-mcp-server/assess-workload-protection
Claude Code and agent skill by zscaler/zscaler-mcp-server
- community
Checking that the SKILL.md file is still in the repository.
Assess Zscaler Microsegmentation (ZMS) workload protection coverage and identify protection gaps. Investigates resource protection status, resource group membership, unprotected workloads by cloud and region, and resource group coverage gaps. Use when an administrator asks: 'Which workloads are unprotected?', 'What is our microsegmentation coverage?', 'Find protection gaps', 'Which resource groups have no policies?', 'Show me unprotected resources', or 'What is our workload coverage percentage?'
Install
npx vskill@latest install zscaler/zscaler-mcp-server/assess-workload-protectionSKILL.md
ZMS: Assess Workload Protection & Coverage Gaps
Keywords
workload protection, protection gaps, unprotected resources, protection status, resource groups, resource coverage, microsegmentation coverage, workload inventory, protected workloads, coverage percentage, security gaps, lateral movement risk
Overview
Perform a focused assessment of workload protection coverage in Zscaler Microsegmentation. This skill systematically identifies unprotected resources, analyzes resource group coverage, breaks down protection status by cloud provider and region, and produces an actionable remediation plan to close coverage gaps.
In a microsegmentation deployment, a workload (resource) is "protected" when:
- An agent is deployed and connected on the workload
- The workload belongs to at least one resource group
- The resource group is referenced by at least one policy rule
A gap at any of these three levels leaves the workload exposed to lateral movement. This skill investigates all three levels to find exactly where coverage breaks down.
Use this skill when: An administrator needs to identify unprotected workloads for remediation, prepare protection coverage reports for compliance, assess whether new deployments have adequate segmentation, or track protection percentage over time.
Important:
- All ZMS tools require
ZSCALER_CUSTOMER_IDto be set as an environment variable. - All current MCP tools are read-only (Query operations).
- Remediation (creating resource groups, adding policy rules) must be done through the Zscaler admin portal or the ZMS API directly.
Workflow
Follow this 6-step process for a complete workload protection assessment.
Step 1: Get the Protection Status Overview
Get overall resource protection status:
This returns the headline metric:
- Total resources: All workloads discovered by agents
- Protected count: Workloads with active segmentation coverage
- Unprotected count: Workloads without policy coverage
- Protection percentage: The primary coverage KPI
Target thresholds:
- > 95%: Mature deployment — focus on closing remaining gaps
- 90-95%: Good coverage — systematic remediation plan needed
- 80-90%: Moderate coverage — significant gaps exist
- < 80%: Low coverage — microsegmentation is partially deployed
Step 2: Inventory All Workloads
List all resources:
For each resource, capture:
- Name/hostname: Workload identifier
- Type: VM, container, bare metal
- Cloud provider: AWS, Azure, GCP, on-premises
- Region/availability zone: Geographic location
- OS: Operating system
- IP addresses: Network addresses
- App zone: Application zone membership
- Protection status: Whether this specific workload has policy coverage
Paginate through all resources for large environments:
Include deleted resources for a complete audit trail:
This helps identify:
- Recently decommissioned workloads that may still appear in resource groups
- Workloads removed from the fleet that had policy coverage
- Ghost entries that need cleanup
Step 3: Analyze Protection by Resource Group
List all resource groups:
Get group-level protection status:
For each resource group, classify:
- Fully protected: All members have policy coverage
- Partially protected: Some members covered, some not
- Unprotected: Group exists but no policy rules reference it
- Empty: Group has 0 members (may be misconfigured or unused)
Investigate specific groups with issues:
For groups with protection gaps, list members to identify exactly which workloads are unprotected.
Document group types:
- Managed groups (tag-driven): Check if tag criteria are too narrow (excluding workloads) or too broad (including unintended workloads)
- Unmanaged groups (CIDR/FQDN): Check if CIDR ranges are current and match actual infrastructure
Step 4: Identify Root Causes of Gaps
For each unprotected workload, determine the root cause:
Cause 1: Workload not in any resource group
- The workload has an agent but isn't classified into any group
- For managed groups: workload tags don't match any group's tag criteria
- For unmanaged groups: workload IP is outside all defined CIDRs
- Fix: Add appropriate tags or update CIDR ranges
Cause 2: Resource group has no policy rules
- The workload is in a resource group, but no policy rule references that group
- Fix: Create policy rules (via admin portal) that include this resource group as source or destination
Cause 3: Agent not deployed or disconnected
- The workload exists in cloud infrastructure but has no agent
- Or the agent was deployed but is disconnected
Verify agent coverage:
Correlate with resource list:
Compare the agent list with the resource list. Resources without a corresponding connected agent represent deployment gaps.
Cause 4: Stale resource group membership
- Managed group tag criteria no longer match the workload's current tags
- Unmanaged group CIDRs are outdated after infrastructure changes
- Fix: Update tag criteria or CIDR definitions
Step 5: Break Down Coverage by Dimensions
Analyze coverage across dimensions using the resource list from Step 2:
By cloud provider:
By resource type:
By app zone:
"Unzoned" workloads — resources not assigned to any app zone — are often the largest protection gap. They tend to be newly deployed workloads or infrastructure that was overlooked during initial segmentation rollout.
Step 6: Build Remediation Plan
Get resource event metadata for additional context:
Present Protection Assessment Report
Edge Cases
100% Protection Coverage
No Resources Found
All Unprotected Resources Are in One Cloud
Quick Reference
Primary workflow: Protection Status → Inventory → Group Analysis → Root Causes → Dimensional Breakdown → Remediation
Protection status tools:
zms_get_resource_protection_status()— overall protection metricszms_get_resource_group_protection_status()— per-group protection
Resource tools:
zms_list_resources(page_num, page_size)— workload inventoryzms_list_resources(include_deleted=True)— including decommissionedzms_get_metadata()— resource event metadata
Resource group tools:
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/zms/assess-workload-protection/SKILL.md
Popularity
- Repository stars
- 39
- Repository forks
- 18
- 7-day trend score
- 18
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/zscaler/zscaler-mcp-server/assess-workload-protection)