Skip to main content

Next-generation AWS Cloud Adversary Emulation platform

Project description

Atlas

AWS Cloud Adversary Emulation Platform


⚠️ This tool is still under development. APIs and behavior may change. Use with caution in production environments.


Contributing Red Team Techniques

We welcome contributions of new red team techniques. If you have attack paths, privilege escalation methods, or AWS abuse techniques you'd like to add to Atlas, please open an issue or submit a pull request. The planner and attack graph are designed to be extended—see src/atlas/planner/attack_graph.py and src/atlas/knowledge/data/api_detection_profiles.yaml for how techniques are modeled.


What is Atlas?

Atlas is a next-generation AWS cloud adversary emulation platform. It helps red teams and security researchers:

  • Discover attack paths from a given identity (recon + attack graph)
  • Plan multi-step privilege escalation chains
  • Simulate execution without making AWS API calls
  • Execute attack paths with configurable stealth and safety guardrails
  • Explain attack paths with AI-powered or template-based explanations

Requirements

  • Python 3.12+
  • AWS credentials configured (e.g. ~/.aws/credentials)

Installation

Install from PyPI (recommended):

pip install atlas-redteam

Or with pipx (isolated environment, no venv needed):

pipx install atlas-redteam

Update to latest version:

pip install --upgrade atlas-redteam
# or
pipx upgrade atlas-redteam

Note for maintainers: To publish new versions so users get updates, see docs/RELEASE.md.

For development (editable install):

git clone https://github.com/Haggag-22/Atlas.git
cd Atlas
pip install -e ".[dev]"

Quick Start

# Configure AWS profile
atlas config --profile my-profile --region us-east-1

# Run recon + planning (creates a case)
atlas plan --case mycase

# List attack paths and simulate
atlas simulate --case mycase --attack-path AP-01

# Explain an attack path
atlas explain --case mycase --attack-path AP-01

# Open the GUI
atlas gui --case mycase

Commands

Command Description
atlas config Set or show AWS profile and region
atlas sync-pathfinding Sync pathfinding.cloud attack paths (65+ verified IAM privesc paths)
atlas pathfinding list List pathfinding attack paths (optionally filter by service)
atlas pathfinding show <id> Show full details for a path (exploitation steps, code, references)
atlas plan Run reconnaissance + planning, save to output/<case>/plan/
atlas simulate Simulate an attack path (no AWS calls)
atlas run Execute an attack path (uses AWS)
atlas cases List saved cases
atlas delete-case Delete a saved case
atlas explain Explain an attack path (AI or template)
atlas gui Open the Streamlit web UI
atlas inspect Inspect detection profiles for API actions

Output Structure

output/<case>/
├── case.json           # Case metadata
├── plan/               # Recon + planning
│   ├── env_model.json
│   ├── attack_edges.json
│   ├── attack_paths.json
│   └── ...
├── sim/                # Simulation results (if run)
├── run/                # Execution results (if run)
└── explanations.json   # Cached AI/template explanations

Attack Techniques (Examples)

Atlas models techniques such as:

  • Role assumption (sts:AssumeRole)
  • Access key creation (iam:CreateAccessKey)
  • Policy attachment (iam:AttachUserPolicy, iam:AttachRolePolicy)
  • Inline policy injection (iam:PutUserPolicy, iam:PutRolePolicy)
  • PassRole abuse (Lambda, etc.)
  • Trust policy modification (iam:UpdateAssumeRolePolicy)
  • Lambda code injection
  • S3 read/write access

Detection costs and noise levels are derived from CloudTrail and GuardDuty profiles in src/atlas/knowledge/.


Discovered Resources

The recon engine collects the following resource types (configurable via recon.resource_types):

Resource Service Key Security Data
S3 Buckets S3 Bucket policies, Public Access Block
EC2 Instances EC2 Instance profiles, IMDS config, security groups
Lambda Functions Lambda Execution roles, resource policies, environment variables
RDS Instances RDS Public accessibility, encryption, IAM auth, snapshots
KMS Keys KMS Key policies, grants, rotation status
Secrets Manager Secrets Secrets Manager Resource policies, rotation, KMS encryption
SSM Parameters SSM Parameter types (SecureString), KMS key IDs
CloudFormation Stacks CloudFormation Stack roles, capabilities, outputs

License

MIT

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

atlas_redteam-2.0.0a1.dev39.tar.gz (307.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

atlas_redteam-2.0.0a1.dev39-py3-none-any.whl (311.3 kB view details)

Uploaded Python 3

File details

Details for the file atlas_redteam-2.0.0a1.dev39.tar.gz.

File metadata

  • Download URL: atlas_redteam-2.0.0a1.dev39.tar.gz
  • Upload date:
  • Size: 307.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for atlas_redteam-2.0.0a1.dev39.tar.gz
Algorithm Hash digest
SHA256 69988560916bfb0f721eaf1021b3dac08d1d2e25fb7b0288a77701d85139b243
MD5 f5e70030518e811d4c31f83dbb25c357
BLAKE2b-256 0135bf49f24fd4bbd44c82de713fd0b0947f98d2d65621a6c5cb9d5498497405

See more details on using hashes here.

Provenance

The following attestation bundles were made for atlas_redteam-2.0.0a1.dev39.tar.gz:

Publisher: publish.yml on Haggag-22/Atlas

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file atlas_redteam-2.0.0a1.dev39-py3-none-any.whl.

File metadata

File hashes

Hashes for atlas_redteam-2.0.0a1.dev39-py3-none-any.whl
Algorithm Hash digest
SHA256 5b0107542c65cdb45584b1d4f890a14e741a6eccede65a81b2b29a5cc9116e67
MD5 0ea4db4b499793608d4d3100c5d35cea
BLAKE2b-256 b1496792cb5cbc2eda960623998e0011f6108497d4ad7dc1b0800e40a4da5314

See more details on using hashes here.

Provenance

The following attestation bundles were made for atlas_redteam-2.0.0a1.dev39-py3-none-any.whl:

Publisher: publish.yml on Haggag-22/Atlas

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page