collect-compliance-evidence
Collect per-scope compliance evidence for segmentation controls by running policy and traffic tests, returning PASS/FAIL/EXCEPTION results with measured rows and supporting evidence.
Instructions
Audit evidence for segmentation controls, per app/env scope pair, from ACTIVE policy (pversion=active by default) and observed traffic. Runs the framework-independent tests the illumio-compliance-evidence skill defines (T1 inventory, T2 enforcement, T3 VEN health, T4 unmanaged in scope, T5 providing rules described, T6 no broad consumer, T7 admitted services vs approved list, T8 inbound boundary flows with potentially-blocked and blocked evidence plus a per-day timeline, T9 outbound crossings, T11 draft-vs-active drift for the scope's rulesets, T14 events and flows present) and returns, per test and per pair, {result: PASS|FAIL|EXCEPTION|NOT_TESTED, measured, rows, evidence}. No score. A capped pull never yields PASS (EXCEPTION). An unknown scope label is an error. T10 (unknown endpoints), T12 and T13 (attestations) are listed in not_run. Framework requirement mapping stays in the illumio://compliance/* resources. Read-only. Query cost: scope-wide one pull each of labels, rulesets, IP lists, services, pending changes and events, plus per pair one workload pull, four traffic queries and one deny-rule read per matched ruleset; queries reports the count.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| scope | Yes | Scope pairs, e.g. [{"app": "pay", "env": "prod"}]. Each is resolved to label hrefs; an unknown value is an error listing the valid values. | |
| tests | No | Subset of test ids to run, e.g. ["T1", "T2", "T5"]. Default: every runnable test (T1-T9, T11, T14). The inventory (T1 data) is always collected because an empty pair makes the rest NOT_TESTED. | |
| end_date | No | Window end, YYYY-MM-DD (with start_date). | |
| max_rows | No | Evidence rows returned per test and pair (default 200); rows_total and rows_truncated say when more exist. | |
| pversion | No | Policy version the ruleset tests read. Evidence packs cite active; echoed as policy_version. | active |
| start_date | No | Window start, YYYY-MM-DD (with end_date). | |
| max_results | No | Row cap per traffic query (default 500). A query returning exactly the cap is capped and cannot PASS; narrow the window or raise this. | |
| lookback_days | No | Traffic and event window ending today (default 30; PCI packs use 90). Ignored when start_date and end_date are given. | |
| approved_services | No | The organisation's approved service list. Without it the approved-list clauses of T7, T8 and T9 are NOT_TESTED and the observed set is returned as the candidate list. |