aquasecurity / aquasecurity/cloudsploit
AWS – "S3 Secure Transport Enabled" False Failures
- Dominant language
- JavaScript
- Stars
- 3.8k
- Forks
- 751
- Avg merge
- 11d 9h
- Merged PRs (30d)
- 3
Description
In the test for "S3 Secure Transport Enabled", Aqua scans to ensure that a condition:
```yaml
Bool:
aws:SecureTransport: # based on whether the Effect is Allow or Deny
```
…is attached to each statement within an S3 Bucket Policy. This is not the only way to achieve this goal. An explicit `Deny` statement can also be applied:
```yaml
Action: s3:*
Effect: Deny
Principal: '*'
Resource:
- !GetAtt Bucket.Arn
- !Sub ${Bucket.Arn}/*
Condition:
Bool:
aws:SecureTransport: false
```
This configuration has been checked in the IAM Policy Simulator and comports with [advice from AWS Premium Support][awsps]. The scan should check for a `Deny` statement of this kind and, if present, emit a `PASS` for that bucket without checking each statement of the policy. (If it's not present, do the other thing, natch.)
[awsps]: https://aws.amazon.com/premiumsupport/knowledge-center/s3-bucket-policy-for-config-rule/
Contributor guide
Research direction
Search the repository for the "S3 Secure Transport Enabled" test and read the scanner entry point and its existing policy checks. Add coverage for an explicit Deny statement using aws:SecureTransport false, while preserving the current per-statement behavior when that statement is absent. Done means the test emits PASS for the explicit-Deny configuration and retains the expected result for other policies.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, javascript
- Domain
- cloud, security
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100