Skip to main content

Unified CLI for cost, security, waste, DR, lifecycle, drift, tagging, observability, quota, and network analysis on cloud infrastructure.

Project description

Kulshan

Free, open-source AWS audit CLI with no infrastructure mutation or remediation.

Kulshan scans your AWS account across ten audit dimensions and produces a unified scored report. Scanning and report generation are local-first by default.

Install

pip install kulshan        # all platforms: macOS, Linux, Windows

Requires Python 3.9+. Works with the AWS credentials you already use (aws sts get-caller-identity).

Quick Start

kulshan doctor              # Check AWS readiness (no cost, no writes)
kulshan report --quick      # Quick scan (3 regions)
kulshan report -o report.html  # Full HTML report
kulshan report --packs security,sweep  # Free packs only ($0 AWS cost)
kulshan shell               # Interactive REPL

What You Get

  • Cost analysis — multi-method anomaly detection (z-score, IQR, MAD), RI/SP coverage, forecasting
  • Security posture — 50+ checks across IAM, network, encryption, logging
  • Waste detection — orphaned EBS, EIPs, snapshots, idle ALBs, NAT gateways
  • DR readiness — backup coverage, Multi-AZ, single points of failure
  • Lifecycle audit — EOL runtimes, expiring certs, stale AMIs
  • IaC drift — CloudFormation drift detection, coverage gaps
  • Tag compliance — untagged resources, cost attribution gaps
  • Observability — alarm coverage, logging gaps, blind spots
  • Quota headroom — service limits, scaling blockers
  • Network topology — CIDR overlaps, route integrity, flow log coverage

Output formats: terminal (scored dashboard), JSON, HTML, SARIF, CSV.

Trust & Security

  • No infrastructure mutation — no remediation or customer-resource changes
  • Auditable permissions — 147 explicit actions, including non-mutating DetectStackDrift
  • Local-first by default — no active telemetry implementation
  • Explicit integrations — optional webhooks send data only when deliberately invoked
  • Published IAM policy — inspect every action before granting access
  • Open source — Apache 2.0, read every line of code on GitHub
  • Sensitive-data masking — common identifiers are masked by default; review reports before sharing

AWS API Costs

  • Cost pack: ~$0.20-0.40/run (Cost Explorer @ $0.01/request, billed by AWS)
  • All other 9 packs: $0 (free-tier APIs only)
  • Skip cost pack: kulshan report --packs security,sweep,dr

About the Name

Kulshan is the Lummi name for the mountain known colonially as Mt. Baker — meaning "great white watcher." We acknowledge the Lummi and Nooksack peoples as the original namers of this mountain.

Built by

Mission FinOps — Mission, BC, Canada.

AI Agents

Kulshan works with Claude Code, Codex, Kiro, Cursor, and any agent that can run shell commands. See agent-pack/ for integration instructions.

License

Apache 2.0 — free and open source forever.

Project details


Download files

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

Source Distribution

kulshan-0.1.0.tar.gz (218.7 kB view details)

Uploaded Source

Built Distribution

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

kulshan-0.1.0-py3-none-any.whl (287.1 kB view details)

Uploaded Python 3

File details

Details for the file kulshan-0.1.0.tar.gz.

File metadata

  • Download URL: kulshan-0.1.0.tar.gz
  • Upload date:
  • Size: 218.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for kulshan-0.1.0.tar.gz
Algorithm Hash digest
SHA256 621c015b24b7ab92dc2522504534643637d98f8037de4b58615db01842942b35
MD5 71524904da3e56d7648b0ad09433b923
BLAKE2b-256 23f54934752be81b05a8a254f5c80485c2a72b674ee6ba09246c93c061b7b66b

See more details on using hashes here.

Provenance

The following attestation bundles were made for kulshan-0.1.0.tar.gz:

Publisher: publish.yml on azz-kikkr/kulshan

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

File details

Details for the file kulshan-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: kulshan-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 287.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for kulshan-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c4f56183efe53a0d0bea4d8201293cd90f91b69d0c8704a72d9e1caf7a697926
MD5 428b6d8059e465dba331e0b0958d864f
BLAKE2b-256 cde071114f01c7cb29b4eaecc9977d54a02e3ebfb5c36f0a709db433b827bad5

See more details on using hashes here.

Provenance

The following attestation bundles were made for kulshan-0.1.0-py3-none-any.whl:

Publisher: publish.yml on azz-kikkr/kulshan

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