readme.md in aws_recon-0.4.0 vs readme.md in aws_recon-0.4.1

- old
+ new

@@ -1,17 +1,17 @@ [![GitHub Workflow Status (branch)](https://img.shields.io/github/workflow/status/darkbitio/aws-recon/smoke-test/main)](https://github.com/darkbitio/aws-recon/actions?query=branch%3Amain) [![Gem Version](https://badge.fury.io/rb/aws_recon.svg)](https://rubygems.org/gems/aws_recon) # AWS Recon -A multi-threaded AWS inventory collection tool. +A multi-threaded AWS security-focused inventory collection tool written in Ruby. This tool was created to facilitate efficient collection of a large amount of AWS resource attributes and metadata. It aims to collect nearly everything that is relevant to the security configuration and posture of an AWS environment. -Existing tools (e.g. [AWS Config](https://aws.amazon.com/config)) that do some form of resource collection lack the coverage and specificity to accurately measure security posture (e.g. detailed attribute data and full policy documents). +Existing tools (e.g. [AWS Config](https://aws.amazon.com/config)) that do some form of resource collection lack the coverage and specificity to accurately measure security posture (e.g. detailed resource attribute data, fully parsed policy documents, and nested resource relationships). -Enter AWS Recon, multi-threaded AWS inventory collection tool written in plain Ruby. Though Python tends to dominate the AWS tooling landscape, the [Ruby SDK](https://aws.amazon.com/sdk-for-ruby/) has a few convenient advantages over the [other](https://aws.amazon.com/sdk-for-node-js/) [AWS](https://aws.amazon.com/sdk-for-python/) [SDKs](https://aws.amazon.com/sdk-for-go/) we tested. Specifically, easy handling of automatic retries, paging of large responses, and - with some help - threading huge numbers of requests. +AWS Recon handles collection from large accounts by taking advantage of automatic retries (either due to network reliability or API throttling), automatic paging of large responses (> 100 resources per API call), and multi-threading parallel requests to speed up collection. ## Project Goals - More complete resource coverage than available tools (especially for ECS & EKS) - More granular resource detail, including nested related resources in the output @@ -29,11 +29,11 @@ Use Docker version 19.x or above to run the pre-built image without having to install anything. #### Running locally via Ruby -If you already have Ruby installed (2.5.x or 2.6.x), you may want to install the Ruby gem. +If you already have Ruby installed (2.6.x or 2.7.x), you may want to install the Ruby gem. ### Installation AWS Recon can be run locally via a Docker container or by installing the Ruby gem. @@ -274,10 +274,12 @@ #### Output Output is always some form of JSON - either JSON lines or plain JSON. The output is either written to a file (the default), or written to stdout (with `-j`). +When writing to an S3 bucket, the JSON output is automatically compressed with `gzip`. + ## Support for Manually Enabled Regions If you have enabled **manually enabled regions**: - me-south-1 - Middle East (Bahrain) @@ -374,10 +376,10 @@ ``` Create a sticky gemset if using RVM: ``` -$ rvm use 2.6.5@aws_recon_dev --create --ruby-version +$ rvm use 2.7.2@aws_recon_dev --create --ruby-version ``` Run `bin/setup` to install dependencies. Then, run `rake test` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment. To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).