| name | shadow-ai-aws-vpc-flow |
| description | Detect and triage shadow AI usage from AWS VPC Flow Logs, including model-provider egress, Bedrock-adjacent runtime evidence, RAG/vector traffic, model downloads, internal inference services, model brokers, LLM observability, and agent-like timing or fanout patterns. Use when Codex needs to analyze CloudWatch VPC Flow Logs or normalized flow CSV exports for AI usage from network metadata. |
AWS VPC Flow Shadow AI Detection
Use this skill to turn VPC Flow Logs into AI-usage evidence.
Workflow
- Confirm the log source, AWS account/region, time window, and whether the input is CloudWatch Logs or an offline CSV export.
- Run
scripts/analyze_vpc_flow_shadow_ai.py with either --log-group or --input-csv.
- Review confidence levels before making claims:
high: Bedrock CloudTrail model invocation or trusted historical DNS/proxy/service-inventory join.
medium: current DNS, PTR, or endpoint catalog match to known AI infrastructure.
low: internal port or private-IP heuristic without workload inventory.
context: supporting cadence, bytes, packet, registry, or fanout evidence.
- Review NAT and workload-attribution limitations before naming a source workload.
- Hand the output directory to
aws-vpc-flow-security-report for reporting.
Evidence Interpretation
- Treat public SaaS endpoint matches as provider-path evidence, not proof of exact model name.
- Treat internal Qdrant, Redis, Postgres, OpenSearch, Ollama, vLLM, and Triton-style ports as low-confidence until inventory confirms purpose.
- Treat NAT gateway rows as egress evidence unless packet source fields or inventory preserve the original workload.
- Use CloudTrail or gateway logs for Bedrock model IDs and exact API actions.
- Use Route 53 Resolver, proxy, SNI, gateway, or OpenTelemetry logs to raise confidence beyond current DNS/PTR matching.
Outputs
The analyzer writes:
flow-summary.csv
ai-candidate-flows.csv
workload-ai-summary.csv
hourly-top-destinations.csv
ai-domain-resolution.csv
bedrock-cloudtrail-events.json
raw-query-manifest.json
Keep customer raw logs and generated reports out of public repositories.