Guía de la versión preliminar · 0.1.0
Ampliar el código con contratos claros
Localiza los límites de analizadores, evidencias, clientes y flujos que una contribución concreta debe conservar.
La referencia de la API está en inglés.
CodeSecurity ofrece puntos de contribución en su código: adaptadores y reglas, evidencia normalizada, flujos duraderos, entorno React y cliente VS Code. Son límites de implementación revisados. No hay SDK de plugins en ejecución, registro arbitrario de ejecutables ni integración genérica con claves API.
Elige una contribución acotada
- Localiza el contrato
Empieza por registro público, selección de adaptadores y esquema normalizado del hallazgo.
- Revisa inputs de herramientas y datos
Actualiza inputs fijados de compilación, avisos y requisitos de datos pertinentes.
- Implementa el adaptador acotado
Define argumentos, entorno e interpretación exactos. Conserva alcance, límites de salida y ocultación de patrones conocidos.
- Conecta preparación y cobertura
Expón datos ausentes, herramientas no disponibles y análisis limitado al preflight y al resultado.
- Ejercita el comportamiento cambiado
Usa fixtures sintéticos pequeños y controles concretos de parser, fallos, preparación y recogida de resultados.
- Revisa el cambio completo
Relaciona cambios de código y contratos afectados de interfaz y API antes de compartir la contribución.
| Área | Punto de partida | Contrato que conservar |
|---|---|---|
| Ejecución | Registro y adaptadores nativos | Identidad fijada, configuración controlada, ejecución acotada y resultados honestos de parser y cobertura. |
| Reglas y datos | Lock de herramientas, lock de reglas y validación de generaciones | Entradas revisadas, identidad, compatibilidad, vigencia y activación atómica. |
| Hallazgos y artefactos | Normalización y límite de artefactos | Ubicación y huella canónicas, metadatos acotados, ocultación de datos sensibles y publicación atestiguada. |
| Flujos duraderos | Repositorio de trabajos y ejecución del worker | Idempotencia, aislamiento por concesión e intento, plazos, cancelación y checkpoints recuperables. |
| Navegador | Aplicación React | Recarga autoritativa, revisiones esperadas, estados pendientes y de error útiles, y accesibilidad. |
| Editor | Código VS Code | Generación activa, Workspace Trust, identidad del código y acciones explícitas del host. |
Un pequeño fixture de regla o una corrección acotada de flujo puede ser un buen primer cambio. Describe el comportamiento corregido y la evidencia que lo demuestra. No conviertas categorías amplias como soporte SAST en promesas sobre todos los lenguajes o debilidades.
Cambia un analizador como modificación coordinada del código
El registro fijo valida versiones, comandos de versión, argumentos, pases complementarios, entornos y formatos contra el lock. Añadir un binario a una imagen no basta. La ejecución rechaza ID de analizador desconocidos.
- Revisa fuentes upstream, licencia, modificaciones e inputs exactos de compilación y descarga. Conserva avisos requeridos y vincula la identidad de imagen.
- Actualiza catálogo y locks con comando, formato y reglas o datos previstos. Separa preparación con red de ejecución sobre código.
- Implementa adaptador y parser con controles propios, límites finitos, ubicaciones canónicas y errores veraces. No conviertas salida malformada en cero hallazgos.
- Integra preparación y cobertura. Un requisito ausente debe verse antes de la admisión o en evidencia incompleta.
- Añade según proceda casos positivos, sin hallazgos, malformados, sobredimensionados, timeout y controles del código. Verifica la herramienta nativa además de fixtures del parser.
- Revisa normalización, ocultación sensible, huellas deterministas y publicación completa del worker. Un informe nativo bruto no es automáticamente un artefacto admitido.
La matriz de ejecución explica las diferencias: Trivy tiene dos pases; Grype depende de Syft; Checkov controla el descubrimiento de configuración; Bearer usa una compilación modificada. Actualizarlos exige evidencia nueva de esos contratos concretos.
Conserva el significado de la evidencia al añadir flujos
Un estado o acción nuevos pueden cambiar más que una etiqueta. Hallazgos tienen revisiones y decisiones; análisis tienen cobertura y control; trabajos tienen concesiones temporales y resultados finales. Mantén esos significados separados.
Aceptar riesgo excluye un hallazgo existente del control, pero no aporta cobertura ausente. Marcarlo corregido registra una decisión, pero no verifica código cambiado. Un análisis completo del árbol de trabajo no autoriza un push cuyos commits anteriores contienen otros árboles.
Los clientes deben contrastar REST tras eventos, resets y modificaciones, sin tomar avisos como recursos completos. Una respuesta obsoleta no debe sobrescribir una decisión nueva. Revisa contrato de revisiones API y comportamiento visible al navegar, reconectar, cancelar y fallar.
Mantén las integraciones dentro de los permisos existentes
Los clientes usan sesión y CSRF del navegador o alcances IDE exactos permitidos, más comprobaciones de propiedad de cada ruta. Los protocolos internos no son API de integración admitidas. Añadir una ruta no debe conceder accidentalmente a todo editor asociado acciones del propietario o montajes más amplios.
Las extensiones Advisor deben conservar la divulgación. Una confirmación remota individual vincula destino, modelo, configuración, consentimiento e identidad del prompt; resolver automáticamente un análisis completo sigue siendo solo local. El conector actual habla rutas Ollama revisadas: otro proveedor exige cambiar código y contrato de seguridad, no un truco de configuración no documentado.
Usa permisos de código y servicios internos para identificar llamante y límite de confianza antes de proponer cambios.
Informa de la evidencia según lo que demuestra
Las pruebas unitarias concretas establecen los casos ejecutados. Los fixtures nativos establecen comportamiento de las herramientas y datos exactos usados. Los recorridos de navegador establecen el flujo observado. Egress de imagen, hook del host y aceptación de plataforma requieren observaciones propias. Ninguno equivale a aceptación completa de versión.
Hay pruebas concretas de propiedad de trabajos, eventos, admisión de artefactos y controles de analizadores definidos en código. Su existencia orienta a colaboradores; no afirma que se ejecutaran para un cambio nuevo.
Sigue la guía de contribución, comprobaciones de desarrollo y límites de versión. Registra código e inputs exactos probados, resultado observado y carencias restantes.