codenav
by ajacobm
Overview
Provides a comprehensive code analysis platform, extracting architectural insights, quality metrics, and enabling navigation for integration with AI/LLM agents or data science workflows.
Installation
uv run codenav --mode sse --host 0.0.0.0 --port 8000 --enable-cache --redis-url redis://localhost:6379 --verboseEnvironment Variables
- CODENAV_API_URL
- REDIS_URL
- REDIS_TEST_DB
- CODE_GRAPH_DEBUG
- REDIS_PASSWORD
- MEMGRAPH_URL
Security Notes
The server uses `CORSMiddleware` with `allow_origins=["*"]`, which is a critical security vulnerability for any publicly accessible API, enabling Cross-Site Scripting (XSS) attacks. The `RedisSerializer` has a fallback to `pickle.dumps`/`pickle.loads` if `msgpack` or `json` are not available. Unpickling untrusted data is a known remote code execution (RCE) vulnerability. While used internally, a compromise of Redis could lead to RCE. The HTTP server binds to `0.0.0.0` by default, exposing it to all network interfaces, which is dangerous in production without strict firewalling. The CDC manager publishes graph mutations to Redis Streams, which could be a data exfiltration risk if Redis is externally exposed without proper authentication/authorization. There's no explicit input sanitization on graph query parameters beyond FastAPI/Pydantic's basic validation, which could open doors to injection if not carefully implemented in the analysis engine.
Similar Servers
chunkhound
Provides local-first codebase intelligence, extracting architecture, patterns, and institutional knowledge for AI assistants.
cclsp
Integrate LLM-based coding agents with Language Server Protocol (LSP) servers to enable robust code navigation, symbol resolution, and refactoring across various programming languages.
In-Memoria
Provides persistent intelligence infrastructure for AI agents, enabling them to understand codebases, detect patterns, predict coding approaches, and generate context-aware insights.
codegraph-rust
Transforms codebases into a semantically searchable knowledge graph, enabling AI agents to reason about code relationships, architecture, and impact rather than just performing text-based searches.