# Instrucciones de Uso - Vulnerability Intelligence Agent (VIA) ## Requisitos previos Asegúrate de tener instaladas todas las dependencias necesarias: ```bash pip install -r requirements.txt ``` ## Uso Básico ### Comprobar vulnerabilidades para un software específico Para buscar vulnerabilidades en un software y versión específicos: ```bash python main.py --software "OpenSSL" --version "1.1.1k" ``` ### Procesar un archivo de entrada con múltiples software Para procesar un archivo JSON que contiene una lista de software: ```bash python main.py --input example_input.json ``` El archivo de entrada debe tener el siguiente formato: ```json [ { "name": "OpenSSL", "version": "1.1.1k" }, { "name": "Apache", "version": "2.4.54" } ] ``` ### Especificar directorio de salida para los reportes Por defecto, los reportes se guardan en el directorio `reports`. Puedes especificar un directorio diferente: ```bash python main.py --input example_input.json --output-dir my_reports ``` ### Habilitar modo verboso Para obtener más información sobre lo que está haciendo el agente: ```bash python main.py --software "OpenSSL" --version "1.1.1k" --verbose ``` ### Especificar un modelo diferente Por defecto, el agente utiliza el modelo "Qwen/Qwen2.5-Coder-32B-Instruct". Puedes especificar un modelo diferente: ```bash python main.py --software "OpenSSL" --version "1.1.1k" --model "otra-id-de-modelo" ``` ## Formato de Salida El agente genera reportes en dos formatos: 1. **JSON**: Contiene todos los datos estructurados de las vulnerabilidades encontradas. 2. **Markdown**: Un reporte legible con información formateada sobre las vulnerabilidades. Los reportes se guardan en el directorio especificado (por defecto, `reports`) con un nombre de archivo basado en el software y la versión, más una marca de tiempo. ## Ejemplos ### Ejemplo 1: Buscar vulnerabilidades en OpenSSL 1.1.1k ```bash python main.py --software "OpenSSL" --version "1.1.1k" ``` ### Ejemplo 2: Procesar varios software desde un archivo ```bash python main.py --input example_input.json --verbose ``` ### Ejemplo 3: Guardar reportes en un directorio específico ```bash python main.py --input example_input.json --output-dir vulnerability_reports ``` ## Notas - El agente limita las solicitudes a las bases de datos de vulnerabilidades para evitar problemas de limitación de tasa. - Para consultas de software con muchas vulnerabilidades conocidas, el proceso puede tardar varios minutos. - Si el agente encuentra muchas vulnerabilidades, solo mostrará las más críticas en la salida de la consola, pero todas se incluirán en los reportes generados.