Skip to content

Feature/add CWE endpoint backend#104

Merged
jllanosg merged 26 commits intodevelopmentfrom
feature/add-cwe-endpoint-backend
Oct 7, 2024
Merged

Feature/add CWE endpoint backend#104
jllanosg merged 26 commits intodevelopmentfrom
feature/add-cwe-endpoint-backend

Conversation

@iTzGooDLife
Copy link
Copy Markdown
Collaborator

@iTzGooDLife iTzGooDLife commented Sep 23, 2024

Descripción

Actualmente se tiene hardcodeado el endpoint /classify (recomendación de cwe) en el frontend, donde se accede directamente a la API del modelo.
Cambios realizados:

  • Se agrega el endpoint /classify al backend con sus permisos respectivos.
  • Ya no se expone el puerto 8000 del contenedor auditforge-cwe-api.
  • Se crea una nueva red llamada cwe-api, configurada para que solo el contenedor del Backend tenga acceso a la API.

Motivación y Contexto

El objetivo es permitir el acceso al modelo únicamente a través del backend, garantizando que solo se puedan realizar consultas si el usuario está autorizado.

¿Cómo ha sido probado?

Se realizan consultas al modelo mediante las funcionalidades añadir o editar vulnerabilidad usando usuarios con diferentes roles. Además, se debería probar hacer consultas desde contenedores fuera de la red creada (mongo o auditforge-frontend) usando curl o similar.

Capturas de pantalla (si es apropiado):

Tipos de cambios

  • Bugfix (cambio que no interrumpe el funcionamiento y que soluciona un problema)
  • New feature (cambio que no interrumpe el funcionamiento y que añade funcionalidad)
  • Breaking change (corrección o funcionalidad que podría causar que la funcionalidad existente cambie)

Lista de verificación:

  • Mi código sigue el estilo de código de este proyecto.
  • Mi cambio requiere una modificación en la documentación.
  • He actualizado la documentación en consecuencia.
  • Requiere nuevos tests.

Summary by CodeRabbit

Resumen por CodeRabbit

  • Nuevas Funciones

    • Se ha añadido una nueva ruta para la clasificación de vulnerabilidades.
    • Se ha introducido una nueva variable de configuración global para facilitar la conexión a la API CWE.
  • Mejoras de Configuración

    • Se ha creado un nuevo archivo de configuración para el contenedor "cwe-container" que define el host y el puerto.
  • Actualizaciones de Permisos

    • Se ha añadido un nuevo permiso 'classify:all' para el rol de usuario.
  • Cambios en la Conexión

    • Se ha modificado la configuración de la red en el archivo docker-compose.yml para incluir una nueva red cwe-api-network.
  • Mejoras de Seguridad

    • Se ha habilitado el soporte SSL para las conexiones del servidor Uvicorn y la aplicación FastAPI.
  • Actualización de Documentación

    • Se ha actualizado la documentación de instalación para incluir el nuevo contenedor de modelo AI y las instrucciones de configuración de certificados SSL.
  • Reformateo de Documentación

    • Se ha reestructurado la tabla de permisos en la documentación para incluir una nueva columna "classify" con el permiso classify:all.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Sep 23, 2024

Walkthrough

Walkthrough

Se han realizado cambios en varios archivos del proyecto para agregar una nueva funcionalidad relacionada con la clasificación de vulnerabilidades. Se ha introducido una nueva variable de configuración global y se ha añadido una nueva ruta que permite a los usuarios clasificar vulnerabilidades a través de un servicio externo. Además, se ha actualizado la configuración de Docker Compose para incluir una nueva red y se ha modificado el archivo de servicio del Dockerfile para habilitar conexiones seguras.

Changes

Archivos Resumen de cambios
backend/src/app.js, backend/src/routes/cwe.js Se añadió la variable global global.cweConfig que carga la configuración desde ./config/config-cwe.json y se registró una nueva ruta POST en /api/classify para la clasificación de vulnerabilidades.
backend/src/config/config-cwe.json Se introdujo un nuevo archivo de configuración config-cwe.json que define un objeto JSON para "cwe-container" con propiedades "host" y "port".
backend/src/lib/auth.js Se actualizó el objeto builtInRoles cambiando la declaración de var a const y se agregó el permiso 'classify:all' al rol user.
docker-compose.yml Se modificó para incluir una nueva red cwe-api-network, se actualizó el servicio auditforge-cwe-api para conectarse a esta nueva red y se eliminó la sección de puertos para este servicio.
cwe_api/Dockerfile, cwe_api/main.py Se mejoró el comando para iniciar el servidor Uvicorn en el Dockerfile para incluir configuración SSL y se añadió soporte SSL en el archivo main.py de FastAPI.
docs/installation.md Se actualizó la documentación de instalación para reflejar la adición de un cuarto contenedor, el modelo de IA, y se especificaron las ubicaciones de los certificados SSL.
docs/roles.md Se reformateó la tabla de permisos para incluir una nueva columna "classify" y se añadió el permiso classify:all en la categoría "Settings".

Possibly related PRs

  • ✨ feat: use .env file for API url #100: Los cambios en este PR implican la introducción de variables de entorno para las URL de la API, lo cual se relaciona con la nueva ruta añadida en el PR principal que utiliza cweConfig para la comunicación con el servicio externo.

Suggested labels

enhancement

Suggested reviewers

  • Icksir
  • massi-ponce
  • jllanosg
  • Sealra

Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

Share
Tips

Chat

There are 3 ways to chat with CodeRabbit:

‼️ IMPORTANT
Auto-reply has been disabled for this repository in the CodeRabbit settings. The CodeRabbit bot will not respond to your replies unless it is explicitly tagged.

  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    -- @coderabbitai generate unit testing code for this file.
    -- @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    -- @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    -- @coderabbitai read src/utils.ts and generate unit testing code.
    -- @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    -- @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 10

Review details

Configuration used: CodeRabbit UI
Review profile: ASSERTIVE

Commits

Files that changed from the base of the PR and between 5356ad6 and 7faa46c.

Files selected for processing (6)
  • backend/src/app.js (2 hunks)
  • backend/src/config/config-cwe.json (1 hunks)
  • backend/src/lib/auth.js (1 hunks)
  • backend/src/routes/cwe.js (1 hunks)
  • docker-compose.yml (2 hunks)
  • frontend/src/services/vulnerabilities.ts (1 hunks)
Additional context used
Biome
backend/src/routes/cwe.js

[error] 34-34: The catch clause that only rethrows the original error is redundant.

These unnecessary catch clauses can be confusing. It is recommended to remove them.

(lint/complexity/noUselessCatch)


[error] 2-2: This let declares a variable that is only assigned once.

'Response' is never reassigned.

Safe fix: Use const instead.

(lint/style/useConst)


[error] 3-3: This let declares a variable that is only assigned once.

'acl' is never reassigned.

Safe fix: Use const instead.

(lint/style/useConst)


[error] 15-15: Use let or const instead of var.

A variable declared with var is accessible in the whole body of the function. Thus, the variable can be accessed before its initialization and outside the block where it is declared.
See MDN web docs for more details.
Unsafe fix: Use 'const' instead.

(lint/style/noVar)

Additional comments not posted (6)
docker-compose.yml (3)

32-32: ¡Cambio aprobado!

La adición de la red cwe-api al servicio auditforge-backend es correcta y necesaria. Esta modificación permite que el backend se comunique con el servicio auditforge-cwe-api, lo cual es fundamental para implementar la nueva funcionalidad de clasificación de vulnerabilidades a través del backend.


50-50: ¡Excelente mejora de seguridad!

La eliminación de la sección ports y la adición de la red cwe-api al servicio auditforge-cwe-api son cambios cruciales para la seguridad. Estas modificaciones impiden el acceso directo al API de CWE desde fuera de la red Docker y garantizan que solo el backend pueda comunicarse con este servicio. Es exactamente lo que necesitábamos para reforzar la seguridad de nuestra aplicación.


Line range hint 1-59: ¡Resumen de los cambios en docker-compose.yml!

Los cambios realizados en este archivo son fundamentales para implementar la nueva funcionalidad de clasificación de vulnerabilidades de manera segura. La adición de la red cwe-api, la eliminación de la exposición de puertos para el servicio auditforge-cwe-api, y la conexión del backend a esta nueva red garantizan que el acceso al modelo solo sea posible a través del backend autenticado.

Estos cambios cumplen con los objetivos del PR y mejoran significativamente la seguridad de la aplicación. Asegúrese de probar exhaustivamente la conectividad entre los servicios y verificar que no haya acceso no autorizado al API de CWE desde fuera de la red Docker.

backend/src/app.js (1)

Line range hint 1-164: Verificación de seguridad necesaria para la nueva funcionalidad CWE.

La adición de la nueva ruta CWE y la configuración global podrían tener implicaciones de seguridad. Es crucial asegurarse de que estos cambios no introduzcan vulnerabilidades.

Realice las siguientes verificaciones:

  1. Confirme que la nueva ruta CWE implementa la autorización de usuario correctamente.
  2. Verifique que el acceso a la API CWE está restringido solo al contenedor backend.
  3. Asegúrese de que no haya exposición accidental de información sensible a través de la nueva configuración o ruta.

Ejecute el siguiente script para verificar la implementación de seguridad:

Analice los resultados y asegúrese de que se cumplan todas las medidas de seguridad necesarias.

Tools
Biome

[error] 32-33: Use let or const instead of var.

A variable declared with var is accessible in the whole module. Thus, the variable can be accessed before its initialization and outside the block where it is declared.
See MDN web docs for more details.
Unsafe fix: Use 'const' instead.

(lint/style/noVar)

frontend/src/services/vulnerabilities.ts (2)

Line range hint 239-252: ¡Bien hecho con el cambio de URL!

El cambio de la URL hardcodeada a una dinámica utilizando API_URL es una mejora significativa. Esto hace que el código sea más flexible y fácil de mantener, además de alinearse con los objetivos del PR de mover el endpoint /classify al backend.


238-238: Elimina el comentario obsoleto

El comentario en la línea 238 hace referencia a la URL hardcodeada anterior, que ya no es relevante después de tu cambio. Deberías eliminarlo para evitar confusiones.

Aplica este diff para eliminar el comentario obsoleto:

-// Agregar el endpoint al backend https://localhost:8000/classify

Likely invalid or redundant comment.

Comment thread backend/src/routes/cwe.js
Comment thread backend/src/routes/cwe.js
Comment thread backend/src/routes/cwe.js
Comment thread backend/src/routes/cwe.js Outdated
Comment thread docker-compose.yml Outdated
Comment thread backend/src/app.js Outdated
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

Review details

Configuration used: CodeRabbit UI
Review profile: ASSERTIVE

Commits

Files that changed from the base of the PR and between 7faa46c and 7d6abf6.

Files selected for processing (1)
  • backend/src/config/config-cwe.json (1 hunks)
Additional context used
Biome
backend/src/config/config-cwe.json

[error] 1-1: Expected an array, an object, or a literal but instead found '// Configuración para el contenedor CWE API'.

Expected an array, an object, or a literal here.

(parse)

Additional comments not posted (1)
backend/src/config/config-cwe.json (1)

3-8: La estructura y el contenido del archivo de configuración son correctos.

A pesar del problema de sintaxis mencionado anteriormente, la estructura y el contenido del archivo de configuración son adecuados y se alinean con los objetivos del PR. La configuración proporciona la información necesaria para conectarse al contenedor CWE API.

Tools
Biome

[error] 3-9: End of file expected

Use an array for a sequence of values: [1, 2]

(parse)

Comment thread backend/src/config/config-cwe.json Outdated
Comment thread backend/src/routes/cwe.js
Comment thread backend/src/routes/cwe.js Outdated
Comment thread backend/src/routes/cwe.js
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 5

Review details

Configuration used: CodeRabbit UI
Review profile: ASSERTIVE

Commits

Files that changed from the base of the PR and between 7d6abf6 and 9038c69.

Files selected for processing (2)
  • backend/src/config/config-cwe.json (1 hunks)
  • backend/src/routes/cwe.js (1 hunks)
Additional context used
Biome
backend/src/routes/cwe.js

[error] 39-39: The catch clause that only rethrows the original error is redundant.

These unnecessary catch clauses can be confusing. It is recommended to remove them.

(lint/complexity/noUselessCatch)


[error] 2-2: This let declares a variable that is only assigned once.

'Response' is never reassigned.

Safe fix: Use const instead.

(lint/style/useConst)


[error] 3-3: This let declares a variable that is only assigned once.

'acl' is never reassigned.

Safe fix: Use const instead.

(lint/style/useConst)


[error] 19-21: Use let or const instead of var.

A variable declared with var is accessible in the whole body of the function. Thus, the variable can be accessed before its initialization and outside the block where it is declared.
See MDN web docs for more details.
Unsafe fix: Use 'const' instead.

(lint/style/noVar)

Additional comments not posted (2)
backend/src/config/config-cwe.json (1)

1-6: La estructura y contenido del archivo de configuración son adecuados.

A pesar de la falta de documentación, la configuración en sí misma es correcta y se ajusta a los requisitos del PR. El host y el puerto especificados coinciden con la información proporcionada en los objetivos del PR.

backend/src/routes/cwe.js (1)

6-9: Configuración de ruta y verificación de permisos correcta

La configuración de la ruta '/api/classify' y la verificación de permisos están implementadas adecuadamente. No se detectan problemas en este segmento.

Comment thread backend/src/config/config-cwe.json
Comment thread backend/src/routes/cwe.js Outdated
Comment thread backend/src/routes/cwe.js
Comment thread backend/src/routes/cwe.js
Comment thread backend/src/routes/cwe.js
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

Review details

Configuration used: CodeRabbit UI
Review profile: ASSERTIVE

Commits

Files that changed from the base of the PR and between 9038c69 and ecb8a49.

Files selected for processing (1)
  • backend/src/routes/cwe.js (1 hunks)
Additional context used
Biome
backend/src/routes/cwe.js

[error] 2-2: This let declares a variable that is only assigned once.

'Response' is never reassigned.

Safe fix: Use const instead.

(lint/style/useConst)


[error] 3-3: This let declares a variable that is only assigned once.

'acl' is never reassigned.

Safe fix: Use const instead.

(lint/style/useConst)

Comment thread backend/src/routes/cwe.js
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

Review details

Configuration used: CodeRabbit UI
Review profile: ASSERTIVE

Commits

Files that changed from the base of the PR and between ecb8a49 and 464a29d.

Files selected for processing (1)
  • backend/src/routes/cwe.js (1 hunks)
Additional context used
Biome
backend/src/routes/cwe.js

[error] 2-2: This let declares a variable that is only assigned once.

'Response' is never reassigned.

Safe fix: Use const instead.

(lint/style/useConst)


[error] 3-3: This let declares a variable that is only assigned once.

'acl' is never reassigned.

Safe fix: Use const instead.

(lint/style/useConst)

Comment thread backend/src/routes/cwe.js
Comment thread backend/src/routes/cwe.js
Comment thread backend/src/routes/cwe.js Outdated
Comment thread backend/src/routes/cwe.js
@iTzGooDLife iTzGooDLife requested a review from caverav September 24, 2024 00:15
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

Review details

Configuration used: CodeRabbit UI
Review profile: ASSERTIVE

Commits

Files that changed from the base of the PR and between 464a29d and 03ba191.

Files selected for processing (2)
  • backend/src/routes/cwe.js (1 hunks)
  • docker-compose.yml (2 hunks)
Additional comments not posted (3)
docker-compose.yml (2)

32-32: ¡Cambio correcto en la configuración de red del backend!

La adición de la red cwe-api-network al servicio auditforge-backend es coherente con los objetivos del PR y permite la comunicación necesaria con el servicio de API CWE.


58-59: ¡Excelente implementación de la nueva red!

La adición de la red cwe-api-network con el driver bridge es apropiada y cumple con los objetivos del PR. Además, se ha implementado la sugerencia anterior de renombrar la red, lo cual mejora la consistencia en la nomenclatura.

backend/src/routes/cwe.js (1)

1-56: Aprobado: La implementación es correcta y cumple con los requisitos

El código agrega correctamente la nueva ruta /api/classify con la validación de permisos adecuada y manejo de errores. Se respetan las buenas prácticas en la validación de entrada, uso de const para variables no reasignadas y se implementa un timeout para la llamada externa.

@iTzGooDLife iTzGooDLife requested a review from caverav September 24, 2024 14:40
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 13

Outside diff range comments (2)
cwe_api/main.py (1)

Line range hint 1-46: Se requieren mejoras adicionales en seguridad y buenas prácticas.

Después de revisar el archivo completo, he identificado varias áreas que necesitan atención:

  1. La configuración de CORS permite solicitudes desde cualquier origen (allow_origins=["*"]). Esto es extremadamente permisivo y podría exponer tu API a riesgos de seguridad. Debes restringir los orígenes permitidos a los dominios específicos que necesitan acceder a tu API.

  2. El endpoint de clasificación de vulnerabilidades ("/classify") carece de validación y sanitización de entrada. Esto podría dejar tu aplicación expuesta a ataques de inyección o sobrecarga. Implementa una validación robusta para el campo 'vuln'.

  3. El endpoint raíz ("/") contiene un ejemplo de vulnerabilidad codificado. En un entorno de producción, esto no es una práctica recomendada y podría exponer información sensible.

Te sugiero implementar las siguientes mejoras:

  1. Restringe los orígenes CORS:
app.add_middleware(
    CORSMiddleware,
    allow_origins=["https://tudominio.com"],
    allow_credentials=True,
    allow_methods=["GET", "POST"],
    allow_headers=["*"],
)
  1. Añade validación de entrada:
from fastapi import HTTPException

@app.post("/classify")
async def classify_vulnerability(vuln_request: VulnerabilityRequest):
    vuln = vuln_request.vuln
    if not vuln or len(vuln) > 1000:  # Ajusta el límite según tus necesidades
        raise HTTPException(status_code=400, detail="Entrada inválida")
    result = classifier(vuln)
    return {"result": result}
  1. Elimina o modifica el endpoint raíz para no exponer ejemplos de vulnerabilidades:
@app.get("/")
async def read_root():
    return {"message": "API de clasificación de vulnerabilidades"}

Implementar estos cambios mejorará significativamente la seguridad y las buenas prácticas en tu aplicación.

Tools
Ruff

41-41: Possible binding to all interfaces

(S104)


45-45: Trailing comma missing

Add trailing comma

(COM812)

docs/roles.md (1)

Line range hint 1-135: Se requiere documentación adicional sobre la nueva funcionalidad de clasificación

Las modificaciones actuales solo añaden el nuevo permiso sin explicar su propósito o uso. Esto es insuficiente y no cumple con los objetivos del PR de actualizar la documentación adecuadamente.

Añade una sección que explique:

  1. El propósito de la nueva funcionalidad de clasificación.
  2. Cómo se relaciona con los cambios en el backend mencionados en los objetivos del PR.
  3. Cómo afecta a los diferentes roles y permisos.
  4. Cualquier consideración de seguridad relevante.

Esta información es crucial para que los usuarios y desarrolladores entiendan completamente los cambios implementados y su impacto en el sistema.

Review details

Configuration used: CodeRabbit UI
Review profile: ASSERTIVE

Commits

Files that changed from the base of the PR and between 03ba191 and 2358ff0.

Files ignored due to path filters (2)
  • cwe_api/ssl/cert.pem is excluded by !**/*.pem
  • cwe_api/ssl/key.pem is excluded by !**/*.pem
Files selected for processing (8)
  • backend/src/app.js (1 hunks)
  • backend/src/lib/auth.js (2 hunks)
  • backend/src/routes/cwe.js (1 hunks)
  • cwe_api/Dockerfile (1 hunks)
  • cwe_api/main.py (2 hunks)
  • docker-compose.yml (2 hunks)
  • docs/installation.md (1 hunks)
  • docs/roles.md (2 hunks)
Additional context used
Ruff
cwe_api/main.py

41-41: Possible binding to all interfaces

(S104)


45-45: Trailing comma missing

Add trailing comma

(COM812)

LanguageTool
docs/installation.md

[uncategorized] ~9-~9: A comma might be missing here.
Context: ... the root directory. !> For production usage make sure to change the certificates in...

(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)

Additional comments not posted (4)
docker-compose.yml (1)

32-32: ¡Cambio acertado en la configuración de red del backend!

La adición de la red cwe-api-network al servicio auditforge-backend es coherente con los objetivos del PR. Este cambio permite la comunicación necesaria entre el backend y el servicio de API CWE, lo cual es fundamental para la nueva funcionalidad de clasificación de vulnerabilidades.

cwe_api/main.py (1)

1-1: Importación de ssl aprobada.

La adición del módulo ssl es necesaria para la configuración de SSL que se implementa más adelante. Esta modificación está en línea con el objetivo de mejorar la seguridad de la aplicación.

docs/installation.md (1)

3-3: ¡Bien hecho! La actualización es precisa.

La inclusión del cuarto contenedor (modelo de IA) en la documentación es correcta y refleja con precisión los cambios realizados en el sistema.

backend/src/lib/auth.js (1)

35-35: ¡Bien hecho al cambiar var por const!

El cambio de var a const para la declaración de builtInRoles es una mejora significativa. Esto garantiza la inmutabilidad del objeto builtInRoles, lo cual es crucial para la seguridad y la prevención de modificaciones accidentales en tiempo de ejecución.

Comment thread docker-compose.yml
Comment thread docker-compose.yml
Comment thread cwe_api/main.py
Comment thread docs/installation.md
Comment thread docs/installation.md
Comment thread backend/src/lib/auth.js
Comment thread backend/src/app.js
Comment thread docs/roles.md
Comment thread docs/roles.md Outdated
Comment thread backend/src/routes/cwe.js
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

Review details

Configuration used: CodeRabbit UI
Review profile: ASSERTIVE

Commits

Files that changed from the base of the PR and between 2358ff0 and 95523e1.

Files selected for processing (1)
  • cwe_api/Dockerfile (1 hunks)
Additional context used
Hadolint
cwe_api/Dockerfile

[warning] 7-7: Pin versions in apt get install. Instead of apt-get install <package> use apt-get install <package>=<version>

(DL3008)


[info] 7-7: Avoid additional packages by specifying --no-install-recommends

(DL3015)


[info] 12-12: Avoid use of wget without progress bar. Use wget --progress=dot:giga <url>. Or consider using -q or -nv (shorthands for --quiet or --no-verbose).

(DL3047)


[warning] 15-15: Pin versions in pip. Instead of pip install <package> use pip install <package>==<version> or pip install --requirement <requirements file>

(DL3013)


[warning] 15-15: Avoid use of cache directory with pip. Use pip install --no-cache-dir <package>

(DL3042)


[info] 17-17: Multiple consecutive RUN instructions. Consider consolidation.

(DL3059)

Comment thread cwe_api/Dockerfile
Comment thread cwe_api/Dockerfile Outdated
Comment thread cwe_api/Dockerfile Outdated
@caverav caverav force-pushed the feature/add-cwe-endpoint-backend branch from 95523e1 to 2358ff0 Compare September 24, 2024 20:47
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

Review details

Configuration used: CodeRabbit UI
Review profile: ASSERTIVE

Commits

Files that changed from the base of the PR and between 95523e1 and c7d32b7.

Files selected for processing (1)
  • docs/roles.md (2 hunks)
Additional context used
Markdownlint
docs/roles.md

12-12: Expected: 0 or 2; Actual: 1
Trailing spaces

(MD009, no-trailing-spaces)

Additional comments not posted (1)
docs/roles.md (1)

51-51: ⚠️ Potential issue

Eliminar el permiso "classify:all" del rol de usuario inmediatamente

¿En qué estabas pensando al añadir "classify:all" al rol de usuario? Esto va completamente en contra de los objetivos del PR de reforzar la autorización de usuarios para las consultas al modelo. Has creado un agujero de seguridad enorme.

Elimina esta línea ahora mismo:

-- classify:all

Si realmente necesitas este permiso, añádelo a un rol más restrictivo como el de administrador. Pero piénsalo bien antes de hacerlo.

Likely invalid or redundant comment.

Comment thread docs/roles.md
Comment thread docs/roles.md
This was referenced Sep 24, 2024
@jllanosg
Copy link
Copy Markdown
Collaborator

jllanosg commented Oct 1, 2024

@iTzGooDLife cual es el estado de este PR? Aún veo comentarios sin resolver

@iTzGooDLife
Copy link
Copy Markdown
Collaborator Author

@iTzGooDLife cual es el estado de este PR? Aún veo comentarios sin resolver

El PR se encuentra finalizado, si los comentarios de coderabbit a los que te refieres eran los de la documentación, esto ya se encuentra listo. @jllanosg

Copy link
Copy Markdown
Collaborator

@sealra sealra left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 👍

Copy link
Copy Markdown
Collaborator

@jllanosg jllanosg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK. Intenté hacer ping desde el container del backend y no tuve problemas, distinto a cuando lo hice desde el container del front; por lo que el aislamiento aparentemente funciona bien.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants