Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
SecureCodingDojo — O Secure Coding Dojo é uma plataforma para fornecer conhecimento de codificação segura. | Kitploit
Ferramentas/GitHubGitHub/owasp/securecodingdojo
Análise de VulnerabilidadesAnálise de CódigoSegurança WebCTFTestes de PenetraçãoDevSecOpsAutenticaçãoAprendizado e EducaçãoLabs e Prática
GitHubowasp/securecodingdojo

SecureCodingDojo

O Secure Coding Dojo é uma plataforma para fornecer conhecimento de codificação segura.

60715916há 10 mesesRevisado pelo Kitploit
Ver RepositórioSite

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
# Sobre o Secure Coding Dojo
O Secure Coding Dojo é uma plataforma para fornecer treinamento em codificação segura. 
Embora venha com seu próprio aplicativo de treinamento vulnerável (o site Insecure.Inc), o portal de treinamento pode ser usado em conjunto com outros aplicativos de treinamento.
A força da plataforma está na sua extensibilidade e na integração com a plataforma de colaboração de desenvolvimento comumente usada, o Slack.
O portal de treinamento pode ser facilmente configurado na nuvem e as instruções para a configuração no AWS Elastic Beanstalk estão disponíveis abaixo.

Não deixe de verificar também a [wiki](https://github.com/OWASP/SecureCodingDojo/wiki) para mais detalhes sobre a implantação e instalação do Dojo.

# Demo

Baixe a [demo](https://github.com/OWASP/SecureCodingDojo/blob/main/demo/Secure%20Coding%20Dojo%20Demo.mp4) para ter uma noção do portal de treinamento e do aplicativo Insecure.Inc.

Dê uma olhada também em /screenshots
![Texto alternativo](https://assets.kitploit.com/production/public/readmes/39568/40495d051da59401d0a160ee68de6b8bb79c0cd8c55578a0be1277a14890c4d2.png "Página inicial do portal de treinamento do Secure Coding Dojo")

# Experimente

Os passos a seguir fornecem a configuração básica do Dojo. Para configuração avançada e integrações, consulte a [wiki](https://github.com/OWASP/SecureCodingDojo/wiki/Deploying-with-Docker)

- Instale a versão mais recente do Docker.
- Faça um git clone do repositório
- Mude o diretório para a raiz do repositório
- Configure uma variável de ambiente DATA_DIR como ponto de montagem para os arquivos do dojo. Em *nix/mac, modifique o .bash_profile da seguinte forma:

    `export DATA_DIR="/YOUR_DATA_DIR"`

- No Mac, você deve permitir que o Docker acesse este diretório em Docker > Preferences > File Sharing
- Reinicie o terminal
- Execute com:

    `docker-compose up`

# Por que Outro Site de Treinamento em Segurança?
Embora sites de treinamento de código aberto para ensinar conceitos de segurança de aplicações não sejam novidade, o público-alvo desses sites tem sido pentesters e hackers éticos. 
O Secure Coding Dojo é pensado principalmente como uma plataforma de treinamento para desenvolvedores, e aqui está o porquê:
-  Integra-se com o Slack para autenticação
-  Permite agrupar os participantes de acordo com suas equipes de desenvolvimento
-  Permite que as equipes acompanhem o progresso e compitam entre si
-  Cada lição é construída como um par ataque/defesa. Os desenvolvedores podem observar as fraquezas do software conduzindo o ataque e, após resolverem o desafio, aprendem sobre as defesas de software associadas (blocos de código)
-  As lições predefinidas são baseadas nos erros de software mais perigosos do MITRE (também conhecidos como SANS 25), portanto o foco está nos erros de software, e não nas técnicas de ataque
-  Os desafios de hacking predefinidos são criados para o nível iniciante e mantêm os desenvolvedores engajados
    * Em outros sites de treinamento ou CTFs, há um aspecto de quebra-cabeça nos desafios, ótimo para o público pentester, mas que pode fazer alguns desenvolvedores perderem o interesse. No Secure Coding Dojo, o foco é demonstrar a vulnerabilidade.
    * Existem dicas que ajudam os desenvolvedores enquanto exploram o problema para não ficarem travados

# SecureCodingDojo e Requisitos de Conformidade
Embora não garantamos conformidade, o treinamento pode ser usado para atender a requisitos de conformidade como PCI 6.5.a. Consulte o documento de currículo do Insecure.Inc sobre o mapeamento para SANS 25/ OWASP Top 10 / PCI 6.5

# Pré-requisitos de Desenvolvimento
Portal de treinamento
- Instale o VS Code
- node/npm (desenvolvido com v10)
- OPCIONAL: servidor MySQL + MySQL Workbench (desenvolvido com MySQL 5.7)

Insecure.Inc
- Desenvolvido em Java EE
- Versão mais recente do Eclipse Java EE (desenvolvido com Neon) + Java 1.8 + Tomcat 8 para o aplicativo de treinamento do Insecure.Inc

# Instruções de Configuração do Ambiente de Desenvolvimento
Portal de treinamento
- Mais detalhes na [wiki](https://github.com/OWASP/SecureCodingDojo/wiki/Development-Setup-for-Training-Portal)

Insecure.inc
- Mais detalhes na [wiki](https://github.com/OWASP/SecureCodingDojo/wiki/Development-Setup-for-Insecure.Inc)

# Compilação
Portal de treinamento
- Execute o script ./buildTrainingPortal.sh. Ele criará uma imagem docker e um pacote AWS Elastic Beanstalk

Insecure.Inc
- Clique com o botão direito no projeto para exportar como um arquivo .war e coloque-o na pasta /webapps da sua instalação do Tomcat 8.


# Hospedando o Insecure.Inc

Consulte a [wiki](https://github.com/OWASP/SecureCodingDojo/wiki/Running-Insecure.Inc).

# Implantando o Portal de Treinamento

Mais informações na [wiki](https://github.com/OWASP/SecureCodingDojo/wiki/Running-the-training-portal).

# Instruções de Configuração do Slack
Você precisará criar um aplicativo Slack para autenticação.
- Acesse https://api.slack.com/
- Clique em Start Building e siga as instruções para criar um Slack App em sua equipe Slack de desenvolvimento
- Depois que seu aplicativo for criado, você poderá obter suas credenciais do aplicativo para configurar seu config.json
- Configure as URLs de redirecionamento em OAuth & Permissions. Por exemplo, para uma configuração localhost, a URL de redirecionamento seria: http://localhost:8081/public/slack/callback


# Instruções de Configuração do Google
A autenticação do Google também pode ser configurada no config.json. Você precisará de uma conta de desenvolvedor do Google e obter as credenciais OAuth no console da API do Google: https://console.developers.google.com

No mesmo local, você configurará seu domínio e as URIs de redirecionamento autorizadas. Por exemplo, para uma configuração localhost, a URL de redirecionamento seria: http://localhost:8081/public/google/callback

# Instruções de Configuração de Autenticação Local
Para equipes pequenas ou imagens pré-configuradas, a autenticação via Slack ou Google pode não ser uma opção. Nesse cenário, você pode configurar a autenticação usando um arquivo local simples.

Consulte a wiki para mais informações.

- Copie localUsers.json.sample para localUsers.json
- Adicione a linha no config.json que especifica o localUsersPath
- Existem várias ressalvas com a autenticação local, como ausência de bloqueio de conta, expiração de senha etc.

# Instruções de Configuração do Banco de Dados

Se você não configurar um banco de dados, o portal de treinamento usará apenas um banco de dados SQLite local.

Você também pode instalar o MySQL e criar um banco de dados e credenciais para esse banco. Anote seu nome de usuário e senha, pois precisará deles mais tarde.

# Sementes de Chave de Criptografia e Variáveis de Ambiente
Você precisará configurar chaves de criptografia como variáveis de ambiente do sistema operacional. Em *nix/mac, modifique o .bash_profile da seguinte forma:

    export ENC_KEY="put something random here"
    export ENC_KEY_IV="put something random here"

O seguinte serve para impedir que os participantes gerem seus próprios códigos de desafio.

    export CHALLENGE_MASTER_SALT="put something random here"


# Estendendo o Secure Coding Dojo
Você pode adicionar novas lições seguindo o modelo das existentes.

## Desafios
Os desafios são definidos em ./trainingportal/static/lessons
O arquivo definitions.json aponta para a descrição html do desafio correspondente, o link de execução e os blocos de código correspondentes pelo id do bloco de código.
Siga os exemplos já definidos para criar um novo.

    .
    +-- /trainingportal/static/lessons
    |   +-- modules.json //configuration file where lesson modules are defined
    |   +-- /attack-grams //visual representations of attacks included in challenge descriptions
    |   +-- /blackBelt //lesson module
    |       +--definitions.json //individual lesson definitions
    |       +--cwe494.md // html or markdown file including the lesson description
    |       +--cwe494.sol.md //solution for the lesson
    |       ....
    |       +--quiz.html 
    |   +-- /secondDegreeBlackBelt


## Blocos de Código
Os blocos de código são definidos em ./trainingportal/static/codeBlocks. Esta pasta tem uma estrutura semelhante, com um json de definição e vários arquivos html para cada desafio.

    .
    +-- /trainingportal/static/codeBlocks
    |   +-- codeBlocksDefinitions.json //configuration file where code blocks are defined
    |   +-- authenticationByDefault.html //code block description html
    |   ...
    |   +-- useStrongDataEncryption.html
Baixar ferramenta