Nessus MCP Server

Um servidor MCP para interagir com o scanner de vulnerabilidades Tenable Nessus.

Documentação

Nessus MCP Server

Um servidor Model Context Protocol (MCP) para interagir com o scanner de vulnerabilidades Tenable Nessus. Este servidor permite que assistentes de IA realizem varreduras e análises de vulnerabilidades por meio do protocolo MCP.

Recursos

  • Varredura de Vulnerabilidades: Inicie e monitore varreduras de vulnerabilidades em alvos especificados
  • Gerenciamento de Varreduras: Liste, acompanhe e recupere resultados de varreduras de vulnerabilidades
  • Análise de Vulnerabilidades: Pesquise e obtenha informações detalhadas sobre vulnerabilidades específicas
  • Modo Simulado: Modo simulado totalmente funcional para testes sem uma chave de API do Nessus

Ferramentas

O servidor fornece as seguintes ferramentas:

Nome da FerramentaDescrição
list_scan_templatesLista os modelos de varredura disponíveis do Nessus
start_scanInicia uma nova varredura de vulnerabilidades em um alvo
get_scan_statusVerifica o status de uma varredura em execução
get_scan_resultsObtém os resultados de uma varredura concluída
list_scansLista todas as varreduras e seus status
get_vulnerability_detailsObtém informações detalhadas sobre uma vulnerabilidade específica
search_vulnerabilitiesPesquisa vulnerabilidades por palavra-chave

Instalação

Pré-requisitos

  • Node.js 16 ou superior
  • TypeScript (para desenvolvimento)

Compilando a partir do código-fonte

  1. Clone o repositório:

    git clone https://github.com/Cyreslab-AI/nessus-mcp-server.git
    cd nessus-mcp-server
    
  2. Instale as dependências:

    npm install
    
  3. Compile o servidor:

    npm run build
    

Uso

Executando em Modo Simulado

Por padrão, o servidor executa em modo simulado, que não requer uma chave de API do Nessus:

node build/index.js

Executando com a API do Nessus

Para conectar a uma instância real do Nessus, defina as seguintes variáveis de ambiente:

NESSUS_URL=https://your-nessus-instance:8834
NESSUS_ACCESS_KEY=your-access-key
NESSUS_SECRET_KEY=your-secret-key

Em seguida, execute o servidor:

node build/index.js

Usando com o Claude for Desktop

Para usar este servidor com o Claude for Desktop:

  1. Edite o arquivo de configuração do Claude for Desktop:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
  2. Adicione a configuração do servidor:

{
  "mcpServers": {
    "nessus": {
      "command": "node",
      "args": ["/path/to/nessus-mcp-server/build/index.js"],
      "env": {
        "NESSUS_URL": "https://your-nessus-instance:8834",
        "NESSUS_ACCESS_KEY": "your-access-key",
        "NESSUS_SECRET_KEY": "your-secret-key"
      }
    }
  }
}

Para o modo simulado, você pode omitir a seção env.

Exemplos de Interação

Iniciando uma Varredura

start_scan:
  target: 192.168.1.1
  scan_type: basic-network-scan

Obtendo Resultados de Varredura

get_scan_results:
  scan_id: scan-1234567890

Pesquisando Vulnerabilidades

search_vulnerabilities:
  keyword: log4j

Desenvolvimento

Estrutura do Projeto

  • src/index.ts: Ponto de entrada principal do servidor
  • src/nessus-api.ts: Cliente da API do Nessus com fallback simulado
  • src/mock-data.ts: Dados simulados de vulnerabilidades para testes
  • src/tools/: Implementações das ferramentas
  • src/utils/: Funções utilitárias

Adicionando Novas Ferramentas

  1. Defina o esquema da ferramenta e o manipulador no arquivo apropriado em src/tools/
  2. Importe e registre a ferramenta em src/index.ts

Licença

MIT

Aviso Legal

Este servidor não é afiliado ou endossado pela Tenable. Nessus é uma marca registrada da Tenable, Inc.