Cyntrisec CLI (Historical)

io.github.cyntrisecPublished by GitHub account cyntrisecv0.1.14Updated Nov 3, 2026

Historical AWS analysis CLI; not a current Cyntrisec product.

Overview

AI-generated overview

Historical, unsupported AWS security analysis server that lets an assistant query local scan results: assets, attack paths, findings, remediations and…

What you can do
  • Inspect scans and assets: list tools, set the active snapshot, summarize the latest AWS scan, and filter assets, relationships and findings by type or severity
  • Explore attack paths: retrieve paths with risk scores and get hop-by-hop explanations of paths and findings
  • Plan remediation: find optimal fixes, generate Terraform snippets, and list unused IAM permissions
  • Check access and compliance: test whether a principal can reach a resource, check CIS AWS or SOC 2 status, and compare scan snapshots
When to use it
Only for existing local setups that already use this historical CLI and want an assistant to read its stored scan artifacts. It is not a current product and is not a reason to adopt it for new AWS security work.
Requirements
Local Python install of the cyntrisec package, launched as a stdio server. AWS credentials via AWS_PROFILE, or AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY, plus optional AWS_DEFAULT_REGION; the README also mentions AWS CLI and terraform for setup. Scans must already exist under the local scans directory.
Before you install
The project is explicitly historical and unsupported, provided as is without warranty. It asks for AWS credentials, so prefer AWS_PROFILE over long-lived keys and keep the IAM role read-only. Remediation output, including Terraform, should be reviewed before applying; an opt-in unsafe write mode can run terraform apply locally. Live modes need extra IAM permissions.

Installation

In SourceWeft

  1. Open Cyntrisec CLI (Historical) in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

Cyntrisec CLI

[PyPI] [License] [Status]

Historical pre-company project. cyntrisec-cli was created before Cyntrisec narrowed its company focus to EphemeralML and AIR v1. It is not a current Cyntrisec product, support surface, or commercial offering. The PyPI package name cyntrisec, CLI command cyntrisec, and MCP server ID io.github.cyntrisec/cyntrisec are retained only to avoid breaking historical installs.

[image-download]

[!CAUTION] Historical Software Disclaimer: This tool is no longer an active Cyntrisec product. It is provided "as is", without warranty of any kind. While the CLI is a read-only analysis tool by default, the user assumes all responsibility for any actions taken based on its findings. Always review generated remediation plans and Terraform code before application.

Historical AWS capability graph analysis and attack path discovery CLI.

A read-only CLI tool that historically:

  • Scans AWS infrastructure via AssumeRole
  • Builds a capability graph (IAM, network, dependencies)
  • Discovers attack paths from internet to sensitive targets
  • Prioritizes fixes by ROI (security impact + cost savings)
  • Identifies unused capabilities (blast radius reduction)
  • Outputs deterministic JSON with proof chains

Demo

[Cyntrisec Demo]

Watch how to discover attack paths and generate fixes using natural language with Claude MCP.

Architecture

text
+----------------------------------------------------------------------------------+|                                   CYNTRISEC CLI                                   |+----------------------------------------------------------------------------------+| CLI Layer (Typer)                                                                 ||   scan   analyze   cuts   waste   report   comply   can   diff   serve   ...      |+-----------------------------+----------------------------------------------------+| Core Engine                 | Storage (local)                                     ||  - AWS collectors           |  ~/.cyntrisec/scans/<scan_id>/                      ||  - Normalization/schema     |    snapshot.json, assets.json, relationships.json   ||  - GraphBuilder -> AwsGraph |    findings.json, attack_paths.json                 ||  - Path search -> paths     |  ~/.cyntrisec/scans/latest -> <scan_id>             ||  - Min-cut + Cost (ROI)     |  (Windows fallback: latest is a file)               |+-----------------------------+----------------------------------------------------+| Outputs: JSON/agent, HTML report, remediation plan + Terraform hints              |+----------------------------------------------------------------------------------+

Data Flow

text
CLI (scan) --AssumeRole--> AWS Session --Describe/Get/List--> AWS APIs (read-only)     |     vCollectors -> normalize -> Assets + Relationships -> AwsGraph                                                |                                                v                                   Attack path search (BFS/DFS)                                                |                                                v                                   Min-cut (remediation cuts)                                                |                                                v                                      Cost engine (ROI)
Local artifacts: ~/.cyntrisec/scans/<scan_id>/*.json

Installation

bash
pip install cyntrisec

Windows PATH Fix

If you see "cyntrisec is not recognized", the Scripts folder isn't on PATH:

powershell
# Option 1: Run with python -mpython -m cyntrisec --help
# Option 2: Add to PATH for current session$env:PATH += ";$env:APPDATA\Python\Python311\Scripts"

Quick Start

Prerequisite: Ensure you have AWS CLI installed and configured with credentials (e.g., aws configure) or environment variables set. terraform is required for the setup step.

bash
# 1. Create the read-only IAM role in your accountcyntrisec setup iam 123456789012 --output role.tf
# 2. Apply the Terraformcd your-infra && terraform apply
# 3. Run a scancyntrisec scan --role-arn arn:aws:iam::123456789012:role/CyntrisecReadOnly
# 4. View attack pathscyntrisec analyze paths --min-risk 0.5
# 5. Find minimal fixes (prioritized by ROI)cyntrisec cuts --format json
# 6. Generate HTML reportcyntrisec report --output report.html

Commands

Core Analysis

CommandDescription
scanScan AWS infrastructure
analyze pathsView attack paths
analyze findingsView security findings
analyze statsView scan statistics
analyze businessBusiness entrypoint analysis
reportGenerate HTML/JSON report

Setup & Validation

CommandDescription
setup iamGenerate IAM role Terraform
validate-roleValidate IAM role permissions

Remediation

CommandDescription
cutsFind minimal fixes (Cost & ROI prioritized)
wasteFind unused IAM permissions
remediateGenerate or optionally apply Terraform plans (gated)

Policy Testing

CommandDescription
canTest "can X access Y?"
diffCompare scan snapshots
complyCheck CIS AWS / SOC2 compliance

Agentic Interface

CommandDescription
manifestOutput machine-readable capabilities
explainNatural language explanations
askQuery scans in plain English
serveRun as MCP server for AI agents

MCP Server Mode

The historical CLI can still run as an MCP server for compatibility with existing local setups:

bash
# Install with MCP support (now included by default)pip install cyntrisec
bash
cyntrisec serve              # Start stdio servercyntrisec serve --list-tools # List available tools

MCP Tools (15)

CategoryToolDescription
Discoverylist_toolsList all available tools
set_session_snapshotSet active snapshot for session
get_scan_summaryGet summary of latest AWS scan
Assetsget_assetsGet assets with type/name filtering
get_relationshipsGet relationships between assets
get_findingsGet security findings with severity filtering
Attack Pathsget_attack_pathsGet attack paths with risk scores
explain_pathDetailed hop-by-hop path breakdown
explain_findingDetailed finding explanation
Remediationget_remediationsFind optimal fixes for attack paths
get_terraform_snippetGenerate Terraform code for remediation
Accesscheck_accessTest if principal can access resource
get_unused_permissionsFind unused IAM permissions
Compliancecheck_complianceCheck CIS AWS or SOC 2 compliance
compare_scansCompare scan snapshots

Claude Desktop

MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

json
{  "mcpServers": {    "cyntrisec": {      "command": "python",      "args": ["-m", "cyntrisec", "serve"]    }  }}

Claude Code (CLI)

Run the following command to configure the server:

bash
claude mcp add cyntrisec -- python -m cyntrisec serve

Google Gemini / Antigravity

Locate your agent configuration (e.g., ~/.gemini/antigravity/mcp_config.json) and add:

json
{  "mcpServers": {    "cyntrisec": {      "command": "python",      "args": ["-m", "cyntrisec", "serve"]    }  }}

Trust & Safety

Read-Only Guarantees

This tool makes read-only API calls to your AWS account. The IAM role should have only Describe*, Get*, List* permissions.

No Data Exfiltration

All data stays on your local machine. Nothing is sent to external servers. Scan results are stored in ~/.cyntrisec/scans/.

No Auto-Remediation (Default Safe Mode)

By default, Cyntrisec is read-only and does not modify your AWS infrastructure.

  • It analyzes your account using read-only APIs.
  • It can generate remediation artifacts (e.g., Terraform modules) for you to review.
  • It does not apply changes automatically.

Optional Remediation Execution (Explicit Opt-In)

Cyntrisec includes an explicitly gated path that can execute Terraform only if you intentionally enable it.

This mode is:

  • Disabled by default
  • Requires --enable-unsafe-write-mode
  • Requires an additional explicit flag (e.g. --execute-terraform) to run Terraform
  • Intended for controlled environments (sandbox / CI with approvals), not unattended production

If you do not pass these flags, Cyntrisec will never run terraform apply.

Write Operations

Cyntrisec makes no AWS write API calls during scanning and analysis.

The only supported "write" behavior is optional execution of Terraform locally on your machine, and only when explicitly enabled via unsafe flags.

Every AWS API call is logged in CloudTrail under session name cyntrisec-cli.

Trust & Permissions

Cyntrisec runs with a read-only IAM role. Generate the recommended policy with cyntrisec setup iam <ACCOUNT_ID> and keep permissions to Describe*, Get*, and List*. Live modes (waste --live, can --live) require extra IAM permissions; the generated policy and docs cover those additions.

Output Format

Primary output is JSON to stdout. When stdout is not a TTY, the CLI automatically switches to JSON:

bash
cyntrisec analyze paths --format json | jq '.paths[] | select(.risk_score > 0.7)'

Agent-friendly output wraps results in a structured envelope:

bash
cyntrisec analyze paths --format agent
json
{  "schema_version": "1.0",  "status": "success",  "data": {...},  "artifact_paths": {...},  "suggested_actions": [...]}

Exit Codes

CodeMeaning
0Success / compliant
1Findings / regressions / denied
2Usage error
3Transient error (retry)
4Internal error

Use in CI/CD:

bash
cyntrisec scan --role-arn $ROLE_ARN || exit 1cyntrisec diff || echo "Regressions detected"

Storage

Scan results are stored locally:

text
~/.cyntrisec/|-- scans/|   |-- 2026-01-17_123456_123456789012/|   |   |-- snapshot.json|   |   |-- assets.json|   |   |-- relationships.json|   |   |-- findings.json|   |   `-- attack_paths.json|   `-- latest -> 2026-01-17_...`-- config.yaml

Versioning

This project follows Semantic Versioning. See CHANGELOG.md for release notes.

License

Apache-2.0

Links

Source: README.md at commit a2039a2

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.14LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts