Implements cloud workload protection using boto3 and google-cloud APIs for runtime security monitoring, process anomaly detection, and file integrity checking on EC2/GCE instances. Scans for cryptomining, reverse shells, and unauthorized binaries.
Installs into .claude/skills of the current project.
Are you the author of Webapp Implementing Cloud Workload Protection?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/bitbytelabio-webapp-implementing-cloud-workload-protection)
---
name: webapp-implementing-cloud-workload-protection
description: Implements cloud workload protection using boto3 and google-cloud APIs for runtime security monitoring, process anomaly detection, and file integrity checking on EC2/GCE instances. Scans for cryptomining, reverse shells, and unauthorized binaries.
domain: webapp
category: security-operations
hide: true
license: Apache-2.0
metadata:
manifest_entry: src/corpus/webapp-implementing-cloud-workload-protection/SKILL.md
---
# Implementing Cloud Workload Protection
## When to Use
- When deploying or configuring implementing cloud workload protection capabilities in your environment
- When establishing security controls aligned to compliance requirements
- When building or improving security architecture for this domain
- When conducting security assessments that require this implementation
## Common Misconfigurations & Verification
- **SSM Agent not installed / instance unmanaged:** `send_command` silently targets nothing if the instance isn't registered with Systems Manager. The EC2 role needs `AmazonSSMManagedInstanceCore` and an SSM VPC endpoint or NAT. Confirm: `aws ssm describe-instance-information --query 'InstanceInformationList[?PingStatus!=\`Online\`]'` (should be empty for monitored hosts).
- **Command results never checked:** `send_command` returns immediately; the detection signal is in the invocation output, not the call. Pull it with `aws ssm list-command-invocations --command-id <id> --details`.
- **Brittle `grep` signatures:** matching only `xmrig|minerd` misses renamed/repacked miners and reverse shells. Combine with binary hash comparison against a known-good baseline and outbound-connection (`ss -tnp`) review.
- **No baseline:** "anomaly" detection with no recorded normal process/network/CPU profile produces only noise. Capture a baseline per instance role first.
- **Findings go nowhere:** results must be shipped to a sink (SNS/SecurityHub/SIEM); a script that prints locally is not protection.
```bash
aws ssm describe-instance-information --query 'InstanceInformationList[].[InstanceId,PingStatus]'
aws ssm list-command-invocations --command-id <id> --details --query 'CommandInvocations[].Status'
```
## Prerequisites
- Familiarity with cloud security concepts and tools
- Access to a test or lab environment for safe execution
- Python 3.8+ with required dependencies installed
- Appropriate authorization for any testing activities
## Instructions
Monitor cloud workloads for runtime threats by checking process lists, network
connections, file integrity, and resource utilization anomalies.
```python
import boto3
ssm = boto3.client("ssm")
# Run command on EC2 instances to check for suspicious processes
response = ssm.send_command(
InstanceIds=["i-1234567890abcdef0"],
DocumentName="AWS-RunShellScript",
Parameters={"commands": ["ps aux | grep -E 'xmrig|minerd|cryptonight'"]},
)
```
Key protection areas:
1. Process monitoring for cryptominers and reverse shells
2. File integrity monitoring on critical system files
3. Network connection auditing for C2 callbacks
4. Resource utilization anomaly detection (CPU spikes)
5. Unauthorized binary detection via hash comparison
## Examples
```python
# Check for unauthorized outbound connections
ssm.send_command(
InstanceIds=instances,
DocumentName="AWS-RunShellScript",
Parameters={"commands": ["ss -tlnp | grep ESTABLISHED"]},
)
```