Introdução geral
O mcp-is-dangerous é uma ferramenta de código aberto desenvolvida por Shaojie Jiang no GitHub. Ela ajuda os usuários a detectar os riscos de segurança do serviço MCP (Model Context Protocol) no uso de ferramentas de IA por meio de um código Python simples. A ferramenta mostra possíveis ameaças em que ferramentas externas podem acessar variáveis de ambiente ou arquivos, e tem como objetivo alertar os usuários sobre problemas de segurança. Ela é compatível com o software do autor agentes extensíveis Relacionado a projetos, destacando a facilidade de compartilhamento de ferramentas e os riscos. Os projetos são apenas para fins educacionais e de teste e não oferecem suporte ao uso malicioso.
Lista de funções
- detecção MCP Se o serviço pode ser explorado para fins maliciosos.
- Fornecer funções de ferramenta
get_environment_variables
mostrando o acesso às variáveis de ambiente. - Revelar a vulnerabilidade de segurança do serviço MCP com exemplos de código.
- Suporte para conectar clientes MCP personalizados para testar a segurança do serviço.
- Lembre os usuários de executar em um ambiente isolado para verificar o risco.
Usando a Ajuda
Como instalar e executar
Essa ferramenta requer um ambiente Python básico. Aqui estão as etapas detalhadas:
- Verificação do ambiente Python
Certifique-se de que o Python 3.8 ou posterior esteja instalado. Digite no terminal:
python --version
Se você não o tiver instalado, poderá baixá-lo no site do Python.
- Ferramentas de download
Execute o seguinte comando no terminal para clonar localmente:
git clone https://github.com/ShaojieJiang/mcp-is-dangerous.git
Em seguida, vá para o catálogo:
cd mcp-is-dangerous
- Instalação de dependências
necessidadefastmcp
para executar o serviço MCP. Método de instalação:
pip install fastmcp
Por motivos de segurança, um ambiente virtual está disponível:
python -m venv venv
source venv/bin/activate # Windows 用 venv\Scripts\activate
em seguida, execute pip install fastmcp
.
- kit inicial
Execute-o no diretório:
python main.py
Quando o terminal exibe "Server running..." (Servidor em execução...), a ferramenta é iniciada. Quando o terminal exibe "Server running..." (Servidor em execução...), a ferramenta é iniciada.
- função de teste
Detectar com a linha de comando:
uvx mcp-is-dangerous
Exemplo de saída:
Here are what I could find:
PATH /usr/***
HOME /home/***
Funções principais
- Detecção de acesso a variáveis de ambiente
As principais funções sãoget_environment_variables
Esse código é usado para verificar se o serviço MCP pode obter as variáveis de ambiente. O código é o seguinte:
@server.tool()
async def get_environment_variables() -> str:
result = ["Here are what I could find:"]
for key, value in os.environ.items():
result.append(f"{key:<30} {value[:5]}***")
return "\n".join(result)
A saída mostra o nome da variável e parte do valor (os primeiros 5 caracteres, os subsequentes ocultos como "***"). É possível modificar o código para visualizar os dados completos, mas é necessário operar em um ambiente seguro.
- Combinado com a detecção de agentes extensíveis
Se estiver usando agentes extensíveisSeleçãoPoliceAgent
para conectar essa ferramenta. Depois de executá-la, você pode observar a saída e detectar possíveis riscos. - Testes de clientes personalizados
Ao detectar com seu próprio cliente MCP, configure-o da seguinte forma:{ "mcpServers": { "dangerous-mcp": { "command": "python", "args": ["main.py"] } } }
Salve-o como um arquivo JSON e inicie o cliente para detectá-lo.
Recomendações para testes de segurança
- Operação em ambiente isolado
Recomenda-se o teste de contêineres do Docker:docker run -it --rm python:3.8 bash
Instale e execute no contêiner para não afetar o sistema local.
- Limpeza de dados confidenciais
Remova informações confidenciais das variáveis de ambiente antes de executar, por exemplo:unset OPENAI_API_KEY
- Revisão do código-fonte
Inspeção antes do usomain.py
O código é curto e adequado para verificar a segurança dos serviços MCP.
Nota suplementar
Essa ferramenta ajuda os usuários a detectar possíveis vulnerabilidades, simulando o acesso do serviço MCP às variáveis do ambiente. As autoridades enfatizam que se trata de uma ferramenta de detecção e que precisa ser usada em conjunto com práticas de segurança, como revisão de código e execução isolada.
cenário do aplicativo
- Detecção de segurança do serviço MCP
Os desenvolvedores podem usá-lo para testar o serviço MCP quanto a riscos de vazamento. - Validação da segurança da ferramenta
As equipes de segurança o utilizam para simular o comportamento de acesso e validar as medidas de proteção. - Demonstração de ensino
As organizações educacionais o utilizam para demonstrar os riscos dos serviços MCP e promover a conscientização sobre a segurança.
QA
- O que essa ferramenta faz?
Ele detecta se o serviço MCP pode ser explorado para acessar variáveis de ambiente e ajuda os usuários a identificar riscos de segurança. - É seguro correr?
A ferramenta em si é usada para testes e não é maliciosa. No entanto, executá-la em um ambiente real pode expor dados, portanto, recomenda-se um ambiente isolado. - Como posso usá-lo para melhorar a segurança?
Verifique o código-fonte, isole as execuções, limpe os dados confidenciais e verifique o comportamento da ferramenta.