daqc's picture
Vulnerabilty Intelligence PoC
2e82565
# 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.