|
# 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. |