
akto vdata-ingestion-1.5.0
Proativa, Segurança de API de código aberto → Descoberta de API, Postura de Segurança de API, Testes em CI/CD, Biblioteca de Testes com mais de 1000 Testes, Adicionar testes personalizados, Exposição de dados sensíveis
Akto.io API Security
Contribuidores
O que é a Akto?
Como funciona • Primeiros passos • Inventário de APIs • Testes de API • Adicionar teste • Junte-se à comunidade no Discord •
A Akto é uma plataforma instantânea e open source de segurança de APIs que leva apenas 60 segundos para começar a ser usada. A Akto é usada por equipes de segurança para manter um inventário contínuo de APIs, testar APIs em busca de vulnerabilidades e encontrar problemas em tempo de execução. A Akto oferece cobertura para todas as categorias do OWASP Top 10 e do HackerOne Top 10, incluindo BOLA, autenticação, SSRF, XSS, configurações de segurança, etc. O poderoso motor de testes da Akto executa uma variedade de testes de lógica de negócio lendo dados de tráfego para entender o padrão de tráfego das APIs, resultando em menos falsos positivos. A Akto pode se integrar a várias fontes de tráfego - burpsuite, AWS, postman, GCP, gateways, etc. Aqui está o nosso roadmap público para este trimestre.
A Akto permite que equipes de segurança e engenharia protejam suas APIs ao fazer três coisas:
- Inventário de APIs
- Executar testes de lógica de negócio em CI/CD
- Encontrar vulnerabilidades em tempo de execução
Como funciona?
Passo 1: Criar inventário
Passo 2: Executar testes
Como começar?
Usando docker-compose (funciona em qualquer máquina com Docker instalado)
Execute os seguintes comandos para instalar a Akto. Você precisará ter curl e Docker instalados para executar o contêiner..
- Clone o repositório da Akto usando este comando
git clone https://github.com/akto-api-security/akto.git - Vá para o diretório clonado
cd akto - Execute
docker-compose up -d
Se você estiver configurando isto na sua própria nuvem (AWS/GCP/Heroku), leia esta seção
Certifique-se do seguinte para boas práticas de segurança
-
Abra a regra de segurança de entrada apenas para a porta 9090. E restrinja o CIDR de origem apenas ao CIDR da VPC ou ao seu IP.
-
Use uma EC2 de uma sub-rede privada -
a. Dessa forma, ninguém conseguirá fazer uma solicitação de entrada para a sua máquina.
b. Garanta que essa sub-rede privada tenha acesso à Internet para que as chamadas de saída sejam bem-sucedidas!
c. Talvez seja necessário configurar um túnel para acessar a instância via VPN usando
ssh -i pemfile ec2-user@vpn-public-instance -L 9090:private-instance:9090d. No seu navegador, visite
http://private-instance:9090 -
Use uma EC2 de uma sub-rede pública - por favor, não faça isso! Se você ainda quiser fazer isso, pode pular 2.b e 2.c. Simplesmente acesse a sua instância via
http://ip:9090
A Akto é realmente poderosa na implantação em nuvem se você puder fornecer o tráfego espelhado da sua aplicação (0 impacto no desempenho). Você também poderá agendar testes em CI/CD e convidar mais membros da equipe para o painel. Para isso, você deve instalar a edição Enterprise da Akto disponível aqui. Leia mais sobre isso aqui
Tutoriais de testes de segurança de API
| Título | Link |
|---|---|
| Introdução | https://www.youtube.com/watch?v=oFt4OVmfE2s |
| Tutorial 1: Varredura de portas via SSRF (OWASP API7:2023) | https://www.youtube.com/watch?v=WjNNh6asAD0 |
Desenvolva e contribua
Configuração rápida usando Devcontainers do VSCode
Pré-requisitos:
- Instale o VSCode
- Instale a extensão Dev Containers do VSCode
- Windows: Docker Desktop 2.0+ no Windows 10 Pro/Enterprise. O Windows 10 Home (2004+) requer Docker Desktop 2.3+ e o back-end WSL 2.
- macOS: Docker Desktop 2.0+.
- Linux: Docker CE/EE 18.06+ e Docker Compose 1.21+.
Nota: Se estiver usando o Docker Desktop, considere alterar a alocação de memória para 8 GB para obter melhor desempenho
Passos:
Clone o repositório e abra no vscode
- Abra o terminal
mkdir ~/akto_codecd ~/akto_codegit clone https://github.com/akto-api-security/akto- Abra no VScode:
code akto
Inicie o Dev Container
- Vá para Exibir > Paleta de Comandos e digite: Dev Containers: Reopen in Container

- Aguarde o Dev Container ser configurado.
- Abra localhost:9090 no seu navegador para ver o painel da Akto
Instruções de Configuração Manual
Pré-requisitos
OpenJDK 8, node(v18.7.0+ link), npm(v8.15.0+), maven (v3.6.3 link), MongoDB (v5.0.3+ link)
Clone o repositório
mkdir ~/akto_codecd akto_codegit clone https://github.com/akto-api-security/akto
Configure o banco de dados
Abra uma nova aba do terminalcd ~mkdir ~/akto_mongo_data<path_to_mongo_folder>/bin/mongod --dbpath ~/akto_mongo_data
Configure o Frontend
Abra uma nova aba do terminalcd ~/akto_code/aktocd apps/dashboard/web/polaris_webnpm installnpm run hot
Configure o Dashboard
Abra uma nova aba do terminalcd ~/akto_code/aktoexport AKTO_MONGO_CONN="mongodb://localhost:27017"export DASHBOARD_MODE="local_deploy"mvn clean installmvn --projects :dashboard --also-make jetty:run -Djetty.port=9090
Configure os Testes
Abra uma nova aba do terminalcd ~/akto_code/aktocd apps/testingexport AKTO_MONGO_CONN="mongodb://localhost:27017"mvn compile; mvn exec:java -Dexec.mainClass="com.akto.testing.Main"
Usando a ferramenta CLI de Testes
Execute o seguinte comando para executar a ferramenta CLI de testes
docker run -v ./:/out \ # needed to generate test report on host machine
-e TEST_IDS='JWT_NONE_ALGO REMOVE_TOKENS' \ # space separated test ids
-e AKTO_DASHBOARD_URL='<AKTO_DASHBOARD_URL>' \
-e AKTO_API_KEY='<AKTO_API_KEY>' \
-e API_COLLECTION_ID='123' \ # api collection id on which you want to run tests
-e TEST_APIS='https://demo.com/api/books https://demo.com/api/cars' \ # space separated apis from the api collection on which you want to run tests. If not present, all apis in the collection will be tested. [optional]
-e OVERRIDE_APP_URL='https://dummy.com' \ # If you want to test on a separate host. [optional]
aktosecurity/akto-api-testing-cli
Explore
- Abra
localhost:9090no seu navegador favorito - Você precisará se cadastrar ao fazer login pela primeira vez; a partir da próxima vez, você poderá entrar
Depuração
1. Para depurar o frontend, instale a extensão Vue.js do Chrome a partir de [aqui](https://devtools.vuejs.org/guide/installation.html).
2. Para depurar o backend, execute o seguinte antes de executar o servidor web -
a. Defina a variável MAVEN_OPTS para habilitar a depuração no seu processo Java
export MAVEN_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8081, -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=9010 -Dcom.sun.management.jmxremote.rmi.port=9010 -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false"
b. No Visual Studio Code, clique em qualquer número de linha para definir um ponto de interrupção.
c. Anexe o depurador Java no modo Run and Debug. Se estiver fazendo isso pela primeira vez, clique em “Criar arquivo launch.json” e depois em “Adicionar configuração”. Escolha “Java: Anexar processo por ID” e salve o arquivo.

d. Uma lista de processos Java em execução aparecerá. Selecione o processo do servidor web para anexar o depurador
Contribuindo
Aceitamos contribuições para este projeto. Por favor, leia nosso CONTRIBUTING.md para mais informações sobre como participar.
Licença
Este projeto está licenciado sob a Licença MIT.