Advanced autonomous security analysis platform integrating MAS, specialized adapters, and a dynamic RE-AI lab.
- Virtual Workspace System: Implemented
WorkspaceManagerandVirtualPathMapper.- Global Root: The system now dynamically maps
/workspace/to the invocation directory. - Session Persistence: Path mappings are consistent even across bridge restarts.
- Global Root: The system now dynamically maps
- Agent Orchestration: ReAct loop via
core/agent.pywithCodeBlockExtractorfor direct command execution. - Safety: Robust HITL approval system and per-session volume isolation.
- Persistent Virtual Workspaces: Decoupled tool operations from hardcoded project paths. Tools now use
workspace://protocol. - Global Invocation: Consola (
mcp_console.py) updated for remote orchestration via--urland--session. - Dynamic Container Remounting: Docker sandbox now hot-swaps volumes when engagement scope changes.
- RE-AI Sprints 0-4: Full Ghidra/Frida/ML pipeline operational.
- Technical Debt & Refactoring Plans: Defined five comprehensive refactoring specifications in
docs/plans/tech_debt/covering SRP violations, circular dependency resolution, error handling robustness, finding signatures, and structured CLI parsers. - Core Framework Bug-Fixes (2026-05-18): Resolved major issues in WebSocket direct-broadcast deduplication, fixed the
LLMFallbackParsermethod calling error, and corrected regex newlines inResultCompactor. - Modernized CLI Adapters & Pydantic Schemas: Standardized all key pentesting adapters (Nmap, Nikto, Nuclei, Gobuster, Masscan, Sqlmap) to parse machine-readable outputs natively into structured Pydantic schemas, with self-correcting LLM Fallback parsing under strict schema validation. Fixed critical SCM core validation mode logic bugs.
- Native Windows Tools execution (2026-05-26): Added capabilities for tools to break out of Docker and run natively on Windows host (
hash_crack_sha256), solving path coupling and isolation issues with tools like Hashcat. - Asynchronous Streaming Tools (2026-05-26): Re-engineered
live_packet_analysisto operate entirely in the background. It returns immediately to unblock the agent, streams decoded packets directly to the internal EventBus in batches, and simultaneously writes rolling.pcapfiles using ring buffers.
- Invocation Root: Everything in this repository is managed relative to where
main.pyis started. - Network Mode: Always check
HOSTvsSANDBOXbefore runningport_scan. - SCM Layer: SCM is managed and validated externally, which simplifies internal security gates.
- Investigation Philosophy: Investigations must generate findings that serve as action plans. Purely theoretical research without actionable paths violates operational standards.
- Path Portability: Hardcoded Windows paths break containers. Always use
workspace_manager.resolve_container()or theworkspace://URI. - Command Sanitization: LLMs often add
$or#to bash commands; theArgumentNormalizernow strips these. - Modular Boundaries: Designing abstract interfaces before addressing concrete dependencies is crucial to break Python circular import traps cleanly.
- Subscriber Signature Introspection: When augmenting framework callbacks to pass additional metadata (like
event_idfor deduplication), we can useinspect.signatureto dynamically inspect subscriber signatures. This maintains seamless backward-compatibility without breaking older or third-party subscriptions. - Tool Blocking: Network scanning/capture tools MUST NOT block the main thread. Streaming architectures utilizing the internal EventBus and background workers keep the orchestrator highly responsive.
- Reality Checks: Extended agent memory (like
MEMORY.mdandmemory/YYYY-MM-DD.md) acts as an operational anchor ("reality check") ensuring that deep, prolonged execution doesn't drift from core goals.
- Technical Debt Execution: Begin refactoring inline imports (
02_dependency_boundaries.md) and the God classPentestAgent(01_srp_agent_refactoring.md). - Cryptographic Finding Signatures: Replace fragile description substring deduplication in
tools/reporting.py. - XML/JSON Adapter Modernization: Move CLI tool adapters to natively parse machine-readable outputs.