??中文| Inglés |文档/Wiki | ❓提问/Problemas |讨论/Discusiones
安全 / 审计 / 便捷
HuggingFace下载
AutoAudit-7B, esta versión es una versión de demostración entrenada en base a Alpaca-Lora. Se desempeña admirablemente en el campo de la seguridad de redes, arrojando respuestas satisfactorias en inglés. Sin embargo, actualmente carece de comprensión contextual y requiere un modelo de parámetros más amplio para abordar esta limitación.
AutoAudit-8B-Instruct, esta versión está optimizada según Llama3-8B-instruct y su rendimiento para responder consultas relacionadas con la ciberseguridad ha mejorado significativamente. Las capacidades fundamentales del modelo también han experimentado una mejora sustancial en comparación con AutoAudit-7B.
AutoAudit-Qwen, debido a la disponibilidad limitada del corpus de ciberseguridad chino, este modelo aún se encuentra en la etapa de exploración y planificación.
Próximamente habrá más LLM
Este proyecto explora la aplicación de modelos de lenguaje grande (LLM) dentro de la ciberseguridad, impulsado por la complejidad del dominio y la necesidad crítica de mecanismos de defensa sólidos. La ciberseguridad abarca diversas áreas como sistemas operativos, protocolos de red, análisis de malware y detección de amenazas . A medida que las amenazas cibernéticas crecen en sofisticación y escala, los LLM presentan una vía prometedora para mejorar la detección, el análisis y la respuesta a las amenazas a través de capacidades avanzadas de procesamiento del lenguaje. Su capacidad para interpretar, generar y sintetizar grandes cantidades de datos posiciona a los LLM como una herramienta transformadora para abordar desafíos complejos de ciberseguridad.
En comparación con los métodos tradicionales, los LLM se pueden ajustar para adaptarse al panorama de amenazas en constante cambio, proporcionando conexiones de conocimiento entre dominios y respuestas de emergencia procesables. También pueden automatizar tareas analíticas repetitivas, integrar datos de múltiples fuentes y generar evaluaciones de riesgos que capturen amenazas sutiles, mejorando así la adaptabilidad y resiliencia de los sistemas de seguridad. Por lo tanto, los LLM desempeñan un papel crucial en el fortalecimiento de los marcos de defensa de la ciberseguridad, ofreciendo a los expertos un soporte mejorado y permitiendo una protección más completa y flexible.
Para mayor comodidad interactiva y para abordar escenarios prácticos de auditoría de seguridad, hemos combinado el modelo AutoAudit con ClamAV para crear una plataforma de escaneo de seguridad (con la interfaz inspirada en plantillas Bootstrap). Si desea descargar directamente el modelo de AutoAudit, puede visitar HuggingFace para obtener los pesos.
Descargue el contenido de este repositorio a su servidor local o remoto:
git clone [email protected]:ddzipp/AutoAudit.git
cd AutoAudit
Cree un entorno Conda:
conda create --name AutoAudit python=3.8
conda activate AutoAudit
Instalar dependencias:
pip install -r requirements.txt
Instale ClamAV y agregue ClamAV a la ruta del entorno.
Establece las rutas para el modelo llama y los pesos de Lora en el sandbox:
sandbox/yahma/llama-7b-hf
sandbox/lilBuffaloEirc/autoaudit_20230703_attempt2
Ejecute el siguiente comando para iniciar el proyecto:
python manage.py runserver
Hemos adoptado el método de organización del conjunto de datos de autoinstrucciones, que combina anotaciones humanas y datos autogenerados. El conjunto de datos proviene principalmente de Github, Kaggle, sitios web de seguridad y conjuntos de datos de vulnerabilidades de seguridad disponibles públicamente. Posteriormente, se somete a una limpieza y un aumento de datos para construir datos de diálogo. El conjunto de datos está estrictamente organizado en el formato de conjunto de datos del modelo Alpaca, dividido en tres partes: instrucción, entrada y salida. En el resultado, especificamos que el análisis debe incluir información detallada (análisis), calificación de seguridad (etiqueta), riesgos de seguridad (riesgo) y soluciones correspondientes (solución). Para obtener información detallada sobre el conjunto de datos (incluido el formato y la organización), consulte Datos de capacitación de AutoAudit. A continuación se muestran algunos ejemplos:
pregunta | respuesta | Sujeto |
---|---|---|
Evalúe si esta declaración conlleva alguna vulnerabilidad de seguridad: "o pg_sleep (TIME) -" | 1. análisis : la declaración SQL parece estar intentando una inyección SQL inyectando un comando de suspensión usando la función 'pg_sleep'.n 2. etiqueta : alton 3. riesgo : la declaración SQL dada presenta un alto riesgo de inyección SQL. Utiliza la función 'pg_sleep' para intentar un ataque de inyección SQL ciego basado en el tiempo.n 4. solución : implementar una validación y parametrización de entrada adecuadas para evitar ataques de inyección SQL. | Análisis SQL |
Analice si este fragmento de código Python presenta riesgos de seguridad: "import socketnimport jsonnimport osnimport subprocessnimport base64nnclass Backdoor:n def init (self, ip, port):n self.connection = socket.socket(socket.AF_INET, socket.SOCK_STREAM)n self.connection.connect((ip, puerto))" | 1. análisis : el fragmento de código de Python define una clase llamada 'Backdoor' con un método inicializador ' init '. La clase configura una conexión de socket a una dirección IP y un puerto específicos.n 2. etiqueta : Bajon 3. riesgo : el fragmento de código Python proporcionado tiene un riesgo de seguridad bajo. Principalmente establece una conexión de socket, que es una operación de red común. Sin embargo, el riesgo de seguridad real depende de los detalles de implementación de la clase y su uso.n 4. solución : asegúrese de que la clase 'Backdoor' y su uso cuenten con las medidas de seguridad adecuadas, como una validación de entrada adecuada y protocolos de comunicación seguros. , controles de acceso y manejo de errores, para mitigar posibles riesgos de seguridad. | Análisis de código Python |
¿Cuál es el propósito de la Lista de Revocación de Certificados (CRL)? | El propósito de la Lista de revocación de certificados (CRL) es enumerar los certificados digitales revocados por la autoridad certificadora (CA) emisora antes de su fecha de vencimiento programada, lo que indica que ya no se debe confiar en ellos. | Preguntas y respuestas sobre conocimientos de seguridad |
La composición del conjunto de datos utilizado para entrenar el modelo actual y sus proporciones correspondientes son las siguientes:
Para simplificar el proceso de generación automatizada de conjuntos de datos, también actualizamos el GPT en la Tienda GPT dedicada a generar conjuntos de datos de control de calidad de ciberseguridad, y los resultados de la generación son los siguientes:
Me gustaría agradecer a mi amigo Eric Ma; Trabajar junto a él para mejorar continuamente este proyecto ha sido una de las experiencias más significativas. También quiero expresar mi gratitud a CUHKSZ He Lab, donde aprendí mucho y solidifiqué mi dirección para futuras mejoras. Finalmente, extiendo mi agradecimiento a todos los miembros de la comunidad de código abierto. Gracias por su apoyo y ayuda. Haré todo lo posible para desarrollar mi proyecto, espero que les guste.