Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
SecureCodingDojo — Le Secure Coding Dojo est une plateforme pour dispenser des connaissances en codage sécurisé. | Kitploit
Outils/GitHubGitHub/owasp/securecodingdojo
Analyse des VulnérabilitésAnalyse de CodeSécurité WebCTFTests d'IntrusionDevSecOpsAuthentificationApprentissage et ÉducationLabs et Pratique
GitHubowasp/securecodingdojo

SecureCodingDojo

Le Secure Coding Dojo est une plateforme pour dispenser des connaissances en codage sécurisé.

6071595il y a 9 moisVérifié par Kitploit
Voir le dépôt
Site web

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

À propos du Secure Coding Dojo

Le Secure Coding Dojo est une plateforme pour dispenser une formation au codage sécurisé. Bien qu'il soit livré avec sa propre application de formation vulnérable (le site Insecure.Inc), le portail de formation peut être utilisé conjointement avec d'autres applications de formation. La force de la plateforme réside dans son extensibilité et son intégration avec la plateforme de collaboration de développement couramment utilisée Slack. Le portail de formation peut être facilement configuré dans le cloud et des instructions pour la configuration AWS Elastic Beanstalk sont disponibles ci-dessous.

Assurez-vous également de consulter le wiki pour plus de détails sur le déploiement et l'installation du Dojo.

Démo

Téléchargez la démo pour avoir un aperçu du portail de formation et de l'application Insecure.Inc.

Jetez également un œil dans /screenshots Texte alternatif

Essayez-le

Les étapes suivantes vous donneront la configuration de base du Dojo. Pour une configuration avancée et des intégrations, consultez le wiki

  • Installez la dernière version de Docker.

  • Clonez le dépôt avec Git

  • Déplacez-vous dans le répertoire racine du dépôt

  • Configurez une variable d'environnement DATA_DIR comme point de montage pour les fichiers du dojo. Sur *nix/mac, modifiez .bash_profile comme suit

export DATA_DIR="/VOTRE_REPERTOIRE_DE_DONNEES"

  • Sur Mac, vous devez autoriser Docker à accéder à ce répertoire dans Docker > Préférences > Partage de fichiers

  • Redémarrez votre terminal

  • Lancez avec

    docker-compose up

  • Pourquoi un autre site de formation à la sécurité ?

    Bien que les sites de formation open source pour enseigner les concepts de sécurité des applications ne soient pas nouveaux, le public cible de ces sites a été les testeurs d'intrusion et les hackers éthiques. Le Secure Coding Dojo est principalement destiné comme plateforme de diffusion pour les développeurs, et voici pourquoi :

    • Il s'intègre avec Slack pour l'authentification
    • Il permet de regrouper les participants selon leurs équipes de développement
    • Il permet aux équipes de suivre leur progression et de rivaliser entre elles
    • Chaque leçon est construite comme une paire attaque/défense. Les développeurs peuvent observer les faiblesses logicielles en menant l'attaque et après avoir résolu le défi, ils apprennent les défenses logicielles associées (blocs de code)
    • Les leçons prédéfinies sont basées sur les erreurs logicielles les plus dangereuses de MITRE (également connues sous le nom de SANS 25), donc l'accent est mis sur les erreurs logicielles plutôt que sur les techniques d'attaque
    • Les défis de hacking prédéfinis sont créés pour les débutants et maintiennent l'engagement des développeurs
      • Sur d'autres sites de formation ou CTF, il y a un aspect énigme dans les défis qui est excellent pour le public des testeurs d'intrusion mais peut faire perdre l'intérêt de certains développeurs. Dans le Secure Coding Dojo, l'accent est mis sur la démonstration de la vulnérabilité.
      • Il y a des astuces qui aident les développeurs pendant qu'ils exploitent le problème pour éviter de rester bloqués

    SecureCodingDojo et exigences de conformité

    Bien que nous ne garantissions pas la conformité, la formation pourrait être utilisée pour répondre à des exigences de conformité telles que PCI 6.5.a. Voir le document du programme Insecure.Inc sur le mapping avec SANS 25 / OWASP Top 10 / PCI 6.5

    Prérequis de développement

    Portail de formation

    • Installez VS Code
    • node/npm (développé avec v10)
    • FACULTATIF : Serveur MySQL + MySQL Workbench (développé avec MySQL 5.7)

    Insecure.Inc

    • Développé en Java EE
    • Eclipse Java EE dernière version (développé avec Neon) + Java 1.8 + tomcat 8 pour l'application de formation Insecure.Inc

    Instructions de configuration de l'environnement de développement

    Portail de formation

    • Plus de détails sur le wiki

    Insecure.inc

    • Plus de détails sur le wiki

    Construction

    Portail de formation

    • Exécutez le script ./buildTrainingPortal.sh. Il construira une image Docker et un package AWS Elastic Beanstalk

    Insecure.Inc

    • Faites un clic droit sur le projet pour l'exporter en tant que fichier .war et déposez-le dans le dossier /webapps de votre installation Tomcat 8.

    Hébergement d'Insecure.Inc

    Consultez le wiki.

    Déploiement du portail de formation

    Plus d'informations sur le wiki.

    Instructions de configuration Slack

    Vous devrez créer une application Slack pour l'authentification.

    • Allez sur https://api.slack.com/
    • Cliquez sur "Start Building" et suivez les instructions pour créer une application Slack dans votre équipe Slack de développement
    • Une fois votre application créée, vous pourrez obtenir vos identifiants d'application pour configurer votre config.json
    • Configurez les URL de redirection sous OAuth & Permissions. Par exemple, pour une configuration localhost, l'URL de redirection serait : http://localhost:8081/public/slack/callback

    Instructions de configuration Google

    L'authentification Google peut également être configurée dans config.json. Vous aurez besoin d'un compte développeur Google et d'obtenir les identifiants OAuth depuis la console API Google : https://console.developers.google.com

    Au même endroit, vous configurerez votre domaine et les URI de redirection autorisés. Par exemple, pour une configuration localhost, l'URL de redirection serait : http://localhost:8081/public/google/callback

    Instructions de configuration de l'authentification locale

    Pour les petites équipes ou les images préconfigurées, l'authentification Slack ou Google peut ne pas être une option. Dans ce scénario, vous pouvez configurer l'authentification fonctionnant avec un fichier plat local.

    Consultez le wiki pour plus d'informations.

    • Copiez localUsers.json.sample vers localUsers.json
    • Ajoutez la ligne dans config.json qui spécifie le localUsersPath
    • Il y a plusieurs mises en garde avec l'authentification locale, comme l'absence de verrouillage de compte, l'expiration du mot de passe, etc.

    Instructions de configuration de la base de données

    Si vous ne configurez pas de base de données, le portail de formation utilisera simplement une base de données SQLite locale.

    Vous pouvez également installer MySQL et créer une base de données et des identifiants pour cette base de données. Notez votre nom d'utilisateur et votre mot de passe, vous en aurez besoin plus tard.

    Graines de clés de chiffrement et variables d'environnement

    Vous devrez configurer des clés de chiffrement en tant que variables d'environnement du système d'exploitation. Sur *nix/mac, modifiez .bash_profile comme suit

    root@kitploit:~
    export ENC_KEY="mettez quelque chose d'aléatoire ici"
    export ENC_KEY_IV="mettez quelque chose d'aléatoire ici"
    

    Ce qui suit est pour empêcher les participants de générer leurs propres codes de défi.

    root@kitploit:~
    export CHALLENGE_MASTER_SALT="mettez quelque chose d'aléatoire ici"
    

    Extension du Secure Coding Dojo

    Vous pouvez ajouter de nouvelles leçons en suivant le modèle des leçons existantes.

    Défis

    Les défis sont définis dans ./trainingportal/static/lessons Le fichier definitions.json pointe vers la description html du défi correspondant, le lien de jeu et les blocs de code correspondants par identifiant de bloc de code. Suivez les exemples déjà définis pour en créer un nouveau.

    root@kitploit:~
    .
    +-- /trainingportal/static/lessons
    |   +-- modules.json //fichier de configuration où les modules de leçon sont définis
    |   +-- /attack-grams //représentations visuelles des attaques incluses dans les descriptions de défi
    |   +-- /blackBelt //module de leçon
    |       +--definitions.json //définitions individuelles de leçons
    |       +--cwe494.md // fichier html ou markdown incluant la description de la leçon
    |       +--cwe494.sol.md //solution de la leçon
    |       ....
    |       +--quiz.html 
    |   +-- /secondDegreeBlackBelt
    

    Blocs de code

    Les blocs de code sont définis dans ./trainingportal/static/codeBlocks. Ce dossier a une structure similaire avec un json de définition et un ensemble de fichiers html pour chaque défi.

    root@kitploit:~
    .
    +-- /trainingportal/static/codeBlocks
    |   +-- codeBlocksDefinitions.json //fichier de configuration où les blocs de code sont définis
    |   +-- authenticationByDefault.html //fichier html de description du bloc de code
    |   ...
    |   +-- useStrongDataEncryption.html
    
    Télécharger l’outil