✨ feat: Add functionality to add new findings in audits#128
✨ feat: Add functionality to add new findings in audits#128jllanosg merged 4 commits intodevelopmentfrom
Conversation
📝 WalkthroughWalkthroughSe han realizado cambios significativos en varios componentes del frontend, incluyendo la adición de una nueva propiedad Changes
Possibly related PRs
Suggested reviewers
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? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
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)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Actionable comments posted: 11
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
📒 Files selected for processing (5)
- frontend/src/components/navbar/AuditSidebar.tsx (4 hunks)
- frontend/src/routes/audits/edit/AuditRoot.tsx (4 hunks)
- frontend/src/routes/audits/edit/findings/add/NewVulnButton.tsx (1 hunks)
- frontend/src/routes/audits/edit/findings/add/add.tsx (5 hunks)
- frontend/src/services/audits.ts (3 hunks)
🧰 Additional context used
🔇 Additional comments (9)
frontend/src/routes/audits/edit/findings/add/NewVulnButton.tsx (1)
8-8: ¡Excelente implementación del prop onClick!Has aplicado correctamente el prop
onClickal componentePrimaryButton. Esta modificación permite que el componente padre controle el comportamiento del botón, lo cual es exactamente lo que se esperaba con el cambio en la firma del componente.frontend/src/routes/audits/edit/AuditRoot.tsx (5)
71-72: Verifica quefinding.cvssv3siempre tenga un valor válido.Al usar
cvssStringToSeverity(finding.cvssv3), asegúrate de quefinding.cvssv3no sea nulo ni inválido para evitar excepciones no controladas.
80-80: Confirma que la eliminación de otras opciones de ordenamiento es intencional.Al restringir
sortOptionssolo a 'CVSS Score', verifica que esto no afecte otras partes de la aplicación que dependían de más opciones de ordenamiento.
84-84: Buena adición de la opción 'Ascending' ensortOrderOptions.La inclusión de la opción ascendente mejora la usabilidad al permitir ordenar en ambos sentidos.
24-30: Actualización correcta de la estructura de datosfindings.La inclusión del campo
identifierpermite una identificación única de cada hallazgo, lo cual es esencial para su gestión.
87-87: Asegura el manejo correcto deconnectedUserscuando está vacío.Al inicializar
connectedUserscomo un arreglo vacío, verifica que los componentes que lo utilizan funcionen correctamente sin datos y manejen adecuadamente este caso.frontend/src/routes/audits/edit/findings/add/add.tsx (1)
168-168: Verificar el valor pasado al manejadoronChange.En la línea 168, el manejador
onChangeestá definido comoe => setNewVulnTitle(e). Por favor, verifica queees el valor del input y no el evento. Siees el evento, deberías utilizare.target.valuepara obtener el valor introducido por el usuario.frontend/src/components/navbar/AuditSidebar.tsx (1)
22-22: La adición de la propiedadidentifieres acertada.Incluir
identifieren el tipoFindingmejora la identificación y manejo de los hallazgos.frontend/src/services/audits.ts (1)
240-248: Definición correcta del tipo AuditFinding.La nueva definición del tipo
AuditFindingestá bien estructurada y cumple con las convenciones del proyecto.
There was a problem hiding this comment.
Actionable comments posted: 3
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
📒 Files selected for processing (3)
- frontend/src/components/navbar/AuditSidebar.tsx (2 hunks)
- frontend/src/routes/audits/edit/AuditRoot.tsx (4 hunks)
- frontend/src/services/audits.ts (3 hunks)
🧰 Additional context used
🔇 Additional comments (8)
frontend/src/routes/audits/edit/AuditRoot.tsx (2)
24-30:⚠️ Potential issueInconsistencia de tipos en la asignación de 'id'
En la definición del estado
findings(líneas 24-30~), el campoidse declara comonumber. Sin embargo, en el mapeo de los datos (línea 75~), se asignafinding.identifier, que es de tipostring, al campoid. Esto puede causar errores de tipo. Por favor, asegúrese de que los tipos sean consistentes y realice las correcciones necesarias.Para solucionar este problema, puede cambiar el tipo de
idastringen la definición del estado:24 { 25- id: number; 26+ id: string; 27 name: string; 28 category: string; 29 severity: string; 30 identifier: string; 31 }[]Also applies to: 75-76
44-64: 🧹 Nitpick (assertive)
⚠️ Potential issueRevisar el manejo de puntajes CVSS de 0.0
Actualmente, si el puntaje CVSS es exactamente
0.0, la funcióncvssStringToSeverityretornará'I'(Informational). Sin embargo, según las especificaciones de CVSS, un puntaje de0.0corresponde a'None'. Por favor, confirme que este comportamiento es el deseado y ajuste la función si es necesario.Además, para optimizar las evaluaciones condicionales, considere utilizar
else ifen lugar de múltiplesif, ya que las condiciones son mutuamente excluyentes.Puede aplicar el siguiente cambio:
48 if (score >= 9.0) { 49 return 'C'; 50 } 51- if (score >= 7.0) { + else if (score >= 7.0) { 52 return 'H'; 53 } 54- if (score >= 4.0) { + else if (score >= 4.0) { 55 return 'M'; 56 } 57- if (score >= 0.1) { + else if (score >= 0.1) { 58 return 'L'; 59 } + } else if (score === 0.0) { + return 'N'; // 'None' severity 60 }frontend/src/components/navbar/AuditSidebar.tsx (4)
20-20: Uso adecuado de 'identifier' en el tipo 'Finding'.La adición de la propiedad
identifier: string;al tipoFindinges correcta y permite una identificación más precisa de los hallazgos.
56-62: Excelente implementación de 'severityColorMap'.Has simplificado correctamente el código reemplazando el
switchpor un objeto de mapeo para asociar las severidades con sus colores correspondientes. Esto mejora la legibilidad y el mantenimiento del código.
64-66: Uso eficiente de 'getSeverityColor' con mapeo.La función
getSeverityColorahora utiliza el objeto de mapeo eficientemente, lo cual es una buena práctica que optimiza el rendimiento del código.
79-87: Definición apropiada de 'severityOrder' para la ordenación.La creación del objeto
severityOrderes correcta y facilita la ordenación de los hallazgos según su severidad.frontend/src/services/audits.ts (2)
240-248: Definición correcta del tipo 'AuditFinding'La nueva declaración del tipo
AuditFindingestá bien estructurada y mejora la consistencia de los datos relacionados con los hallazgos en auditorías.
590-615: Implementación correcta de la funciónaddFindingLa función
addFindingestá bien implementada y sigue las buenas prácticas en el manejo de operaciones asíncronas y gestión de errores.
There was a problem hiding this comment.
Actionable comments posted: 1
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
📒 Files selected for processing (2)
- frontend/src/components/navbar/AuditSidebar.tsx (2 hunks)
- frontend/src/routes/audits/edit/findings/add/add.tsx (5 hunks)
🧰 Additional context used
🔇 Additional comments (5)
frontend/src/routes/audits/edit/findings/add/add.tsx (2)
117-131: El manejo de errores sigue siendo inadecuado en el bloque.catchEl comentario de revisión previo sobre mejorar el manejo de errores aún es aplicable aquí. Deberías notificar al usuario cuando ocurra un error, no solo registrar el error en la consola.
140-152: El manejo de errores sigue siendo inadecuado en el bloque.catchEl comentario de revisión previo sobre mejorar el manejo de errores aún es aplicable aquí. Deberías notificar al usuario cuando ocurra un error, no solo registrar el error en la consola.
frontend/src/components/navbar/AuditSidebar.tsx (3)
20-20: Buena adición de la propiedadidentifieral tipoFindingLa inclusión de
identifierayudará a identificar de forma única los hallazgos, mejorando su manejo y referencia en el código.
56-66: Implementación efectiva deseverityColorMapygetSeverityColorLa refactorización utilizando un mapa para asociar severidades con colores mejora la legibilidad y facilita el mantenimiento futuro del código.
88-93:⚠️ Potential issueRevisar la lógica de ordenamiento de los hallazgos
La asignación de
orderMultiplierpodría estar invertida. Actualmente, cuandosortOrderes'Ascending',orderMultiplierse establece en-1. Esto puede provocar que el ordenamiento de los hallazgos no refleje el orden ascendente esperado según su severidad.Para confirmar si los hallazgos se están ordenando correctamente por severidad, puedes ejecutar el siguiente script:
Sí, eso es un pendiente pero no creo conveniente incluirlo en el PR, ya que al no ser hijo un componente del otro, no se pueden pasar estados fácilmente, así que se debe dejar pendiente como issue |
There was a problem hiding this comment.
Actionable comments posted: 3
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
📒 Files selected for processing (2)
- frontend/src/routes/audits/edit/findings/add/add.tsx (5 hunks)
- frontend/src/services/audits.ts (3 hunks)
🧰 Additional context used
🔇 Additional comments (4)
frontend/src/routes/audits/edit/findings/add/add.tsx (1)
194-194:⚠️ Potential issueCorregir el identificador en
keyExtractorpara evitar errores.En el componente
UITable, estás utilizandoitem._idenkeyExtractor, pero en tus datos, los objetos tienen la propiedadid. Esto puede causar problemas al renderizar la tabla.Realiza el siguiente cambio:
- keyExtractor={item => item._id} + keyExtractor={item => item.id}Likely invalid or redundant comment.
frontend/src/services/audits.ts (3)
240-248: Definición del tipoAuditFindingEl tipo
AuditFindingestá bien definido, incluyendo los campos necesarios para representar un hallazgo en una auditoría.
536-597: Actualización adecuada para soportar múltiples locales en los detalles de vulnerabilidadesLa función
addVulnahora recibelocalecomo parámetro y busca el detalle correspondiente endata.details, mejorando la funcionalidad para soportar múltiples idiomas.
599-624: FunciónaddFindingimplementada correctamenteLa función
addFindingpermite añadir un nuevo hallazgo al informe, enviando el título al servidor como se esperaba.
jllanosg
left a comment
There was a problem hiding this comment.
La funcionalidad está OK; solamente cambiar el font weight para mejorar el contrase.
There was a problem hiding this comment.
Actionable comments posted: 3
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
⛔ Files ignored due to path filters (1)
backend/report-templates/liccc.docxis excluded by!**/*.docx
📒 Files selected for processing (3)
- frontend/src/components/navbar/AuditSidebar.tsx (2 hunks)
- frontend/src/routes/audits/edit/findings/add/add.tsx (5 hunks)
- frontend/src/services/audits.ts (3 hunks)
🧰 Additional context used
🔇 Additional comments (4)
frontend/src/routes/audits/edit/findings/add/add.tsx (1)
194-194:⚠️ Potential issueCorregir
keyExtractorpara usaritem.iden lugar deitem._idLa función
keyExtractorestá accediendo aitem._id, pero según la definición deTableData, el identificador correcto esid. Esto puede provocar errores al renderizar la tabla.Aplica este cambio para corregir el identificador:
- keyExtractor={item => item._id} + keyExtractor={item => item.id}Likely invalid or redundant comment.
frontend/src/components/navbar/AuditSidebar.tsx (2)
176-176: Utilizafinding.identifiercomo clave única en la listaSi
identifieres único para cadafinding, usarlo comokeypuede evitar posibles conflictos en el renderizado de listas en React.
88-93: Evita mutar directamente las propsfindingsal ordenarMutar directamente las props puede causar comportamientos inesperados en React. Es recomendable crear una copia de
findingsantes de ordenarlos.frontend/src/services/audits.ts (1)
240-248: Definición correcta del tipo 'AuditFinding'La nueva definición del tipo
AuditFindingestá bien estructurada y cumple con las convenciones establecidas.
There was a problem hiding this comment.
Actionable comments posted: 4
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
📒 Files selected for processing (2)
- frontend/src/routes/audits/edit/findings/add/add.tsx (6 hunks)
- frontend/src/services/audits.ts (3 hunks)
🧰 Additional context used
There was a problem hiding this comment.
Actionable comments posted: 4
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
📒 Files selected for processing (2)
- frontend/src/routes/audits/edit/findings/add/add.tsx (7 hunks)
- frontend/src/services/audits.ts (3 hunks)
🧰 Additional context used
🔇 Additional comments (4)
frontend/src/routes/audits/edit/findings/add/add.tsx (3)
154-154: El comentario anterior sobre localizar el texto del botón enrowActionssigue siendo válido. Deberías utilizart('add')en lugar de la cadena hardcodeada'Add'para garantizar la localización.
159-170: El comentario anterior sobre validar el camponewVulnTitleantes de agregar una nueva vulnerabilidad aún es aplicable. Asegúrate de verificar quenewVulnTitleno esté vacío antes de llamar aaddFindingpara evitar crear hallazgos sin título.
132-150: El comentario anterior sobre la necesidad de resetearnewVulnTitleenhandleAddVulnsigue siendo relevante. Dado quenewVulnTitleno se utiliza en este contexto, es posible que no sea necesario resetearlo aquí.frontend/src/services/audits.ts (1)
240-248: Definición correcta del tipo 'AuditFinding'El nuevo tipo
AuditFindingestá bien definido y mejora la estructura de los hallazgos asociados a las auditorías.
|
LGTM, aprobaré luego de que @massi-ponce haga implementación de los campos faltantes al agregar findings. |
There was a problem hiding this comment.
Actionable comments posted: 3
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
📒 Files selected for processing (1)
- frontend/src/services/audits.ts (4 hunks)
🧰 Additional context used
🔇 Additional comments (2)
frontend/src/services/audits.ts (2)
12-13: Los nuevos campos añadidos al tipoFindingson adecuadosLa incorporación de
remediationComplexityypriorityal tipoFindingmejora la especificación de los hallazgos.
242-250: Definición correcta del nuevo tipoAuditFindingLa creación del tipo
AuditFindingaporta claridad y estructura al manejo de hallazgos en auditorías.
There was a problem hiding this comment.
Actionable comments posted: 5
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
📒 Files selected for processing (2)
- frontend/src/i18n/en-US/index.ts (1 hunks)
- frontend/src/routes/audits/edit/AuditRoot.tsx (5 hunks)
🧰 Additional context used
🔇 Additional comments (1)
frontend/src/i18n/en-US/index.ts (1)
Line range hint
1-148: El resto del archivo parece estar en orden.He revisado minuciosamente el resto del archivo y no he encontrado más problemas o redundancias. La estructura y organización de las cadenas de localización parecen adecuadas.
Also applies to: 150-605
…oast call from AuditRoot component
There was a problem hiding this comment.
Actionable comments posted: 1
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
📒 Files selected for processing (1)
- frontend/src/routes/audits/edit/AuditRoot.tsx (6 hunks)
🧰 Additional context used
🔇 Additional comments (2)
frontend/src/routes/audits/edit/AuditRoot.tsx (2)
1-6: Importaciones añadidas correctamenteLas importaciones de
Cvss3P1desde'ae-cvss-calculator'ytoastdesde'sonner'están integradas adecuadamente para su uso en el componente.
88-92: Las opciones de ordenamiento se han actualizado correctamenteLa inclusión de la opción
'Ascending'ensortOrderOptionsmejora la experiencia del usuario al permitir ordenar los resultados en orden ascendente.
Pienso esto mismo, los cambios siento que deberían visualizarse sin refrescar la página |
Added a 'category' field to the vulnerability details object in audits.ts and vulnerabilities.ts files to categorize vulnerabilities, defaulting to 'No Category' if not specified.
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Outside diff range and nitpick comments (10)
frontend/src/services/vulnerabilities.ts (4)
12-12: ¡Bien hecho! Pero considera agregar una descripción.La adición del campo
categoryes una buena mejora para la gestión de vulnerabilidades. Sin embargo, sería beneficioso agregar un comentario que describa el propósito y el uso previsto de este campo para mejorar la claridad del código.Considera agregar un comentario descriptivo sobre el campo
category:/** Categoría de la vulnerabilidad, útil para clasificación y filtrado */ category?: string;
Line range hint
22-22: Inconsistencia en la definición del campocategory.El campo
categoryenNewVulnerabilityestá definido comostring | null, lo cual difiere de su definición enDetails. Esto podría llevar a inconsistencias en el manejo de datos.Te sugiero cambiar la definición para que sea consistente con
Details:category?: string;Esto permitirá una mayor flexibilidad y coherencia en el manejo de la categoría en toda la aplicación.
Line range hint
32-32: Inconsistencia en la definición del campocategoryenUpdateVulnerabilityData.La definición actual del campo
categorycomostring | nullenUpdateVulnerabilityDatano es consistente con su definición enDetails. Esto podría causar problemas de tipado y manejo de datos inconsistente.Te recomiendo cambiar la definición para que sea idéntica a la de
Details:category?: string;Esta modificación asegurará una mayor consistencia en el manejo de la categoría a lo largo de toda la aplicación y evitará posibles errores de tipado.
Line range hint
1-338: Revisión general de los cambios envulnerabilities.tsLos cambios realizados para agregar el campo
categoryson un buen paso hacia la mejora de la gestión de vulnerabilidades. Sin embargo, hay algunas inconsistencias en la implementación que deben ser abordadas:
- La definición de
categoryvaría entre los tiposDetails,NewVulnerability, yUpdateVulnerabilityData.- No se han realizado cambios en las funciones de servicio API para manejar el nuevo campo
category.Para completar esta funcionalidad, considera:
- Unificar la definición de
categoryen todos los tipos relacionados.- Actualizar las funciones de servicio API (como
postVulnerability,updateVulnerability) para manejar el nuevo campocategory.- Asegurarte de que el backend esté preparado para recibir y procesar el campo
category.- Agregar pruebas unitarias para verificar el correcto manejo del nuevo campo en todas las operaciones CRUD.
¿Necesitas ayuda para implementar estos cambios adicionales?
frontend/src/routes/audits/edit/AuditRoot.tsx (5)
Line range hint
1-1: Importación de Cvss3P1 y actualización del estado de findings: Aprobado con sugerenciaLa adición de
Cvss3P1y la actualización del estadofindingsson cambios positivos que mejoran la funcionalidad y la estructura de datos. Sin embargo, hay una oportunidad de mejora.Considera usar un tipo personalizado para la estructura de
findingspara mejorar la legibilidad y la reutilización. Podrías definirlo así:type Finding = { id: number; name: string; category: string; severity: string; identifier: string; }; const [findings, setFindings] = useState<Finding[]>([]);Esto hará que el código sea más mantenible a largo plazo.
Also applies to: 28-36
Line range hint
38-55: Función cvssStringToSeverity: Necesita mejorasLa función
cvssStringToSeverityes una adición importante, pero tiene algunas deficiencias que deben abordarse:
- No manejas el caso de un puntaje CVSS de 0.0, que según el estándar CVSS corresponde a una severidad 'None'.
- El manejo de errores actual no es suficiente para un entorno de producción.
Implementa estos cambios para mejorar la función:
const cvssStringToSeverity = (cvssScore: string): string => { try { const cvssVector = new Cvss3P1(cvssScore); const score = cvssVector.calculateExactOverallScore(); if (score >= 9.0) return 'C'; if (score >= 7.0) return 'H'; if (score >= 4.0) return 'M'; if (score > 0.0) return 'L'; if (score === 0.0) return 'N'; return 'I'; } catch (error) { console.error('Vector CVSS inválido:', error); // Considera lanzar un error o devolver un valor por defecto return 'I'; } };Además, deberías considerar implementar un sistema de logging más robusto para errores en producción.
Line range hint
57-74: Manejo de errores en useEffect: Necesita mejoraEl
useEffectpara obtener y mapear los datos del audit tiene un problema crítico en el manejo de errores:El uso de
console.errorpara manejar errores no es suficiente en un entorno de producción. Esto podría resultar en errores silenciosos que afecten la experiencia del usuario.Implementa un manejo de errores más robusto:
useEffect(() => { getAuditById(auditId) .then(audit => { setFindings( audit.datas.findings.map((finding: Finding) => ({ id: finding.identifier, name: finding.title, category: 'No Category', severity: cvssStringToSeverity(finding.cvssv3), identifier: finding._id, })) ); setAuditName(audit.datas.name); }) .catch(error => { console.error('Error al obtener datos del audit:', error); // Notificar al usuario sobre el error toast.error(t('err.failedToFetchAuditData')); // Considerar establecer un estado de error }); }, [auditId]);Esto proporcionará una mejor experiencia de usuario y facilitará la depuración de problemas.
Line range hint
89-131: Funcionalidad de exportación de PDF: Aprobado con sugerencias de mejoraLa implementación de la exportación de PDF encriptado es una adición valiosa, pero hay algunas áreas que pueden mejorarse:
- Considera extraer la lógica de generación de PDF a un servicio separado para mejorar la organización del código.
- El mensaje de error 'Error generating PDF' está en inglés, mientras que otros mensajes usan la función de traducción
t(). Mantén la consistencia usando:throw new Error(t('err.errorGeneratingPdf'));
- Los comentarios en inglés (líneas 151-153) deberían traducirse al español para mantener la consistencia con el resto del código.
Implementa estos cambios para mejorar la calidad y mantenibilidad del código.
Also applies to: 151-153
Line range hint
205-237: Estructura del componente y gestión de props: Sugerencias de mejoraLa estructura del componente es sólida, pero hay oportunidades de mejora:
Considera usar PropTypes o TypeScript para tipar las props de los componentes hijos, especialmente
AuditSidebar. Esto mejorará la robustez y la documentación del código.Hay muchas props pasadas a
AuditSidebar. Podrías reducir el prop drilling usando el patrón de composición o Context API de React. Por ejemplo:const AuditContext = React.createContext(); // En el componente padre <AuditContext.Provider value={{ activeItem, connectedUsers, fileTypes, findings, // ... otras props }}> <AuditSidebar /> </AuditContext.Provider> // En AuditSidebar const { activeItem, connectedUsers, /* ... */ } = useContext(AuditContext);Esto hará que tu código sea más mantenible y escalable a largo plazo.
frontend/src/services/audits.ts (1)
587-587: ¡Bien hecho! Adición de categoría a los hallazgos.La inclusión del campo
categoryen la solicitud POST es una mejora valiosa. Permite una mejor organización y filtrado de las vulnerabilidades en los informes de auditoría. El uso del operador de coalescencia nula??es apropiado para manejar casos donde la categoría no está definida.Sin embargo, para mejorar la claridad del código, considera extraer esta lógica a una constante con un nombre descriptivo. Esto haría que la intención del código sea aún más evidente.
Podrías refactorizar el código de la siguiente manera:
+ const findingCategory = data.details[detailIndex].category ?? 'No Category'; body: JSON.stringify({ // ... otros campos ... - category: data.details[detailIndex].category ?? 'No Category', + category: findingCategory, // ... resto del cuerpo ... }),Esta pequeña refactorización mejora la legibilidad del código sin cambiar su funcionalidad.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (4)
- frontend/src/i18n/en-US/index.ts (0 hunks)
- frontend/src/routes/audits/edit/AuditRoot.tsx (1 hunks)
- frontend/src/services/audits.ts (1 hunks)
- frontend/src/services/vulnerabilities.ts (1 hunks)
💤 Files with no reviewable changes (1)
- frontend/src/i18n/en-US/index.ts
🧰 Additional context used
iTzGooDLife
left a comment
There was a problem hiding this comment.
LGTM. Por favor al mergear hacer el issue para el refresco de los findings al momento de ser agregadas.










Descripción
Este pull request introduce nuevas funcionalidades y mejoras en la gestión de hallazgos en auditorías. Se ha mejorado la visualización de los hallazgos en el componente AuditSidebar, se ha añadido la capacidad de agregar vulnerabilidades y hallazgos, y se ha actualizado el botón NewVulnButton para aceptar una función de clic personalizada.
Motivación y Contexto
Este cambio es necesario para facilitar la gestión de hallazgos durante una auditoría. Se ha añadido la capacidad de agregar nuevas vulnerabilidades y hallazgos, lo cual mejora la funcionalidad y usabilidad de la aplicación para los usuarios que realizan auditorías de seguridad.
¿Cómo ha sido probado?
Haciendo click en el símbolo + en la tabla de vulnerabilidades y añadir una vulnerabilidad nueva
Tipos de cambios
Lista de verificación:
Summary by CodeRabbit
Resumen por CodeRabbit
Nuevas Características
AuditSidebarcon un nuevo identificador y colores de fondo según el nivel de severidad.Add.NewVulnButtonpara aceptar una función de clic personalizada.categorypara categorizar vulnerabilidades.Correcciones de Errores