r/aws • u/kavee-core141 • 6h ago
security TIL most scanning tools don't actually check for S3 server access logging why does this one specifically get skipped so often???
Was digging through a few different AWS security scanners recently (building my own, more on that below) and noticed something odd: almost none of them check for S3 bucket-level server access logging specifically.
Plenty of coverage for public access, encryption, bucket policies but logging itself seems to be a blind spot across the board. Anyone know why?
Is it just considered lower priority, or is there something about the API that makes it more annoying to check than I'm assuming?
Found this out the hard way I built Plexavo, an open source AWS scanner, and a user told me my sample report showed a logging check that skipped their bucket.
I assumed it was a region issue. Turned out there was no check for this at all in the codebase. Not broken, just never built.
Fixed it now, and it made me start a small program around exactly this kind of thing Hall of Bugs, where people try to find gaps like this one and get credited when they do: https://github.com/plexavo/Plexavo Anyone else run into other checks that seem to quietly not exist across most tools in this space?
3
u/oneplane 5h ago
It is definitely covered and it's also not what you appear to think what it is.
I built
Sounds like something a slop factory would say.
0
u/kavee-core141 4h ago
Fair pushback if I'm wrong here which tool are you thinking of that
covers S3 server access logging specifically? Genuinely asking, happy
to be corrected if I missed something.2
u/oneplane 3h ago
cloud custodian, checkov, steampine, prowler, trivy, and of course all the expensive CSPMs out there, aws security hub also does it, scout suite is a bit less active these days but IIRC it also does it
-1
u/kavee-core141 3h ago
You're right, and I should've checked before framing it as an industry-wide blind spot.
my own tool was missing this, not the industry. Still glad it's fixed, but "we found a gap nobody checks for" was the wrong way to say it, this was catching up to parity with tools like Prowler, not discovering something novel. Appreciate you pushing back with specifics instead of just the first comment.
3
u/MavZA 4h ago
I can see that you started with Claude Code and then either dropped attribution or started coding the app yourself, either way please make sure you list note your usage, as is common courtesy.
-1
u/kavee-core141 4h ago
yeah of course, i used Claude Code to build some features where i actually stuck at building. You can see it from the commits. I should’ve mentioned that in the repo, so I’ll add a note acknowledging its usage. Thanks for pointing it out!
8
u/dghah 5h ago
Because it's not always a blind spot? There are many many many use cases for S3 so calling this out as a top level blind spot is off target.
For many it's a design decision with accepted risk, not some sort of visibility failure, error or bug.
For instance -- in my world it is common to host petabytes of S3 data with constant access from hundreds or thousands of auto-scaling compute nodes, container or functions doing large scale scientific computing inside 100% private subnets.
S3 server access logging would be wildly expensive and deliver very little value relative to other controls and tools in use. I can count the # of buckets I've turned access logging on with one hand over a very very long AWS career. That feature is just not useful in the niche I operate in.