openclaw 网盘下载
OpenClaw

技能详情(站内镜像,无评论)

首页 > 技能库 > S3 Exposure Auditor

Identify publicly accessible S3 buckets, dangerous ACLs, and misconfigured bucket policies

开发与 DevOps

作者:Anmol Nagpal @anmolnagpal

许可证:MIT-0

MIT-0 ·免费使用、修改和重新分发。无需归因。

版本:v1.0.0

统计:⭐ 0 · 183 · 0 current installs · 0 all-time installs

0

安装量(当前) 0

🛡 VirusTotal :良性 · OpenClaw :良性

Package:anmolnagpal/s3-exposure-auditor

安全扫描(ClawHub)

  • VirusTotal :良性
  • OpenClaw :良性

OpenClaw 评估

The skill is instruction-only and its requests (AWS CLI outputs and Security Hub findings) align with the stated goal of auditing S3 exposure; it does not ask for credentials or install code.

目的

The name/description map to the instructions: the skill asks users to provide S3-related CLI output (bucket lists, ACLs, policies, public-access-block, Security Hub findings) and then performs analysis. It requests no environment variables, binaries, or installs, which is proportionate for an instruction-only auditor.

说明范围

Overall the runtime instructions stay within scope: they ask for explicit AWS CLI/console output and provide clear read-only permission guidance. A few minor issues to review before trusting recommendations: the suggested SCP phrasing ('deny s3:PutBucketPublicAccessBlock false') is unclear/misspecified and should be validated by an AWS admin; the skill recommends actions (SCPs, AWS Config rules, hardened policies) that a human should review be…

安装机制

No install spec and no code files—this is instruction-only, so nothing will be downloaded or executed by the platform. Lowest-risk install profile.

证书

The skill requests no environment variables or credentials (and explicitly says not to request them). However, the required CLI outputs can contain sensitive identifiers (account IDs, ARNs, resource names) and potentially pasted policy documents—users should sanitize outputs and remove any incidental secrets before pasting. The quantity of requested data (multiple bucket policies, ACLs, Security Hub findings) is reasonable for the task.

持久

The skill is not always-enabled, does not request persistent presence, and has no install-time hooks. It does not modify other skills or system settings on its own.

综合结论

This skill is instruction-only and appears coherent with its purpose, but take these precautions before using it: never paste AWS access keys or secrets—only paste the CLI/console outputs the skill requests; review and redact any account-sensitive information if needed (account IDs, ARNs, internal hostnames); treat the skill's policy/SCP recommendations as guidance only—have an AWS admin validate and test them in a non-production account first…

安装(复制给龙虾 AI)

将下方整段复制到龙虾中文库对话中,由龙虾按 SKILL.md 完成安装。

请把本段交给龙虾中文库(龙虾 AI)执行:为本机安装 OpenClaw 技能「S3 Exposure Auditor」。简介:Identify publicly accessible S3 buckets, dangerous ACLs, and misconfigured buck…。
请 fetch 以下地址读取 SKILL.md 并按文档完成安装:https://raw.githubusercontent.com/openclaw/skills/refs/heads/main/skills/anmolnagpal/s3-exposure-auditor/SKILL.md
(来源:yingzhi8.cn 技能库)

SKILL.md

打开原始 SKILL.md(GitHub raw)

---
name: aws-s3-exposure-auditor
description: Identify publicly accessible S3 buckets, dangerous ACLs, and misconfigured bucket policies
tools: claude, bash
version: "1.0.0"
pack: aws-security
tier: security
price: 49/mo
permissions: read-only
credentials: none — user provides exported data
---

# AWS S3 Bucket Exposure Auditor

You are an AWS S3 security expert. Public S3 buckets are among the most common causes of data breaches.

> **This skill is instruction-only. It does not execute any AWS CLI commands or access your AWS account directly. You provide the data; Claude analyzes it.**

## Required Inputs

Ask the user to provide **one or more** of the following (the more provided, the better the analysis):

1. **S3 bucket list with account-level public access settings**
   ```bash
   aws s3api list-buckets --output json
   aws s3control get-public-access-block 
     --account-id $(aws sts get-caller-identity --query Account --output text)
   ```
2. **Per-bucket ACL, policy, and public access block** — for buckets of concern
   ```bash
   aws s3api get-bucket-acl --bucket my-bucket
   aws s3api get-bucket-policy --bucket my-bucket
   aws s3api get-public-access-block --bucket my-bucket
   ```
3. **Security Hub S3 findings** (if Security Hub is enabled)
   ```bash
   aws securityhub get-findings 
     --filters '{"ResourceType":[{"Value":"AwsS3Bucket","Comparison":"EQUALS"}],"RecordState":[{"Value":"ACTIVE","Comparison":"EQUALS"}]}' 
     --output json
   ```

**Minimum required IAM permissions to run the CLI commands above (read-only):**
```json
{
  "Version": "2012-10-17",
  "Statement": [{
    "Effect": "Allow",
    "Action": ["s3:ListAllMyBuckets", "s3:GetBucketAcl", "s3:GetBucketPolicy", "s3:GetBucketPublicAccessBlock", "s3:GetEncryptionConfiguration", "s3:GetBucketLogging"],
    "Resource": "*"
  }]
}
```

If the user cannot provide any data, ask them to describe: which buckets are a concern, their intended access level, and what data they contain.


## Steps
1. Check account-level S3 Block Public Access settings
2. Analyze per-bucket Block Public Access, ACLs, and bucket policies
3. Identify data sensitivity per bucket (naming/tag heuristics)
4. Generate hardened bucket policy per finding
5. Recommend preventive controls

## Checks
- Account-level Block Public Access enabled?
- Bucket-level Block Public Access overrides?
- ACL: `AllUsers` READ/WRITE/READ_ACP grants
- Bucket policy: `"Principal": "*"` with `s3:GetObject`, `s3:ListBucket`, `s3:PutObject`
- Server-side encryption (SSE-S3 or SSE-KMS) enabled?
- Access logging enabled?
- Versioning enabled? (ransomware protection)
- MFA Delete enabled on versioned buckets with sensitive data?

## Output Format
- **Critical Findings**: publicly accessible buckets with estimated data risk
- **Findings Table**: bucket name, issue, risk level, estimated sensitivity
- **Hardened Policy**: corrected bucket policy JSON per finding
- **Prevention**: SCP to deny `s3:PutBucketPublicAccessBlock false` org-wide
- **AWS Config Rule**: `s3-bucket-public-read-prohibited` + `s3-bucket-public-write-prohibited`

## Rules
- Use bucket naming to estimate data sensitivity (e.g. "backup", "logs", "data", "pii", "finance" → higher risk)
- Flag buckets with no encryption as separate finding
- Always recommend enabling S3 Block Public Access at account level
- Never ask for credentials, access keys, or secret keys — only exported data or CLI/console output
- If user pastes raw data, confirm no credentials are included before processing