跳到主要内容
知仓学习社ZHICANG

aws-cli-beast

Provides advanced AWS CLI patterns for managing EC2, Lambda, S3, DynamoDB, RDS, VPC, IAM, and CloudWatch. Generates bulk operation scripts, automate…

读凭据执行命令联网严重 3 · 高危 0giuseppe-trisciuoglio/developer-kit

它会碰到什么

扫了多少7 个文本文件,60 KB
它会碰到什么读凭据执行命令联网
命中总数8 处
命中统计严重 3 · 高 0 · 中 0 · 低 0
逐条看命中(3 条严重或高危)
  • 严重 references/automation-patterns.md:32cred-paths
    alias aws-profiles='cat ~/.aws/config | grep "\[profile" | sed "s/\[profile //" | sed "s/\]//"'
  • 严重 references/automation-patterns.md:386cred-paths
    # Configure in ~/.aws/config
  • 严重 scripts/aws-blast.sh:124cred-paths
    alias aws-profiles='grep -E "^\[profile" ~/.aws/config | sed "s/\[profile //" | sed "s/\]//"'

这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。

技能内容

AWS CLI Beast Mode

Overview

Advanced AWS CLI patterns for speed, precision, and security-first automation. Covers JMESPath queries, bulk operations, waiters, cross-account access, and destructive operation safety.

When to Use

  • Bulk operations across thousands of AWS resources
  • Advanced JMESPath filtering and output transformation
  • Automated scripts for AWS routines
  • Multi-profile and multi-region management
  • Security auditing and compliance checks
  • CLI-driven infrastructure-as-code workflows

Instructions

Step 1: Categorize the Request

| Category | Services | Commands |

|----------|----------|----------|

| Compute | EC2, Lambda | describe-instances, invoke, publish-version |

| Storage | S3 | sync, cp, mb, rb, presign |

| Database | DynamoDB, RDS | query, scan, batch-write-item |

| Networking | VPC, Route53 | describe-vpcs, describe-security-groups |

| Security | IAM | simulate-principal-policy, get-policy-version |

| Observability | CloudWatch | get-metric-statistics, filter-log-events |

Step 2: Apply Beast Mode Principles

  1. Dry-run first: Always validate with --dryrun or --dry-run
  2. Query server-side: Use --query with JMESPath to filter before transfer
  3. Batch intelligently: Paginate with --max-results and parallelize with xargs
  4. Wait properly: Use built-in waiters or exponential backoff polling
  5. Switch contexts: Use --profile and --region for multi-account operations

Step 3: Validate Destructive Operations

MANDATORY for any destructive operation:

# S3 sync with delete - MUST dry-run first
aws s3 sync s3://source/ s3://dest/ --delete --dryrun
# Review output, then remove --dryrun only if satisfied

# Bulk EC2 stop - validate targets first
aws ec2 describe-instances \
  --filters "Name=tag:Environment,Values=development" \
  --query 'Reservations[].Instances[?State.Name==`running`].InstanceId' \
  --output text
# Confirm list, then pipe to stop command

# IAM policy attachment - simulate first
aws iam simulate-principal-policy \
  --policy-source-arn arn:aws:iam::123456789012:user/myuser \
  --action-names s3:DeleteObject \
  --resource-arns arn:aws:s3:::my-bucket/*

Step 4: Reference Detailed Guides

  • compute-mastery.md - EC2, Lambda, Spot Fleets, ASG
  • data-ops-beast.md - S3 multipart, DynamoDB batch, RDS snapshots
  • networking-security-hardened.md - VPC Flow Logs, IAM policies, security groups
  • automation-patterns.md - Shell aliases, JMESPath templates, CI/CD integration

Examples

Example 1: Bulk EC2 Stop

"Stop all development instances"

# 1. Dry-run: identify targets
aws ec2 describe-instances \
  --filters "Name=tag:Environment,Values=development" \
           "Name=instance-state-name,Values=running" \
  --query 'Reservations[].Instances[].InstanceId' \
  --output text

# 2. Confirm IDs, then execute
aws ec2 describe-instances \
  --filters "Name=tag:Environment,Values=development" \
           "Name=instance-state-name,Values=running" \
  --query 'Reservations[].Instances[].InstanceId' \
  --output text | xargs aws ec2 stop-instances --instance-ids

Example 2: S3 Migration with Encryption

"Migrate data between buckets with SSE"

# 1. Dry-run migration
aws s3 sync s3://source-bucket/ s3://dest-bucket/ \
  --sse AES256 \
  --storage-class GLACIER \
  --exclude "*.tmp" \
  --dryrun

# 2. Enable versioning on destination
aws s3api put-bucket-versioning \
  --bucket dest-bucket \
  --versioning-configuration Status=Enabled

# 3. Execute after review
aws s3 sync s3://source-bucket/ s3://dest-bucket/ \
  --sse AES256 \
  --storage-class GLACIER \
  --exclude "*.tmp"

Example 3: IAM Security Audit

"Find overprivileged IAM users"

aws iam list-users --query 'Users[].UserName' --output text | \
while read user; do
  echo "Checking $user..."
  aws iam simulate-principal-policy \
    --policy-source-arn "arn:aws:iam::123456789012:user/$user" \
    --action-names DeleteItem,DeleteTable,DeleteFunction \
    --resource-arns "*" \
    --query 'EvaluationResults[?EvalDecision==`allowed`]'
done

Example 4: Multi-Region Lambda Deployment

"Deploy Lambda to all regions"

for region in us-east-1 us-west-2 eu-west-1; do
  echo "Deploying to $region..."
  aws lambda update-function-code \
    --function-name my-function \
    --zip-file fileb://function.zip \
    --region $region \
    --publish
  aws lambda wait function-active \
    --function-name my-function \
    --region $region
done

Example 5: JMESPath Advanced Filtering

"Get running instances with specific tags as table"

aws ec2 describe-instances \
  --query 'Reservations[].Instances[?State.Name==`running`].[InstanceId,Tags[?Key==`Name`].Value[0]|[0],PrivateIpAddress]' \
  --output table

Best Practices

  1. Use --output json for programmatic processing
  2. Filter with JMESPath server-side before transfer
  3. Implement retry logic with exponential backoff
  4. Use waiters instead of manual polling loops
  5. Tag all resources for cost allocation and automation
  6. Separate dev/staging/prod with AWS profiles
  7. Enable CloudTrail for audit compliance
  8. Validate IAM policies with simulate-principal-policy before attachment
  9. Use --dry-run on every state-modifying operation
  10. Enable MFA for security-sensitive operations

Constraints and Warnings

Rate Limiting

  • AWS API throttling applies; use --max-throttle and exponential backoff
  • Check aws service-quotas for current limits

Pagination

  • Default page size is variable; use --max-results for consistency
  • Use --no-paginate with jq for full dataset processing

Destructive Operations

  • S3 sync --delete: Irreversibly removes files not in source
  • EC2 terminate-instances: Cannot be undone; validate instance IDs first
  • IAM detach/policy: May break existing access; simulate before applying
  • RDS delete-db-instance: Snapshots do not protect all scenarios; verify retention

Security

  • Never commit AWS credentials; use aws configure or environment variables
  • Rotate access keys regularly with aws iam create-access-key
  • Use least-privilege: simulate before granting permissions

想直接用这个技能?

本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。