Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
SecureCodingDojo — Secure Coding Dojoは、セキュアコーディングの知識を提供するためのプラットフォームです。 | Kitploit
ツール/GitHubGitHub/owasp/securecodingdojo
脆弱性分析コード分析ウェブセキュリティCTFペネトレーションテストDevSecOps認証学習と教育ラボと実践
GitHubowasp/securecodingdojo

SecureCodingDojo

Secure Coding Dojoは、セキュアコーディングの知識を提供するためのプラットフォームです。

リポジトリを見る
6071598ヶ月前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
ウェブサイト

Secure Coding Dojoについて

Secure Coding Dojoは、安全なコーディングトレーニングを提供するためのプラットフォームです。 独自の脆弱性を含むトレーニングアプリケーション(Insecure.Incウェブサイト)が付属していますが、トレーニングポータルは他のトレーニングアプリケーションと組み合わせて使用できます。 このプラットフォームの強みは、拡張性と、一般的に使用されている開発コラボレーションプラットフォームSlackとの統合です。 トレーニングポータルはクラウド上に簡単にセットアップでき、AWS Elastic Beanstalkのセットアップ手順は以下で確認できます。

Dojoのデプロイとインストールの詳細については、wikiも必ずご確認ください。

デモ

トレーニングポータルとInsecure.Incアプリケーションの雰囲気をつかむには、デモをダウンロードしてください。

また、/screenshotsもご覧ください。 代替テキスト

試してみる

以下の手順でDojoの基本構成をセットアップできます。高度な構成と統合についてはwikiを確認してください。

  • Dockerの最新版をインストールします。

  • リポジトリをGit cloneします。

  • リポジトリのルートディレクトリに移動します。

  • Dojoファイルのマウントポイントとして環境変数DATA_DIRを設定します。*nix/macでは.bash_profileを次のように変更します。

    export DATA_DIR="/YOUR_DATA_DIR"

  • Macでは、Docker > Preferences > File SharingでDockerにこのディレクトリへのアクセスを許可する必要があります。

  • ターミナルを再起動します。

  • 次のコマンドで実行します。

    docker-compose up

なぜ別のセキュリティトレーニングサイトなのか?

アプリケーションセキュリティの概念を教えるオープンソースのトレーニングサイトは新しいものではありませんが、これらのサイトの対象読者はペンテスターや倫理的ハッカーでした。 Secure Coding Dojoは主に開発者向けの配信プラットフォームとして設計されています。その理由は次のとおりです。

  • Slackと統合して認証を行うため
  • 開発チームごとに参加者をグループ化できるため
  • チームが進捗を追跡し、互いに競争できるため
  • 各レッスンは攻撃/防御のペアとして構築されています。開発者は攻撃を実施することでソフトウェアの弱点を観察でき、チャレンジを解決した後に関連するソフトウェア防御(コードブロック)について学べます
  • 事前定義されたレッスンはMITREが定める最も危険なソフトウェアエラー(SANS 25としても知られる)に基づいているため、攻撃手法ではなくソフトウェアエラーに焦点を当てています
  • 事前定義されたハッキングチャレンジは初心者向けに作成されており、開発者の関心を引き付け続けます
    • 他のトレーニングサイトやCTFでは、チャレンジにパズルの要素があり、ペンテスター向けには最適ですが、一部の開発者は興味を失う可能性があります。Secure Coding Dojoでは、脆弱性の実証に焦点を置いています
    • 開発者が問題を悪用する際に立ち往生しないように役立つヒントがあります

SecureCodingDojoとコンプライアンス要件

コンプライアンスを保証するものではありませんが、このトレーニングはPCI 6.5.aなどのコンプライアンス要件を満たすために使用できます。SANS 25/ OWASP Top 10 / PCI 6.5へのマッピングに関するInsecure.Incカリキュラム文書を参照してください。

開発の前提条件

トレーニングポータル

  • VS Codeをインストールします。
  • node/npm(v10で開発)
  • オプション: MySQLサーバー + My SQL Workbench(MySQL 5.7で開発)

Insecure.Inc

  • Java EEで開発
  • Insecure.Incトレーニングアプリ用にEclipse Java EE最新版(Neonで開発)+ Java 1.8 + tomcat 8

開発環境のセットアップ手順

トレーニングポータル

  • 詳細はwikiを参照してください。

Insecure.inc

  • 詳細はwikiを参照してください。

ビルド

トレーニングポータル

  • ./buildTrainingPortal.shスクリプトを実行します。DockerイメージとAWS Elastic Beanstalkパッケージがビルドされます。

Insecure.Inc

  • プロジェクトを右クリックして.warファイルとしてエクスポートし、Tomcat 8インストールの/webappsフォルダに配置します。

Insecure.Incのホスティング

wikiを確認してください。

トレーニングポータルのデプロイ

詳細はwikiをご覧ください。

Slackセットアップ手順

認証用のSlackアプリを作成する必要があります。

  • https://api.slack.com/ にアクセスします。
  • 「Start Building」をクリックし、プロンプトに従って開発用SlackチームにSlackアプリを作成します。
  • アプリが作成されたら、config.jsonを設定するためのApp Credentialsを取得できます。
  • OAuth & PermissionsでリダイレクトURLを設定します。たとえばlocalhostセットアップの場合、リダイレクトURLは次のようになります: http://localhost:8081/public/slack/callback

Googleセットアップ手順

Google認証もconfig.jsonで設定できます。Googleデベロッパーアカウントが必要で、Google APIコンソール(https://console.developers.google.com)からOAuth資格情報を取得する必要があります。

同じ場所でドメインと承認済みリダイレクトURIを設定します。たとえばlocalhostセットアップの場合、リダイレクトURLは次のようになります: http://localhost:8081/public/google/callback

ローカル認証セットアップ手順

小規模なチームや事前構成済みイメージの場合、SlackやGoogle認証が利用できないことがあります。このシナリオでは、ローカルのフラットファイルを使用した認証を設定できます。

詳細はwikiを確認してください。

  • localUsers.json.sampleをlocalUsers.jsonにコピーします。
  • config.jsonにlocalUsersPathを指定する行を追加します。
  • ローカル認証には、アカウントロックアウトの欠如、パスワードの有効期限の欠如など、いくつかの注意点があります。

DBセットアップ手順

DBを設定しない場合、トレーニングポータルはローカルのSQLite DBを使用します。

MySQLをインストールして、DBとそのDBの資格情報を作成することもできます。後で必要になるので、ユーザー名とパスワードを控えておいてください。

暗号化キーシードと環境変数

OS環境変数として暗号化キーを設定する必要があります。*nix/macでは.bash_profileを次のように変更します。

root@kitploit:~
export ENC_KEY="put something random here"
export ENC_KEY_IV="put something random here"

以下は、参加者が独自のチャレンジコードを生成するのを防ぐためのものです。

root@kitploit:~
export CHALLENGE_MASTER_SALT="put something random here"

Secure Coding Dojoの拡張

既存のレッスンのモデルに従って、新しいレッスンを追加できます。

チャレンジ

チャレンジは./trainingportal/static/lessonsで定義されています。

definitions.jsonファイルは、対応するHTMLチャレンジの説明、プレイリンク、および対応するコードブロックをコードブロックIDによって指定します。

既存の定義済みの例に従って、新しいものを作成します。

root@kitploit:~
.
+-- /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

コードブロック

コードブロックは./trainingportal/static/codeBlocksで定義されています。このフォルダも同様の構造で、定義JSONと各チャレンジ用の多数のHTMLファイルが含まれています。

root@kitploit:~
.
+-- /trainingportal/static/codeBlocks
|   +-- codeBlocksDefinitions.json //configuration file where code blocks are defined
|   +-- authenticationByDefault.html //code block description html
|   ...
|   +-- useStrongDataEncryption.html
ツールをダウンロード