caverav / auditforge

AuditForge is a pentest reporting application making it simple and easy to write your findings and generate a customizable report.
https://auditforge.feriadesoftware.cl
MIT License
20 stars 0 forks source link

Audits pareja 2 #59

Closed caverav closed 2 months ago

caverav commented 2 months ago

Descripción

Se realizaron varios cambios en el proyecto:

  1. Modificación en .gitignore: Se añadieron los archivos y carpetas .venv, .dccache, y .sourcery.yaml para excluirlos del control de versiones.
  2. Actualización de package.json en el frontend: Se añadió la dependencia lucide-react versión ^0.435.0.
  3. Cambios en componentes:
    • DropdownButton.tsx: Se exportó el tipo ListItem.
    • LoginForm.tsx y AuditSidebar.tsx: Se añadieron estos nuevos componentes.
    • Topmenu.tsx: Se añadió un nuevo componente que gestiona el menú superior.
    • AuditRoot.tsx, add-audits.tsx, add.tsx, edit.tsx, general.tsx, network.tsx: Se crearon nuevos componentes y rutas para gestionar la edición de auditorías, hallazgos y configuraciones generales.
  4. Modificación en main.tsx: Se añadieron nuevas rutas para las auditorías y sus detalles específicos.

Motivación y Contexto

Este cambio es necesario para:

¿Cómo ha sido probado?

Los cambios fueron probados en un entorno de desarrollo local. Se realizaron las siguientes pruebas:

Tipos de cambios

Lista de verificación:

jllanosg commented 2 months ago

No sé si tiene que ver con este PR pero el input de la tabla se superpone al modal de creación

image

jllanosg commented 2 months ago

No sé si tiene que ver con este PR pero el input de la tabla se superpone al modal de creación

image

Es por el relative en el className del SimpleInput;

hay que sacar un fix de esto

jllanosg commented 2 months ago

El selector de audit type al crear el audit está super bugeado, no se si soy solo yo pero me aparece de la siguiente manera:

  1. Al abrir el modal image

  2. Al seleccionar un audit type image

Luego, destacar que al cerrar el modal los datos que se estaban ingresando se mantienen, esto no es tan urgente/relevante pero al salirse de un modal que implica escribir datos de alguna manera, es necesario reiniciar los valores; que no se mantengan en este al volver a abrir el modal.

jllanosg commented 2 months ago

3 detalles:

  1. Al cargar un audit, el título trae el audit type entre paréntesis:

image

Pero mientras se carga se ven los paréntesis vacíos

image

  1. Al guardar un audit (apretar botón save) no hay feedback (falta implementar toast).

  2. Al crear un audit no se actualiza la tabla de audits.

jllanosg commented 2 months ago

También el botón de borrar audit en la tabla principal no funciona, no se si no fue implementado o es bug.

caverav commented 2 months ago

También el botón de borrar audit en la tabla principal no funciona, no se si no fue implementado o es bug.

No fue implementado, literalmente dejé un TODO:

jllanosg commented 2 months ago

También el botón de borrar audit en la tabla principal no funciona, no se si no fue implementado o es bug.

No fue implementado, literalmente dejé un TODO:

Dónde puedo leer el TODO?

caverav commented 2 months ago

Al editar un "audit", si el aplicativo no tiene algún parametro como "Clientes" agregado como data, entonces los cambios no se visualizan en la vista de editar. La imagen A muestra lo que se ve al editar un finding sin un cliente (se muestran los clientes en la imagen B). En la imagen C se muestra lo que se ve luego de agregar un cliente en data, sin haber hecho ningun cambio extra (En la imagen D se muestra que solo se agrego un cliente).

Esto re repite en "Company" y desconozco si ocurre también con otro campo.

Imagen A:

image

Imagen B:

image

Imagen C: image

Imagen D:

image

Sinceramente no entendí @iTzGooDLife , esto además suponiendo que con "finding" te refieres a un "audit", si no, menos entiendo

iTzGooDLife commented 2 months ago

Sinceramente no entendí @iTzGooDLife , esto además suponiendo que con "finding" te refieres a un "audit", si no, menos entiendo

No. al editar un audit, si no se tiene una compañia o un cliente agregado (lo que se hace en el apartado de data), entonces estos cambios no se reflejan. Por lo que el problema es que solo se muestran los campos si es que existen todos estos datos, lo cual no es el comportamiento esperado. Las fotos son bien representativas y la explicación no encuentro que esté mal, espero que con este contexto se entienda mejor.

image

iTzGooDLife commented 2 months ago

Sinceramente no entendí @iTzGooDLife , esto además suponiendo que con "finding" te refieres a un "audit", si no, menos entiendo

Para replicar el problema, puedes eliminar los clientes/compañias y luego intentar editar un audit.

jllanosg commented 2 months ago

Sinceramente no entendí @iTzGooDLife , esto además suponiendo que con "finding" te refieres a un "audit", si no, menos entiendo

No. al editar un audit, si no se tiene una compañia o un cliente agregado (lo que se hace en el apartado de data), entonces estos cambios no se reflejan. Por lo que el problema es que solo se muestran los campos si es que existen todos estos datos, lo cual no es el comportamiento esperado. Las fotos son bien representativas y la explicación no encuentro que esté mal, espero que con este contexto se entienda mejor.

image

Ahora entiendo, si no hay un cliente/company agregado en la sección data (que fue recién mergeada btw), el audit aparece "pelao"?

iTzGooDLife commented 2 months ago

Sinceramente no entendí @iTzGooDLife , esto además suponiendo que con "finding" te refieres a un "audit", si no, menos entiendo

No. al editar un audit, si no se tiene una compañia o un cliente agregado (lo que se hace en el apartado de data), entonces estos cambios no se reflejan. Por lo que el problema es que solo se muestran los campos si es que existen todos estos datos, lo cual no es el comportamiento esperado. Las fotos son bien representativas y la explicación no encuentro que esté mal, espero que con este contexto se entienda mejor. image

Ahora entiendo, si no hay un cliente/company agregado en la sección data (que fue recién mergeada btw), el audit aparece "pelao"?

Sii, eso mismo.

jllanosg commented 2 months ago

Sinceramente no entendí @iTzGooDLife , esto además suponiendo que con "finding" te refieres a un "audit", si no, menos entiendo

No. al editar un audit, si no se tiene una compañia o un cliente agregado (lo que se hace en el apartado de data), entonces estos cambios no se reflejan. Por lo que el problema es que solo se muestran los campos si es que existen todos estos datos, lo cual no es el comportamiento esperado. Las fotos son bien representativas y la explicación no encuentro que esté mal, espero que con este contexto se entienda mejor. image

Ahora entiendo, si no hay un cliente/company agregado en la sección data (que fue recién mergeada btw), el audit aparece "pelao"?

Sii, eso mismo.

Mmm, por lo que recuerdo pwndoc no te deja crear ni audit ni vulns sin agregar ciertos datos mínimos en data, podrías verificar cuales eran esos datos?

iTzGooDLife commented 2 months ago

Mmm, por lo que recuerdo pwndoc no te deja crear ni audit ni vulns sin agregar ciertos datos mínimos en data, podrías verificar cuales eran esos datos?

Efectivamente pwndoc tiene ese comportamiento y no recuerdo bien cuales eran, pero tengo seguridad que no eran esos.

iTzGooDLife commented 2 months ago

Mmm, por lo que recuerdo pwndoc no te deja crear ni audit ni vulns sin agregar ciertos datos mínimos en data, podrías verificar cuales eran esos datos?

Los datos obligatorios son Audit Types y Language.

image

Sealra commented 2 months ago

Al editar un audit, el campo de Client no es filtrado si anteriormente se selecciona Company, además, al seleccionar primero un Client, debería auto rellenarse el campo Company según la información del cliente.

image

image

No existe un modal preventivo de cambiar hacia otra vista como Vulnerabilities o Data para no perder el progreso antes de guardar. (adjunto como se gestiona en pwndoc)

image

Al cambiar la resolución de la página los inputs de fecha se solapan entre sí.

image

jllanosg commented 2 months ago

Al editar un "audit", si el aplicativo no tiene algún parametro como "Clientes" agregado como data, entonces los cambios no se visualizan en la vista de editar. La imagen A muestra lo que se ve al editar un finding sin un cliente (se muestran los clientes en la imagen B). En la imagen C se muestra lo que se ve luego de agregar un cliente en data, sin haber hecho ningun cambio extra (En la imagen D se muestra que solo se agrego un cliente).

Esto re repite en "Company" y desconozco si ocurre también con otro campo.

Imagen A:

image

Imagen B:

image

Imagen C: image

Imagen D:

image

@caverav esto fue solucionado?

iTzGooDLife commented 2 months ago

@caverav esto fue solucionado?

Revisé y si, fue solucionado.

caverav commented 2 months ago

Al editar un audit, si no tiene un cliente (de los que se crean en data), entonces la única opción en el dropdown es "unavailable" como se ve en la imagen A. El problema es que si se selecciona dicha opción, el aplicativo muestra el error de la imagen B.

Imagen A: image

Imagen B: image

Según se probó, este comportamiento solo sucede si no se selecciona una compañia en el dropdown de la izquierda, ya que si se selecciona una, se verá que ya no está la opción "unavailable" como se ve en la imagen C.

Imagen C: image

Cuál es el problema?

iTzGooDLife commented 2 months ago

Cuál es el problema?

La opción "unavailable" quiere decir que por el momento no está disponible y se arreglará o está hecho adrede?

caverav commented 2 months ago

Cuál es el problema?

La opción "unavailable" quiere decir que por el momento no está disponible y se arreglará o está hecho adrede?

es para indicar que no hay opciones disponibles, en el otro caso no es necesario porque no explota

iTzGooDLife commented 2 months ago

Cuál es el problema?

La opción "unavailable" quiere decir que por el momento no está disponible y se arreglará o está hecho adrede?

es para indicar que no hay opciones disponibles, en el otro caso no es necesario porque no explota

Mmm... Si no hay opciones disponibles, considero que no deberian haber opciones. De igual manera, si se prefiere dejar una opción como unavailable, la idea es que no explote la app al seleccionarla:/.

Sealra commented 2 months ago

No se verifica que el audit tenga una plantilla asociada antes de ejecutar la función generateReport(), resultando en esto en una nueva ventana:

image

iTzGooDLife commented 2 months ago

Lo que mencionaré ahora no considero que sea algo urgente, pero si se debería arreglar, si no se arreglará ahora se debería hacer issue:

Al cargar la vista de audits aparece el siguiente warning: image

En su momento me aparecio en vulnerabilities, pero no recuerdo como lo solucioné, intenté arreglarlo en esta rama, pero no he logrado encontrar el fix.

caverav commented 2 months ago

No se verifica que el audit tenga una plantilla asociada antes de ejecutar la función generateReport(), resultando en esto en una nueva ventana:

image

Crea un issue al respecto por favor, no creo que sea relevante para este sprint

iTzGooDLife commented 2 months ago

Si se agrega una nueva audit y se quiere agregar una segunda, entonces esta guarda los datos puestos anteriormente (lo cual no es el comportamiento esperado). No se solicitarán cambios para esto, pero lo quiero dar a conocer y se hará un issue al respecto (si no se soluciona para este sprint).

image

caverav commented 2 months ago

Si se agrega una nueva audit y se quiere agregar una segunda, entonces esta guarda los datos puestos anteriormente (lo cual no es el comportamiento esperado). No se solicitarán cambios para esto, pero lo quiero dar a conocer y se hará un issue al respecto (si no se soluciona para este sprint).

image

No te preocupes, solucionado

iTzGooDLife commented 2 months ago

No te preocupes, solucionado

cuchau