File size: 2,686 Bytes
2e82565
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
# 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.