Skip to main content

ARCHER

Python 3.11+ License: Apache 2.0 Code style: black Ruff CI

ARCHER is the infrastructure misconfiguration scanner component of the MEDUSA security platform. It discovers cloud and infrastructure resources, builds a resource dependency graph, and evaluates hundreds of security rules to surface misconfigurations before they become incidents.

Fit within MEDUSA

Component Focus
Remy Static Application Security Testing
Stryx Dynamic Application Security Testing
ARCHER Infrastructure Misconfiguration Scanning

Installation

pip install archer-scan

Note: The PyPI distribution is archer-scan. The CLI command is archer.

Quickstart

Auto-detect provider and scan the current directory:

archer scan

Scan a specific provider and path:

archer scan --provider terraform --path ./infra

Scan AWS and output JSON to a file:

archer scan --provider aws --output report.json --format json

Module Table

Module Purpose
archer/providers/ Provider adapters (AWS, Azure, GCP, ...)
archer/rules/ YAML rule definitions
archer/engine/ Rule evaluation engine
archer/graph/ Resource graph model
archer/cli/ Command-line interface
archer/report/ Report generation (JSON, Markdown)
archer/auth/ Credential resolution and provider auth
archer/config/ Configuration file parsing

CLI Reference

archer scan [OPTIONS]

Options:
  --provider TEXT     Provider to scan (aws, azure, gcp, terraform, kubernetes)
  --path TEXT         Path to infrastructure files (local providers only)
  --profile TEXT      AWS / Azure / GCP profile name
  --region TEXT       Cloud provider region
  --output TEXT       Output file path
  --format TEXT       Output format (json, markdown)
  --config TEXT       Path to config file
  --verbose / --quiet
  --help              Show this message and exit.

Configuration File

# archer.yaml
provider: aws
region: us-east-1
profile: production
output:
  format: json
  path: ./reports/scan.json
rules:
  include:
    - "s3-*"
    - "iam-*"
  exclude:
    - "iam-policy-wildcard-action"

Sample Report Output

Findings: 3 critical, 5 high, 2 medium, 1 low

CRITICAL
  S3 Bucket Public Access Block Disabled
    Resource: my-app-bucket (aws_s3_bucket)
    Rule: s3-public-access-block-disabled
    Remediation: Enable block public access on the bucket.

  IAM Policy With Wildcard Action
    Resource: MyRolePolicy (iam_policy)
    Rule: iam-policy-wildcard-action
    Remediation: Scope IAM actions to specific API operations.

  Security Group Allows All Inbound Traffic
    Resource: sg-0123456789abcdef0 (aws_security_group)
    Rule: ec2-security-group-open-ingress
    Remediation: Restrict inbound rules to specific ports and CIDRs.

Roadmap

v0.1.0 (Current)

  • Core rule engine and CLI
  • AWS, Terraform providers
  • 50+ built-in rules
  • JSON and Markdown reporting

v0.5.0

  • Azure and GCP providers
  • Custom rule authoring
  • HTML report format with visualizations
  • SARIF output for GitHub Advanced Security integration

v1.0.0

  • Kubernetes provider
  • Continuous scanning mode
  • CI/CD integration (GitHub Action, GitLab CI)
  • Remediation automation (planned, optional opt-in)
  • Plugin SDK for community providers

Contributing

See CONTRIBUTING.md for development setup, code style guidelines, and instructions for adding rules and providers.

Security

See SECURITY.md for the security policy and IAM permission requirements.


Author: Abhay Gupta

Organization: Medusa Security

Repository: https://github.com/Medusa-Security/archer

Metadata

Release files for archer-scan 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for archer-scan 0.1.0
File Size Uploaded Provenance
archer_scan-0.1.0.tar.gz 38.2 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for archer-scan 0.1.0
File Interpreter ABI Platform
archer_scan-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 78.7 kB

Release files / archer_scan-0.1.0.tar.gz

Download URL archer_scan-0.1.0.tar.gz
Size 38.2 kB
Tags Source
SHA-256 checksum
How to use checksums
a28f138eb3e334bfbdc7e98651992d8420ed35acae2ab8ecf283f3d84506823e
BLAKE2b-256 checksum
How to use checksums
a1b6ed7ab38eec51e30c8daa3a7c022803da7b37cd24430383839ebe67c9d0b3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.10

Release files / archer_scan-0.1.0-py3-none-any.whl

Download URL archer_scan-0.1.0-py3-none-any.whl
Size 40.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
50b6be6aa05d2c492957d89623ccc056bf22effad6f257816c46ee2ed31cf7b1
BLAKE2b-256 checksum
How to use checksums
a3889e39bb3faf6f90aa09a781f6826e78aaffdd133c1098449c3a4e93548f66
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.10

Security for archer-scan 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page