4 releases (2 breaking)
Uses new Rust 2024
| 0.3.0 | Jan 30, 2026 |
|---|---|
| 0.2.1 | Nov 12, 2025 |
| 0.2.0 | Nov 11, 2025 |
| 0.1.0 | Oct 17, 2025 |
#589 in Cryptography
2.5MB
54K
SLoC
CipherRun
Fast, modular TLS/SSL security scanner and compliance engine built in Rust
Overview
CipherRun is a comprehensive TLS/SSL security scanner written in Rust. It combines protocol and cipher analysis, vulnerability testing, compliance checks, and certificate transparency monitoring in a single high-performance CLI and API-ready engine.
Key Features
| Feature | Description |
|---|---|
| Protocol Coverage | SSLv2 to TLS 1.3 with full handshake analysis |
| Vulnerability Tests | 18+ major TLS CVEs (Heartbleed, ROBOT, POODLE, LOGJAM, etc.) |
| Compliance Engine | PCI-DSS, NIST, HIPAA, SOC 2, Mozilla, GDPR |
| Fingerprinting | JA3, JA3S, JARM with signature databases |
| Certificate Analysis | Chain validation, revocation, EV detection |
| Monitoring | 24/7 certificate monitoring with alerts |
| CT Logs | Real-time CT log streaming + Bloom deduplication |
| Database Support | PostgreSQL/SQLite analytics and history |
Installation
From Source
git clone https://github.com/seifreed/cipherrun.git
cd cipherrun
cargo build --release
./target/release/cipherrun --help
Using Cargo
cargo install cipherrun
Quick Start
# Scan a host
cipherrun example.com
# Scan a URL
cipherrun https://example.com
# Run full vulnerability scan
cipherrun -U example.com
Usage
Common Commands
# Protocol testing
cipherrun -p example.com
# Cipher enumeration
cipherrun -e example.com
# JSON output
cipherrun --json results.json example.com
# HTML report
cipherrun --html report.html example.com
STARTTLS Examples
# SMTP with STARTTLS
cipherrun -t smtp mail.example.com:587
# IMAP with STARTTLS
cipherrun -t imap mail.example.com:143
Output Formats
Terminal, JSON, CSV, HTML, XML
Architecture (High Level)
- Scanner Engine: Async Tokio-based probes
- Protocols: SSLv2 → TLS 1.3
- Vuln Suite: 18+ checks
- Fingerprinting: JA3/JA3S/JARM
- Compliance: 7 frameworks
- Database: SQL migrations + analytics
Contributing
Contributions are welcome:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Support the Project
If you find CipherRun useful, consider supporting its development:
License
This project is licensed under GPL-3.0 - see the LICENSE file for details.
Attribution Required:
- Author: Marc Rivero | @seifreed
- Repository: github.com/seifreed/cipherrun
Made with dedication for the security community
Dependencies
~80–110MB
~2M SLoC