Skip to content
Script to spider a website and find publicly open S3 buckets
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


A simple script to find open Amazon AWS S3 buckets in your target websites. S3 buckets are a popular way of storing static contents among web developers. Often, developers tend to set the bucket permissions insecurely during development, and forget to set them correctly in prod, leading to (security) issues.


  • Searching for insecure S3 buckets in a target website during reconnaissance stage.
  • Differentiating between publicly unavailable, secured, read only, read + write and full access buckets
  • Automated crawling and searching for Bucket URLs in website's page source.




No worries if you don't have them. You'll install them in 'Installation' section anyway.

  • Python
  • Pip
  • BeautifulSoup
  • Boto3
  • AWS account for access and secret token


Install Python Pip using your OS's package manager

pip2 install beautifulsoup boto3
git clone
cd S3Scan

If you already have awscli installed and configured, you should have the necessary tokens with you. If not, follow the steps.

Login to your AWS panel and generate your ACCESS_KEY and SECRET_KEY. Although fairly straightforward, if you are lost, here is a guide. Now you can either add them to your .bashrc (recommended), or add them to the script itself (not recommended).

To add the credentials to your .bashrc,

echo export AWS_ACCESS_KEY_ID="API7IQGDJ4G26S3VWYIZ" >> ~/.bashrc
echo export AWS_SECRET_ACCESS_KEY="jfur8d6djePf5s5fk62P5s3I6q3pvxsheysnehs" >> ~/.bashrc
source ~/.bashrc



Usage: $ python ./ [-u] url

  --version          show program's version number and exit
  -h, --help         show this help message and exit
  -u URL, --url=URL  url to scan
  -d                 turn on debug messages



You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.