aws-security-mcp 0.4.3 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # aws-security-mcp
2
2
 
3
- MCP server for automated AWS security scanning — 17 modules, risk scoring, zero write operations.
3
+ MCP server for automated AWS security scanning — 19 modules, risk scoring, zero write operations.
4
4
 
5
5
  <!-- badges -->
6
6
  ![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)
@@ -9,7 +9,7 @@ MCP server for automated AWS security scanning — 17 modules, risk scoring, zer
9
9
 
10
10
  ## Features
11
11
 
12
- - **17 Security Scan Modules** — 13 unique scanners + 4 aggregation scanners (Security Hub, GuardDuty, Inspector, Trusted Advisor, Config Rules, Access Analyzer, Patch Compliance)
12
+ - **19 Security Scan Modules** — 15 unique scanners + 4 aggregation scanners (Security Hub, GuardDuty, Inspector, Trusted Advisor, Config Rules, Access Analyzer, Patch Compliance)
13
13
  - **Risk Scoring** — every finding scored 0-10 with severity (CRITICAL/HIGH/MEDIUM/LOW) and priority (P0-P3)
14
14
  - **100% Read-Only** — uses only Describe/Get/List API calls; never modifies your AWS resources
15
15
  - **Multi-Account Support** — scan all accounts in an AWS Organization via `org_mode` with cross-account role assumption
@@ -113,7 +113,7 @@ For multi-account scanning across an AWS Organization:
113
113
 
114
114
  | Tool | Description |
115
115
  |------|-------------|
116
- | `scan_all` | Run all 17 security scanners in parallel (supports org_mode) |
116
+ | `scan_all` | Run all 19 security scanners in parallel (supports org_mode) |
117
117
  | `detect_services` | Detect enabled AWS security services and assess maturity |
118
118
  | `scan_secret_exposure` | Check Lambda env vars and EC2 userData for exposed secrets |
119
119
  | `scan_ssl_certificate` | Check ACM certificates for expiry and failed status |
@@ -131,6 +131,8 @@ For multi-account scanning across an AWS Organization:
131
131
  | `scan_config_rules_findings` | Aggregate findings from AWS Config Rules |
132
132
  | `scan_access_analyzer_findings` | Aggregate findings from IAM Access Analyzer |
133
133
  | `scan_patch_compliance_findings` | Aggregate findings from SSM Patch Compliance |
134
+ | `scan_imdsv2_enforcement` | Check EC2 instances for IMDSv2 enforcement |
135
+ | `scan_waf_coverage` | Check internet-facing ALBs for WAF Web ACL protection |
134
136
  | `scan_group` | Run a predefined group of scanners for a specific scenario |
135
137
  | `list_groups` | List available scan groups |
136
138
  | `list_modules` | List available scan modules with descriptions |
@@ -167,6 +169,8 @@ Attach this policy to the IAM user or role running the scanner. All actions are
167
169
  "config:DescribeConfigurationRecorders",
168
170
  "config:GetComplianceDetailsByConfigRule",
169
171
 
172
+ "elasticloadbalancing:DescribeLoadBalancers",
173
+
170
174
  "ec2:DescribeAddresses",
171
175
  "ec2:DescribeInstanceAttribute",
172
176
  "ec2:DescribeInstances",
@@ -229,7 +233,10 @@ Attach this policy to the IAM user or role running the scanner. All actions are
229
233
  "sts:GetCallerIdentity",
230
234
 
231
235
  "support:DescribeTrustedAdvisorChecks",
232
- "support:DescribeTrustedAdvisorCheckResult"
236
+ "support:DescribeTrustedAdvisorCheckResult",
237
+
238
+ "wafv2:GetWebACL",
239
+ "wafv2:GetWebACLForResource"
233
240
  ],
234
241
  "Resource": "*"
235
242
  }
@@ -239,7 +246,7 @@ Attach this policy to the IAM user or role running the scanner. All actions are
239
246
 
240
247
  ## Scan Modules
241
248
 
242
- ### Unique Scanners (13)
249
+ ### Unique Scanners (15)
243
250
 
244
251
  | Module | What It Checks | Risk Score Range |
245
252
  |--------|---------------|-----------------|
@@ -256,6 +263,8 @@ Attach this policy to the IAM user or role running the scanner. All actions are
256
263
  | **Config Rules** | AWS Config Rules compliance status | 3.0 - 9.5 |
257
264
  | **Access Analyzer** | IAM Access Analyzer external access findings | 3.0 - 9.5 |
258
265
  | **Patch Compliance** | SSM Patch Manager compliance status for managed instances | 3.0 - 9.5 |
266
+ | **IMDSv2 Enforcement** | EC2 instances not enforcing IMDSv2 (HttpTokens != required) | 7.5 |
267
+ | **WAF Coverage** | Internet-facing ALBs without WAF Web ACL protection | 7.5 |
259
268
 
260
269
  ### Aggregation Scanners (4)
261
270
 
@@ -281,16 +290,16 @@ Pre-defined scanner groupings for common scenarios:
281
290
 
282
291
  | Group | Description | Modules |
283
292
  |-------|-------------|---------|
284
- | `mlps3_precheck` | GB/T 22239-2019 等保三级预检 | 15 modules |
285
- | `hw_defense` | 护网蓝队加固 | 12 modules |
286
- | `exposure` | 公网暴露面评估 | 6 modules |
293
+ | `mlps3_precheck` | GB/T 22239-2019 等保三级预检 | 17 modules |
294
+ | `hw_defense` | 护网蓝队加固 | 14 modules |
295
+ | `exposure` | 公网暴露面评估 | 8 modules |
287
296
  | `data_encryption` | 数据加密审计 | 2 modules |
288
297
  | `least_privilege` | 最小权限审计 | 3 modules |
289
298
  | `log_integrity` | 日志完整性审计 | 2 modules |
290
299
  | `disaster_recovery` | 灾备评估 | 2 modules |
291
300
  | `idle_resources` | 闲置资源清理 | 2 modules |
292
301
  | `tag_compliance` | 资源标签合规 | 1 module |
293
- | `new_account_baseline` | 新账户基线检查 | 6 modules |
302
+ | `new_account_baseline` | 新账户基线检查 | 7 modules |
294
303
  | `aggregation` | 安全服务聚合 | 7 modules |
295
304
 
296
305
  Use `list_groups` to see all available groups with their module lists.