Infrastructure asset graph — the Joern for cloud. Discovers, maps, and graphs CSP resources.
Project description
Bona
Infrastructure asset graph — the Joern for cloud.
Discovers, maps, and graphs CSP resources via AWS Config. Produces nodes + edges that feed into Neptune for compliance analysis, impact assessment, and risk scoring.
Quick Start
pip install bona
# Discover all resources in an account
bona discover --account 123456789012 --region us-east-1
# Enumerate AWS services (for recipe generation)
bona services
# Check compliance state
bona compliance --account 123456789012
Python API
from bona import AWSProvider, DiscoveryPipeline
provider = AWSProvider(account_id="123456789012", region="us-east-1")
result = provider.discover()
print(result.summary())
# → Discovered 142 resources, 287 relationships, 3 findings in 4521ms
for resource in result.resources:
print(f"{resource.resource_type}: {resource.name}")
for edge in result.relationships:
print(f"{edge.source_id} --{edge.edge_type}--> {edge.target_id}")
Architecture
AWS Config (already running) → Bona reads → normalizes → outputs graph schema
↓
Neptune (via AI-LENS)
Bona is thin. AWS Config does the heavy lifting. Bona just transforms the output into a graph schema compatible with the GraphRAG Toolkit (lexical-graph, document-graph, codeproperty-graph).
Package Structure
bona/
├── providers/ AWS, Azure, GCP, Application adapters
│ └── aws/ AWS Config + Resource Explorer + Inspector
├── pipeline/ discover → transform → load → enrich
├── schema/ AssetNode, AssetEdge, DiscoveryResult
├── query/ graph traversal, compliance, impact analysis
└── cli.py standalone CLI tool
Integration
Part of the GraphRAG Toolkit ecosystem:
- lexical-graph — foundation (storage, vectors, retrieval)
- document-graph — documents (Confluence, PDFs)
- codeproperty-graph — code (Joern → vulnerabilities)
- bona — infrastructure (AWS Config → compliance)
All produce nodes + edges for the same Neptune instance. Unified queries across all domains.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file bona-0.1.0.tar.gz.
File metadata
- Download URL: bona-0.1.0.tar.gz
- Upload date:
- Size: 8.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2e329cccc5ed39a99f8e413026ef58a7ae51893ae812a57b24913a5017314fb8
|
|
| MD5 |
cff3d5f843c2f23f1e80fe27c6fa6be5
|
|
| BLAKE2b-256 |
5af07b49ea9d01a8cc7682cccc84c5f726925a3235f5219268695f1201d91b80
|
File details
Details for the file bona-0.1.0-py3-none-any.whl.
File metadata
- Download URL: bona-0.1.0-py3-none-any.whl
- Upload date:
- Size: 12.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cb67e8a82993368cffcbf0177b940d704b0918809e97b52f089de7279cad15a9
|
|
| MD5 |
116f3ae3a425785f4e22c3119a41867a
|
|
| BLAKE2b-256 |
d065d5433dd62ab9deeffc8c1d734b1e103e5e4b076f58078b23d2542f7ee655
|