Asi implementing-security-chaos-engineering
install
source · Clone the upstream repo
git clone https://github.com/plurigrid/asi
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/plurigrid/asi "$T" && mkdir -p ~/.claude/skills && cp -r "$T/plugins/asi/skills/implementing-security-chaos-engineering" ~/.claude/skills/plurigrid-asi-implementing-security-chaos-engineering && rm -rf "$T"
manifest:
plugins/asi/skills/implementing-security-chaos-engineering/SKILL.mdsource content
Implementing Security Chaos Engineering
When to Use
- When deploying or configuring implementing security chaos engineering 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
Prerequisites
- Familiarity with security operations 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
Design and execute security chaos experiments that intentionally break security controls to verify that detection, alerting, and response systems work correctly.
# Example: Verify detection when a security group is opened import boto3 ec2 = boto3.client("ec2") # Chaos experiment: temporarily add 0.0.0.0/0 rule ec2.authorize_security_group_ingress( GroupId="sg-12345", IpProtocol="tcp", FromPort=22, ToPort=22, CidrIp="0.0.0.0/0", ) # Verify: does GuardDuty/Config alert fire within SLA? # Rollback: remove the rule after verification
Key experiments:
- Open a security group and verify Config Rule alerts
- Disable CloudTrail and verify detection time
- Create IAM admin user and verify alert triggers
- Simulate log pipeline failure and check monitoring gaps
- Deploy test malware hash and verify EDR response
Examples
# Rollback function for safe experiment execution def run_experiment(setup_fn, verify_fn, rollback_fn, timeout=300): try: setup_fn() result = verify_fn(timeout) finally: rollback_fn() return result