Tutoriales

Utilice la API de ChatGPT y el módulo Python-Nmap

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.

Requerir

  • Pitón 3.10
  • Todos los paquetes mencionados en el archivo requirements.txt
  • Interfaz de inteligencia artificial abierta

uso

openai.api_key = "__API__KEY" # Enter your API key
pip3 install -r requirements.txt
or
pip install -r requirements.txt

Ejecutar código

python3 gpt_vuln.py

entender el código

Introducción:

alcancedevolver datosdescribirComando Nmap
p1jsonescaneo válido-Pn -sV -T4 -O -F
p2jsonescaneo simple-Pn -T4 -A -v
p3jsonescaneo de baja potencia-Pn -sS -sU -T4 -A -v
p4jsonescaneo fuerte local-Pn -p- -T4 -A -v
p5jsonexploració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

por favor considera atención y apoyo Nos mantenemos al día con la información más reciente.

LEER  Ubuntu en la naturaleza - 27 de abril de 2021

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba