??中文| Inglês |文档/Wiki | ❓提问/Questões |讨论/Discussões
安全 / 审计 / 便捷
HuggingFace
AutoAudit-7B, esta versão é uma versão demo treinada com base no Alpaca-Lora. Tem um desempenho admirável na área de segurança de redes, rendendo respostas satisfatórias em inglês. No entanto, atualmente falta compreensão contextual e requer um modelo de parâmetros maiores para resolver esta limitação.
AutoAudit-8B-Instruct, esta versão foi ajustada com base no Llama3-8B-instruct e seu desempenho na resposta a consultas relacionadas à segurança cibernética melhorou significativamente. Os recursos básicos do modelo também tiveram um aprimoramento substancial em comparação com o AutoAudit-7B.
AutoAudit-Qwen, devido à disponibilidade limitada do corpus de segurança cibernética chinês, este modelo ainda está em fase de exploração e planejamento.
Mais LLMs estarão disponíveis em breve
Este projeto explora a aplicação de Large Language Models (LLMs) na segurança cibernética, impulsionada pela complexidade do domínio e pela necessidade crítica de mecanismos de defesa robustos. A segurança cibernética abrange diversas áreas, como sistemas operacionais, protocolos de rede, análise de malware e detecção de ameaças . À medida que as ameaças cibernéticas crescem em sofisticação e escala, os LLMs apresentam um caminho promissor para melhorar a detecção, análise e resposta a ameaças através de capacidades avançadas de processamento de linguagem. Sua capacidade de interpretar, gerar e sintetizar grandes quantidades de dados posiciona os LLMs como uma ferramenta transformadora para enfrentar desafios complexos de segurança cibernética.
Em comparação com os métodos tradicionais, os LLMs podem ser ajustados para se adaptarem ao cenário de ameaças em constante mudança, fornecendo conexões de conhecimento entre domínios e respostas de emergência acionáveis. Eles também podem automatizar tarefas analíticas repetitivas, integrar dados de diversas fontes e gerar avaliações de risco que capturam ameaças sutis, melhorando assim a adaptabilidade e a resiliência dos sistemas de segurança. Portanto, os LLMs desempenham um papel crucial no fortalecimento dos quadros de defesa da cibersegurança, oferecendo aos especialistas um apoio reforçado e permitindo uma proteção mais abrangente e flexível.
Para conveniência interativa e para abordar cenários práticos de auditoria de segurança, acoplámos o modelo AutoAudit ao ClamAV para criar uma plataforma de verificação de segurança (com frontend inspirado em modelos Bootstrap). Se desejar baixar diretamente o modelo AutoAudit, você pode visitar HuggingFace para obter os pesos.
Baixe o conteúdo deste repositório para seu servidor local ou remoto:
git clone [email protected]:ddzipp/AutoAudit.git
cd AutoAudit
Crie um ambiente Conda:
conda create --name AutoAudit python=3.8
conda activate AutoAudit
Instale dependências:
pip install -r requirements.txt
Instale o ClamAV e adicione o ClamAV ao caminho do ambiente.
Defina os caminhos para o modelo de lhama e os pesos de Lora na sandbox:
sandbox/yahma/llama-7b-hf
sandbox/lilBuffaloEirc/autoaudit_20230703_attempt2
Execute o seguinte comando para iniciar o projeto:
python manage.py runserver
Adotamos o método de organização do conjunto de dados Self-Instruct, que combina anotação humana e dados autogerados. O conjunto de dados é proveniente principalmente do Github, Kaggle, sites de segurança e conjuntos de dados de vulnerabilidade de segurança disponíveis publicamente. Posteriormente, passa por limpeza e aumento de dados para construir dados de diálogo. O conjunto de dados é estritamente organizado no formato de conjunto de dados do modelo Alpaca, dividido em três partes: Instrução, Entrada e Saída. Na saída, especificamos que a análise deve incluir informações detalhadas (análise), classificação de segurança (rótulo), riscos de segurança (risco) e soluções correspondentes (solução). Para obter informações detalhadas sobre o conjunto de dados (incluindo formato e organização), consulte Dados de treinamento do AutoAudit. Aqui estão alguns exemplos:
pergunta | responder | Assunto |
---|---|---|
Por favor, avalie se esta declaração contém alguma vulnerabilidade de segurança:" ou pg_sleep ( TIME ) --" | 1. análise : A instrução SQL parece estar tentando injeção de SQL injetando um comando sleep usando a função 'pg_sleep'.n 2. rótulo : alton 3. risco : A instrução SQL fornecida representa um alto risco de injeção de SQL. Ele utiliza a função 'pg_sleep' para tentar um ataque cego de injeção de SQL baseado em tempo.n 4. solução : Implemente validação de entrada e parametrização adequadas para evitar ataques de injeção de SQL. | Análise SQL |
Por favor, analise se este trecho de código Python apresenta riscos de segurança:"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, porta))" | 1. análise : O trecho de código Python define uma classe chamada 'Backdoor' com um método inicializador ' init '. A classe configura uma conexão de soquete para um endereço IP e porta especificados.n 2. label : Baixon 3. risco : O trecho de código Python fornecido tem um baixo risco de segurança. Estabelece principalmente uma conexão de soquete, que é uma operação de rede comum. No entanto, o risco real de segurança depende dos detalhes de implementação da classe e de seu uso.n 4. solução : certifique-se de que a classe 'Backdoor' e seu uso tenham medidas de segurança apropriadas, como validação de entrada adequada, protocolos de comunicação seguros , controles de acesso e tratamento de erros para mitigar possíveis riscos de segurança. | Análise de código Python |
Qual é o objetivo da Lista de Revogação de Certificados (CRL)? | O objetivo da Lista de Revogação de Certificados (CRL) é listar os certificados digitais revogados pela autoridade de certificação (CA) emissora antes da data de expiração programada, indicando que eles não devem mais ser confiáveis. | Perguntas e respostas sobre conhecimento de segurança |
A composição do conjunto de dados utilizado para treinar o modelo atual e suas proporções correspondentes são as seguintes:
Para simplificar o processo de geração automatizada de conjuntos de dados, também atualizamos o GPT na GPT Store dedicada à geração de conjuntos de dados de controle de qualidade de segurança cibernética, e os resultados da geração são os seguintes:
Gostaria de agradecer ao meu amigo Eric Ma; trabalhar junto com ele para melhorar continuamente este projeto tem sido uma das experiências mais significativas. Também quero expressar minha gratidão ao CUHKSZ He Lab, onde aprendi muito e solidifiquei minha direção para melhorias futuras. Finalmente, estendo meus agradecimentos a todos os membros da comunidade de código aberto. Obrigado pelo seu apoio e ajuda. Vou tentar o meu melhor para desenvolver meu projeto, espero que gostem.