GNOMAN: Guardian of Safes, Master of Keys
✨ What is GNOMAN?
GNOMAN is a mission-control console for multisig operators, forensic auditors, and DeFi incident responders.
It fuses:
• A modular command-line interface
• A curses-powered dashboard UI
• Forensic logging and signed audit trails
• Deep integrations with wallets, keyrings, and Gnosis Safes
GNOMAN replaces a zoo of fragile scripts with a single god-tier control deck.
🚀 Core Features
🔑 Secrets & Wallets
• Full keyring integration (freedesktop-secrets, macOS Keychain, Windows Credential Locker).
• .env / .env.secure drift detection and reconciliation.
• HD wallet support with:
• Hidden derivation trees
• Custom derivation paths
• Vanity address generation
• Cold wallet / hot executor separation.
• Wallet monitoring with real-time balance and nonce tracking.
🏛️ Safe Orchestration
• Deploy new Gnosis Safes with arbitrary owner sets & thresholds.
• Add/remove owners, rotate keys, and patch Safe configs live.
• Automatic Safe ABI syncing (via ABISchemaManager).
• Submit, batch, and simulate transactions across multiple Safes.
🧰 Contract Toolkit
• ABI loading, schema enforcement, and method resolution.
• Transaction builder with type-safe argument validation.
• Ephemeral executors for flash execution (EIP-6780 friendly).
• Gas calibration and automatic fee bumpers.
📊 Forensic Audit Mode
• Crawl wallets, Safes, and secrets into a signed report (JSON/PDF).
• Includes:
• Wallet balance snapshots
• Safe threshold configs
• Expiring secrets
• Last access timestamps
• Reports cryptographically signed with GNOMAN’s audit key.
🧠 Arbitrage & DeFi Hooks
• Plugin loader for loan and trade modules (Uniswap, Balancer, Curve, Aave, etc.).
• Canonical schema enforcement for graph + execution steps.
• RPZE pathfinding validator integration.
• ExecutionManager hooks for cycle watching, memory attach, and readiness checks.
📡 Sync & Drift Detection
• gnoman sync: reconcile secrets across keyring, .env, .env.secure, and remote vaults.
• Detect drift and resolve conflicts interactively.
📟 Dashboard UI
• Curses-powered neon cockpit.
• Views: diffs, branches, GitHub status, Safe states, audit logs.
• Keyboard-driven interactive ops (submit tx, rotate key, reconcile secrets).
🔧 Installation
From PyPI:
pip install gnoman-cli
From DockerHub:
docker pull gadgetsaavy/gnoman:latest
docker run -it gadgetsaavy/gnoman
From Source:
git clone https://github.com/74Thirsty/gnoman-cli.git
cd gnoman-cli
pip install -e .
🕹️ Usage
CLI:
gnoman safe deploy --owners 0xA.. 0xB.. 0xC.. --threshold 2
gnoman wallet derive --path "m/44'/60'/0'/0/1337"
gnoman sync
gnoman audit --output report.pdf
Dashboard:
gnoman tui
Navigate with arrow keys. q to quit.
⸻
🔒 Security Posture • All secrets loaded from keyring-first (never plaintext by default). • Forensic logs signed with GNOMAN’s audit key. • Ephemeral execution to prevent key leakage. • Multisig-first design: never trust a single key.
⸻
🛠️ Roadmap • Remote vault sync (Hashicorp Vault, AWS Secrets Manager). • ML-based anomaly detection in audit mode. • zk-proof attestation of audit reports. • Direct Flashbots bundle submission from dashboard.
⸻
🧑💻 Authors
Built with obsession by Christopher Hirschauer (</gadget_saavy>).
⸻
💸 Support GNOMAN Development
If you appreciate the work behind GNOMAN, feel free to donate to support the continued development and improvement of this project:
PayPal:
Gnosis Safe:
To donate directly to my Gnosis Safe, use the following address:
Gnosis Safe Address: eth:0xC6139506fa54c450948D9D2d8cCf269453A54f17
Key Updates:
- PayPal Donation Button: I added a PayPal donation link for you. You can replace
yourusernamewith your actual PayPal username. - Gnosis Safe Donation: I included a placeholder for your Gnosis Safe address. You can replace
0xYourGnosisSafeAddressHerewith your actual Gnosis Safe address to allow donations directly to your Safe.
How to Use:
- Simply copy the “PayPal” and “Gnosis Safe” sections into the README.
- Link to your PayPal and Gnosis Safe address so users can contribute directly.
Metadata
Release files for gnoman-cli 0.3.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| gnoman_cli-0.3.3.tar.gz | 65.9 kB | Without provenance | Details for gnoman_cli-0.3.3.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| gnoman_cli-0.3.3-py3-none-any.whl | Python 3 | none | any | Details for gnoman_cli-0.3.3-py3-none-any.whl |
Total release size: 135.3 kB
Release files / gnoman_cli-0.3.3.tar.gz
| Download URL | gnoman_cli-0.3.3.tar.gz |
|---|---|
| Size | 65.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1120a315f90091c24327621610a5a29fe2f487f79a822c1bee3590441fc506f1
|
|
BLAKE2b-256 checksum How to use checksums |
429d32091cecaca15d682d9cee1cf622b70be6a51a72023b6371d94d1326aa08
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.8
|
Release files / gnoman_cli-0.3.3-py3-none-any.whl
| Download URL | gnoman_cli-0.3.3-py3-none-any.whl |
|---|---|
| Size | 69.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0d6729bec6e68764a200c7392ffdad7c6b189c9ae853ed9237db587bc547ef47
|
|
BLAKE2b-256 checksum How to use checksums |
995c633b7989fc49168968e7d4f84de255fe7cfd646773b55abd0d43b3650bd1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.8
|
Security for gnoman-cli 0.3.3
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.
To learn more about protecting yourself from malicious actors, visit our package security documentation.