talyush/corvus_corax
GitHub: talyush/corvus_corax
Stars: 0 | Forks: 0
# Corvus Corax
Corvus Corax is a modular reconnaissance and analysis framework for cybersecurity learners and researchers.
It is designed to collect, normalize, and correlate reconnaissance data in a scalable core architecture, creating a unified intelligence flow.
**See the unseen systems.**
## Current Version
**v0.5 - Framework Stabilization & Nexus Foundation (Unified Intelligence Flow)**
v0.5 stabilizes the modular framework, standardizes all reconnaissance outputs, implements a single unified presentation layer (`OutputManager`), and embeds a robust entity-relationship zeka flow into `ContextManager` to serve as a complete foundation for future Nexus multi-context correlation engines.
## Unified Intelligence Flow (v0.5 Core Philosophy)
With v0.5, Corvus Corax transitions from a simple command-line recon toolset into a **unified intelligence framework**:
[ Module Executions ]
│
(Generates Standardized Payload)
│
┌───────────────────────┴───────────────────────┐
▼ ▼
[ OutputManager ] [ ContextManager ]
(Single Presentation) (Centralized Mind)
│ │
├─► Render formatted terminal output ├─► Map IPs / Domains
├─► Summarize discoveries ├─► Record Notes w/ Confidence
└─► Display local Notes & Nexus Relations └─► Graph Varlık Relationships
## What's New in v0.5
* **Universal Module Standardization:**
* All 10 modules subclass `BaseModule` and run via the strict `execute()` cycle.
* **`geoip.py`** has been completely standardized, removing raw dictionaries and utilizing standard wrapper classes.
* No direct `print()` statements exist inside module execution logic; all output is returned as data payloads.
* **Unified Output Schema:**
* Every single module now returns a predictable JSON structure for both success and error events.
* Includes target details, timestamping, local note structures, and dynamic relationship logs.
* **OutputManager Rewrite (Single Presentation Layer):**
* Acts as the central renderer and formatter.
* Formats console data beautifully and uniquely based on the active module (ports, subdomains, tech details, crawls, whois records).
* Ensures Windows-safe execution by removing decorative unicode emojis (preventing `UnicodeEncodeError` on Turkish cp1254 consoles).
* Prints local module notes and relationship links directly in real-time under each execution banner.
* **Nexus-Ready Context Manager Enhancements:**
* Both structural `notes` and entity `relations` inside the central zeka database now support the `confidence` float parameter (default `1.0`).
* Timestamp support has been standardized to ISO-8601 UTC.
* `merge_context()` has been upgraded to support both `"relations"` and `"relationships"` payload formats during context merges.
* **100% Modül Entegrasyonu:** Every single active module (including `netscan` and `geoip`) actively populates the context graph with semantic relationships (e.g., `located_in`, `has_active_host`, `uses_server`, `has_open_port`).
## Standard Output Schema (v0.5 Core Contract)
{
"module": "scan",
"target": "192.168.1.10",
"status": "success",
"data": {
"ip": "192.168.1.10",
"mode": "normal",
"open_ports": [
{"port": 22, "service": "SSH"},
{"port": 80, "service": "HTTP"}
]
},
"notes": [
{
"text": "Port 22 (SSH) discovered open on 192.168.1.10",
"source": "scan",
"severity": "info",
"confidence": 1.0,
"timestamp": "2026-05-24T17:15:00.000000+00:00"
}
],
"relationships": [
{
"src": {"type": "ip", "value": "192.168.1.10"},
"relation": "has_open_port",
"dst": {"type": "port", "value": "22/SSH"},
"evidence": "port scan",
"confidence": 1.0,
"timestamp": "2026-05-24T17:15:00.000000+00:00"
}
],
"timestamp": "2026-05-24T17:15:00.000000+00:00"
}
Error form:
{
"module": "geoip",
"target": "invalid-ip",
"status": "error",
"error": "Lookup failed",
"notes": [],
"relationships": [],
"timestamp": "2026-05-24T17:15:00.000000+00:00"
}
## Context Structure (Nexus-Ready Ontoloji)
{
"ips": {
"8.8.8.8": {
"ports": [],
"geo": {
"country": "United States",
"region": "California",
"city": "Mountain View",
"isp": "Google LLC",
"org": "Google LLC",
"lat": 37.4223,
"lon": -122.084
},
"hostname": "dns.google"
}
},
"domains": {
"dns.google": {
"ips": ["8.8.8.8"]
}
},
"notes": [
{
"text": "GeoIP intelligence gathered for 8.8.8.8: located in Mountain View, United States",
"source": "geoip",
"severity": "info",
"confidence": 1.0,
"timestamp": "2026-05-24T17:15:00.000000+00:00"
}
],
"relations": [
{
"src": {"type": "ip", "value": "8.8.8.8"},
"relation": "located_in",
"dst": {"type": "location", "value": "Mountain View, California, United States"},
"evidence": "geoip lookup",
"confidence": 1.0,
"timestamp": "2026-05-24T17:15:00.000000+00:00"
}
],
"meta": {
"created_at": "...",
"updated_at": "...",
"event_count": 5,
"recent_events": ["ip_added:8.8.8.8", "geo_updated:8.8.8.8", "note_added:geoip"]
}
}
## Configuration
Default runtime config lives in `config/config.json`:
{
"log_level": "INFO",
"threads": 20,
"timeout": 3.0,
"user_agent": "CorvusCorax/0.3 (+https://github.com/corvus-corax/project)",
"output_mode": "text",
"scan_defaults": {
"connect_timeout": 1.0,
"banner_timeout": 2.0,
"host_probe_ports": [80, 22],
"host_probe_timeout": 0.3,
"slow_scan_delay": 0.3,
"normal_port_range": [1, 1024],
"max_threads": 200
}
}
## Usage
corvus > help
corvus > version
corvus > scan 192.168.1.10 normal 1 1024
corvus > netscan 192.168.1.0/24
corvus > geoip 8.8.8.8
corvus > footprint example.com
corvus > whois example.com
corvus > subdomain example.com
corvus > tech example.com
corvus > crawl example.com
corvus > context
## Roadmap
* **Nexus Correlation Engine:** Active context graph queries and multi-source reasoning.
* **Risk Scoring Layer:** Algorithmic vulnerability and footprint risk assessment.
* **Structured Report Generation:** HTML/PDF intelligence reports.
* **Interactive Analyst Layer:** LLM-guided threat reasoning.
## Disclaimer
This project is for educational and authorized security research purposes only. Unauthorized use is strictly prohibited.