API de microsserviços deliberadamente vulnerável projetada para treinamento prático nos riscos do OWASP API Security Top 10, com desafios integrados e um fluxo de trabalho realista de compra de carros.
completamente ridícula API (crAPI) ajudará você a entender os dez riscos de segurança de API mais críticos. crAPI é vulnerável por design, mas você poderá executá-la com segurança para se educar/treinar.
crAPI é moderna, construída sobre uma arquitetura de microsserviços. Quando chegar a hora de comprar seu primeiro carro, cadastre-se e comece sua jornada. Para saber mais sobre a crAPI, consulte a visão geral da crAPI.
Após configurar a crAPI, é recomendável seguir o fluxo de trabalho pretendido pelo usuário para entender como o aplicativo deve funcionar antes de tentar quaisquer desafios de segurança.
-Fluxo de Trabalho do Aplicativo (Caminho Feliz)
Você precisará ter o Docker e o docker compose instalados e em execução no seu
sistema host. Além disso, a versão do docker compose deve ser 1.27.0 ou
superior. Verifique sua versão do docker compose usando:
docker compose version
Atualize sua versão do docker compose se receber erros como
ERROR: Invalid interpolation format for ...
Você pode usar imagens pré-construídas geradas pelo nosso fluxo de CI baixando o docker compose e os arquivos .env.
Para usar a versão estável mais recente.
curl -L -o /tmp/crapi.zip https://github.com/OWASP/crAPI/archive/refs/heads/main.zip
unzip /tmp/crapi.zip
cd crAPI-main/deploy/docker
docker compose pull
docker compose -f docker-compose.yml --compatibility up -d
Para substituir as configurações do servidor, altere os valores das variáveis presentes no arquivo .env ou adicione as respectivas variáveis no início do comando docker compose.
Por exemplo, para expor o sistema a todas as interfaces de rede.
LISTEN_IP="0.0.0.0" docker compose -f docker-compose.yml --compatibility up -d
curl.exe -L -o crapi.zip https://github.com/OWASP/crAPI/archive/refs/heads/main.zip
tar -xf .\crapi.zip
cd crAPI-main/deploy/docker
docker compose pull
docker compose -f docker-compose.yml --compatibility up -d
Para substituir as configurações do servidor, altere os valores das variáveis presentes no arquivo .env ou adicione as respectivas variáveis no início do comando docker compose.
Por exemplo, para expor o sistema a todas as interfaces de rede.
LISTEN_IP="0.0.0.0" docker compose -f docker-compose.yml --compatibility up -d
Para usar a versão de desenvolvimento mais recente
curl -L -o /tmp/crapi.zip https://github.com/OWASP/crAPI/archive/refs/heads/develop.zip
unzip /tmp/crapi.zip
cd crAPI-develop/deploy/docker
docker compose pull
docker compose -f docker-compose.yml --compatibility up -d
Para substituir as configurações do servidor, altere os valores das variáveis presentes no arquivo .env ou adicione as respectivas variáveis no início do comando docker compose.
Por exemplo, para expor o sistema a todas as interfaces de rede.
LISTEN_IP="0.0.0.0" docker compose -f docker-compose.yml --compatibility up -d
curl.exe -L -o crapi.zip https://github.com/OWASP/crAPI/archive/refs/heads/develop.zip
tar -xf .\crapi.zip
cd crAPI-develop/deploy/docker
docker compose pull
docker compose -f docker-compose.yml --compatibility up -d
Para substituir as configurações do servidor, altere os valores das variáveis presentes no arquivo .env ou adicione as respectivas variáveis no início do comando docker compose.
Por exemplo, para expor o sistema a todas as interfaces de rede.
LISTEN_IP="0.0.0.0" docker compose -f docker-compose.yml --compatibility up -d
Visite http://localhost:8888
Nota: Todos os e-mails são enviados para o serviço mailhog por padrão e podem ser verificados em http://localhost:8025 Você pode alterar a configuração smtp se necessário, porém todos os e-mails com domínio example.com ainda irão para o mailhog.
Para configuração do provedor LLM do chatbot, consulte as instruções de configuração.
Esta opção permite executar a crAPI dentro de uma máquina virtual, assim isolada do seu sistema. Você precisará ter o Vagrant e, por exemplo, o VirtualBox instalados.
$ git clone [REPOSITORY-URL]
$ cd deploy/vagrant && vagrant up
Nota: Todos os e-mails são enviados para o serviço mailhog e podem ser verificados em http://192.168.33.20:8025
Depois de terminar de brincar com a crAPI, você pode removê-la completamente do seu sistema executando o seguinte comando a partir do diretório raiz do repositório
$ cd deploy/vagrant && vagrant destroy
Se precisar de ajuda para instalar e executar a crAPI, consulte este guia: Guia de solução de problemas crAPI. Se isso não resolver seu problema, crie uma issue no Github Issues.