Guía de la versión preliminar · 0.1.0
Cómo se organiza CodeSecurity
Sigue los permisos del código, los trabajos duraderos y la evidencia de los analizadores a través del entorno local.
La referencia de la API está en inglés.
CodeSecurity es un entorno de seguridad local con dos clientes: el panel del navegador y la extensión VS Code. FastAPI sirve la aplicación React compilada y la API de control. PostgreSQL conserva el estado. Un worker separado ejecuta comandos duraderos contra el analizador, el actualizador de datos y el conector Advisor opcional.
Sigue un análisis desde el código guardado hasta la evidencia conservada. Cada servicio tiene una función acotada y su propio límite de permisos.
Sigue un análisis por el sistema
Clientes del operador
- Navegador
Sesión de operador asociada y entorno web.
- VS Code
Un perfil aprobado con capacidades acotadas.
Entrada local y estado duradero
- Relé loopback
Publica el punto TCP local sin secretos de ejecución ni montajes persistentes.
- FastAPI + React
Sirve el entorno y comprueba solicitudes de control. No tiene socket Docker.
- PostgreSQL
Conserva estado, comandos, trabajos, hallazgos y política.
- Worker de trabajos
Reclama trabajo duradero y coordina su resultado.
Servicios de ejecución acotada
- Analizador
Lee código autorizado y datos validados en una red interna.
- Actualizador
Obtiene datos revisados sin montar código de proyectos.
- Conector Advisor
Ejecuta solicitudes opcionales con concesiones exactas.
Datos y proveedor opcional
- Caché validada del analizador
Los lectores usan una generación seleccionada de solo lectura.
- Proveedor Ollama autorizado
Destino local o remoto autorizado explícitamente.
Conexiones
Navegador a Relé loopback
El navegador entra por el punto loopback.
VS Code a Relé loopback
El editor usa el mismo punto con sus propios permisos.
Relé loopback a FastAPI + React
El relé reenvía tráfico TCP al servicio de control.
FastAPI + React a PostgreSQL
El estado se lee y modifica mediante operaciones admitidas.
Worker de trabajos a PostgreSQL
Concesiones y resultados de trabajos persisten independientemente de la página.
Worker de trabajos a Analizador
El worker envía análisis acotados y recoge resultados.
Worker de trabajos a Actualizador
La preparación se ejecuta aparte del análisis de código.
Analizador a Caché validada del analizador
El analizador lee los datos validados seleccionados.
Actualizador a Caché validada del analizador
El actualizador valida y selecciona una generación completa.
Worker de trabajos a Conector Advisor
Advisor recibe una concesión exacta de proveedor.
Conector Advisor a Proveedor Ollama autorizado
Solo se usan el destino y alcance autorizados.
- El operador autoriza una raíz concreta o aporta una instantánea acotada admitida. Crear un proyecto registra su identidad; no concede acceso a otro directorio del host.
- La API comprueba alcance y preparación actuales. Registra juntos análisis y trabajo duradero.
- El worker reclama el trabajo con una concesión temporal. El analizador vuelve a validar el acceso y ejecuta herramientas habilitadas sobre la vista capturada y la generación validada de datos.
- La salida nativa se convierte en hallazgos acotados, normalizados y con datos sensibles ocultos. El worker valida manifiesto y páginas, y confirma evidencia admitida y punto de recuperación en PostgreSQL.
- Solo después confirma la recepción del resultado exacto al analizador para borrar salida temporal. La evidencia completa puede evaluarse con la política del proyecto.
- Los clientes recargan recursos autoritativos al cambiar trabajos y hallazgos. Consejos opcionales y decisiones humanas son acciones separadas; no aportan cobertura ausente.
El capítulo de trabajos y evidencias sigue los fallos y recuperaciones de estos pasos.
Sitúa los permisos en cada límite
Compose expone una dirección loopback mediante un relé TCP sin privilegios. El relé reenvía a la API y no tiene montajes persistentes ni configuración de secretos de ejecución. La API no tiene socket Docker. Sesiones de navegador y capacidades del editor entran por el mismo límite de control con reglas de autenticación distintas.
| Componente | Lecturas y escrituras | Función |
|---|---|---|
| API de control | PostgreSQL, instantáneas acotadas y artefactos admitidos | Autoriza comandos, sirve recursos y registra estado duradero. No tiene código de proyectos montado. |
| Worker | PostgreSQL y almacenamiento de artefactos; instantáneas de solo lectura | Gestiona ejecución, concesiones temporales, progreso, cancelación y persistencia. |
| Analizador | Código autorizado, instantáneas y caché validada de solo lectura; espacio temporal privado y salida de artefactos | Ejecuta herramientas fijadas y publica un protocolo de resultados acotado. |
| Actualizador de datos | Caché escribible; fuentes de descarga revisadas | Prepara y activa generaciones completas sin montar código de proyectos. |
| Conector Advisor | Autorización dedicada y rutas de proveedor aprobadas | Ejecuta trabajo Ollama local o remoto con permisos acotados. |
El analizador usa una red interna. Actualizador y conector tienen redes de salida separadas. El worker llama al conector para modelos locales y remotos; no envía prompts directamente a Ollama. Son límites definidos en el código de despliegue. Imágenes, montajes efectivos y salida real aún necesitan verificación en la instalación evaluada.
Consulta permisos de código y clientes para las decisiones y servicios internos para sus protocolos.
Separa tipos distintos de estado
| Pregunta | Estado autoritativo | Qué no implica |
|---|---|---|
| ¿Se aceptó el comando? | Identidad duradera de trabajo y comando | Que empezara o terminara correctamente. |
| ¿Está completo el análisis? | Estado, resultados de herramientas y resumen de cobertura | Que se comprobara toda vulnerabilidad posible. |
| ¿Cómo se revisó un hallazgo? | Decisión, razón y revisión | Que se verificara un archivo editado o que otro análisis herede la decisión. |
| ¿Cumple la evidencia la política? | Decisión del control sobre evidencia completa | Que haya protección instalada o un push autorizado. |
| ¿Puede continuar este push protegido? | Permisos actuales, árboles salientes, evidencia y política | Que el hook local sea imposible de eludir. |
La separación hace visible un análisis incompleto aunque todos sus hallazgos estén suprimidos. También evita sustituir comprobaciones de commits salientes anteriores por una aprobación del árbol de trabajo. Lee hallazgos, controles y protección Git para los flujos del operador.
Entiende qué se conserva
PostgreSQL conserva proyectos, análisis, hallazgos normalizados, políticas y trabajos. Volúmenes con nombre guardan artefactos admitidos, datos e instantáneas. Los informes nativos y la cola de transporte del analizador tienen vidas temporales acotadas. Abrir o cerrar una página no controla la vida del trabajo.
Es un diseño duradero, no una garantía de recuperación de desastres. El código documenta un auxiliar de copia experimental, no atómico y deshabilitado por defecto. Un procedimiento de recuperación probado necesita evidencia e inputs exactos propios.
Los perfiles opcionales de monitorización, proxy Git local y administración de base están desactivados por defecto. No forman parte de los permisos de la API principal ni convierten el entorno en un servicio alojado.
Lee la implementación por responsabilidad
| Área | Punto de partida |
|---|---|
| Servicios, montajes y redes | Compose |
| Control y persistencia | Aplicación API, modelo de datos |
| Ejecución y preparación | Arquitectura de análisis |
| Actualizaciones de navegador y editor | Eventos y reconciliación |
| Contribuciones | Puntos de extensión |
La política de seguridad define los supuestos de confianza. CodeSecurity no es un sandbox para repositorios hostiles. Aprobar un control es un resultado de política sobre evidencia admitida, no una garantía de código seguro.