Análisis GPT_Vulnr Use la API de ChatGPT y el módulo Python-Nmap para crear informes de vulnerabilidad basados en datos de escaneo de Nmap usando el modelo GPT3.
Esta es una aplicación de prueba de concepto que demuestra cómo la IA puede generar resultados precisos para el análisis de vulnerabilidades y permite una mayor explotación del ya útil ChatGPT. La herramienta es compatible con Windows y Linux.
Tabla de Contenidos
Requerir
- Pitón 3.10
- Todos los paquetes mencionados en el archivo requirements.txt
- Interfaz de inteligencia artificial abierta
uso
- Primero, cambie el «Clave API” parte del código con la clave API de OpenAI
openai.api_key = "__API__KEY" # Enter your API key
- Dos, el paquete de instalación.
pip3 install -r requirements.txt or pip install -r requirements.txt
Ejecutar código
entender el código
Introducción:
alcance | devolver datos | describir | Comando Nmap |
---|---|---|---|
p1 |
json |
escaneo válido | -Pn -sV -T4 -O -F |
p2 |
json |
escaneo simple | -Pn -T4 -A -v |
p3 |
json |
escaneo de baja potencia | -Pn -sS -sU -T4 -A -v |
p4 |
json |
escaneo fuerte local | -Pn -p- -T4 -A -v |
p5 |
json |
exploración fuerte completa | -Pn -sS -sU -T4 -A -PE -PP -PS80,443 -PA3389 -PU40125 -PY -g 53 --script=vuln |
Los perfiles son el tipo de escaneos que realizará el subproceso Nmap. La IP o el destino se proporcionarán a través de argparse.
Primero, ejecute un escaneo Nmap personalizado con todos los parámetros clave para continuar el escaneo. A continuación, los datos de escaneo se extraen de la pila de datos masiva impulsada por Nmap.
El objeto «escanear» enumera los subdatos en «tcp», cada subdato se marca de acuerdo con el puerto abierto. Una vez que se obtienen los datos, los datos se enviarán al modelo davenci de la API de Openai a través de indicaciones.
Las sugerencias requieren específicamente que la salida JSON y los datos se usen de maneras específicas.
Toda la estructura de las solicitudes que deben enviarse a la API de openai está diseñada en la parte de finalización del programa.
def profile(ip): nm.scan('{}'.format(ip), arguments="-Pn -sS -sU -T4 -A -PE -PP -PS80,443 -PA3389 -PU40125 -PY -g 53 --script=vuln") json_data = nm.analyse_nmap_xml_scan() analize = json_data["scan"] # Prompt about what the quary is all about prompt = "do a vulnerability analysis of {} and return a vulnerabilty report in json".format(analize) # A structure for the request completion = openai.Completion.create( engine=model_engine, prompt=prompt, max_tokens=1024, n=1, stop=None, ) response = completion.choices[0].text return response
ventaja
- Se puede usar para desarrollar sistemas más avanzados que consisten completamente en combinaciones de API y escáner.
- puede aumentar la eficacia del sistema final
- Muy eficiente al usar modelos como GPT3.
por favor considera atención y apoyo Nos mantenemos al día con la información más reciente.