プロダクト

開発者がセキュアなコードを書けるように、
コードでトレーニングします。

本物のセキュリティ感覚を養うインタラクティブなチャレンジとガイド付きシナリオ。スライドでも動画でもありません。185以上の脆弱性タイプと15言語をカバーする実践型トレーニングです。

デモを試す
2つのトレーニングモード

観るのではなく、実践で学びます。

演習

コードレビュー・チャレンジ

開発者は実際の脆弱なコードをレビューしてセキュリティ上の欠陥を特定し、複数の選択肢から正しい修正を選びます。2フェーズ構成で、検出力と修正力の両方を養います。

  • フェーズ1:脆弱なコードブロックを見つける
  • フェーズ2:正しい修正を選ぶ
  • ペナルティなしでヒント利用可能
  • 試行回数に基づくスコアリング
auth-controller.js
1const express = require('express')
2const db = require('./db')
3 
4const q = `SELECT * FROM users WHERE email = '${email}'`
5const rows = await db.execute(q)
6return rows[0]
フェーズ1 — 脆弱性を見つける
学習

ガイド付きシナリオ

実世界の攻撃をシミュレートする、ステップ・バイ・ステップのインタラクティブなウォークスルー。開発者は偵察から悪用、修正までの攻撃チェーン全体を体験します。

  • リアルなブラウザーシミュレーション
  • 攻撃チェーンのウォークスルー
  • 各ステップでのコード調査
  • 修正の検証と解説
bank.example.com/login
メールアドレス
admin@company.com
OTPコード
ログイン
ステップ 1 / 8
包括的なカバレッジ

主要な脆弱性カテゴリーを網羅。
死角はありません。

OWASP Web Top 10

78 トピック

SQL InjectionXSSCSRFSSRF

OWASP API Top 10

35 トピック

BOLAMass AssignmentRate LimitingSSRF

OWASP Mobile Top 10

37 トピック

Insecure StorageBiometric BypassWebView Injection

クライアントサイド・セキュリティ

36 トピック

DOM XSSPrototype PollutionLocalStorage Leak
言語サポート

チームが書くすべての言語に対応します。

チャレンジは各言語・フレームワークの本番環境に近い実装パターンで書かれており、擬似コードではありません。

バックエンド
JSJavaScript
TSTypeScript
PYPython
JAJava
C#C#
PHPPHP
GOGo
モバイル
SWSwift
KTKotlin
フロントエンド
Re/JSReact + JavaScript
Re/TSReact + TypeScript
Vu/JSVue + JavaScript
Vu/TSVue + TypeScript
Ng/JSAngular + JavaScript
Ng/TSAngular + TypeScript
1const query = `SELECT * FROM users
2 WHERE email = ${req.body.email}`
3// Vulnerable: string interpolation
エンタープライズ対応

組織の既存の運用方法に合わせて構築されています。

シングルサインオン

既存のアイデンティティプロバイダーで開発者を認証します。摩擦ゼロのオンボーディング。

SAML 2.0Azure ADOktaGoogle

SCIMプロビジョニング

アイデンティティプロバイダーからユーザーとチームを自動同期します。手動管理は不要です。

Auto-syncJIT Provisioning

SCORM統合

LMS内にSCORMパッケージとしてデプロイします。進捗とスコアは自動的に同期されます。

MoodleSAPCornerstone

課題

特定のトピックを期限付きでチームに割り当てます。組織全体の完了状況を追跡できます。

期限チーム目標

アナリティクス

開発者別・チーム別の進捗を表示するダッシュボード。脆弱性カテゴリー別に知識のギャップを特定できます。

スコアギャップ分析レポート
Azure AD
Okta
Google Workspace
OneLogin
Moodle
SAP
Cornerstone
Docebo
購入担当者向けの注意点

セキュリティ責任者がこのプラットフォームをどう評価するか。

購入担当者が一般的にSecureCodingHubをどう評価するか

構造化された評価を行うセキュリティエンジニアリングの責任者の多くは、同じような形で臨みます。4〜6週間のパイロット、15〜40名の開発者を擁する1つのエンジニアリングチーム、そして自社のSASTやペネトレーションテストレポートでの最近の検出結果に対応する脆弱性カテゴリーの絞り込みリストです。パイロットの目的は、プラットフォームが機能するかどうかではほとんどありません。開発者がプラットフォームに取り組むか、コンテンツが本番コードと比較して通用するか、そして測定のストーリーがCISOや監査人に対して説明できるほど信頼できるかどうかが論点です。

完了率ではなく正解率を測定することを推奨します。完了率は必須の期限を設定することで簡単に操作でき、開発者が自分のサービス内のインジェクションシンクを認識できるかどうかについてはほとんど何も教えてくれません。フェーズ1の検出における初回試行の正解率と、フェーズ2の正しい修正までの時間を組み合わせることで、四半期ごとに推移を追える、説明可能なシグナルが得られます。当社では両方のメトリクスを開発者別・トピック別に提供し、チームレベルおよびカテゴリーレベルで集計します。

パイロット中にもう1つ問うべき質問は、言語カバレッジが実際にチームが本番環境で書いている言語と一致しているかどうかです。Pythonのコンテンツが浅いのにスタックの半分がPythonであれば、紙の上のカバレッジにはほとんど意味がありません。当社はパイロット開始前にチームリードとコンテンツレビュー・セッションを実施し、割り当てられるモジュールが開発者自身のリポジトリで認識できる内容を反映するようにします。

既存のSAST・DASTと並存する形でのプラットフォームの位置付け

SecureCodingHubはトレーニング・プラットフォームであり、解析ツールではありません。SAST、DAST、IAST、SCAを置き換えるものではありません。お客様から聞いた最も明確な位置付けの説明は、スキャナーは開発者にどのバグを書いたかを伝え、SecureCodingHubは次のバグを書かない方法を教えるというものです。2つの領域は語彙を共有しています。SemgrepやSnykの検出結果でパストラバーサルのシンクがフラグ付けされたとき、それを修正する開発者はすでに割り当てられたカリキュラムでパストラバーサルのモジュールを完了しているはずです。

開発者セキュリティチャンピオン・プログラムを運用している組織にとって、プラットフォームはチャンピオン役割と自然に組み合わさります。チャンピオンが先に深いパスを完了し、その後チームのコードレビューの第一線として活動します。オンボーディング時に別途チャンピオン・トラックをスコープ設定し、レポーティング上で独立したコホートとして可視化することも可能です。

プラットフォームが意図的に行わないこと

明確にしておきたい点がいくつかあります。SecureCodingHubはCTFプラットフォームではありません。チャレンジは本番コードのパターンを中心に構築されており、人工的なフラグはなく、スコアボード文化もありません。開発者ごとに購入する単発コースのマーケットプレイスでもありません。ライセンスは組織単位またはシート単位で、カタログは1つのキュレーションされたライブラリであり、コミュニティアップロードのロングテールではありません。そして静的解析の代替品でもありません。評価基準にコードスキャン機能が含まれている場合、対象カテゴリーが間違っているため、最初のコールでその旨をお伝えします。

これを申し上げるのは、ミスマッチが双方にとって高くつくからです。1週目で終わるべきベンダー評価が四半期にわたって長引くと、お客様のチームと当社双方のカレンダーを浪費します。本製品は意図的に範囲を絞っています。1つのこと — 開発者が自分の言語で脆弱性パターンを認識して修正できるようにトレーニングする — を行い、それ以外の作業はスタック内の他のツールに委ねます。

実際の動作をご覧ください。

インタラクティブなデモを試すか、エンジニアリング組織へのSecureCodingHub導入について当社チームにご相談ください。