
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
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.
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