でプライベートコンストラクタを自動的に追加します。Sensei
でプライベートコンストラクタを自動的に追加します。Sensei
ユーティリティクラスでは、フィールドやメソッドがスタティックである場合、インスタンス化する理由は明らかではありません。
例:UtilityClass utility = new UtilityClass();
以下のコードは、Utilityクラスの簡単な実装です。
public class UtilityClass {
public static final Boolean ULTIMATE_TRUTH = true;
public static boolean getTrue(){
return ULTIMATE_TRUTH;
}
}
このようなコーディングパターンは、静的解析ツールが拾い上げることができますが、問題を解決する能力は供給されないことが多いです。
Sensei を使ってコーディングパターンを特定し、プライベートコンストラクタを自動的に生成して、私がそのクラスをインスタンス化できないようにすることができます。
クラスを検索する
ユーティリティクラスに新しいレシピを追加します。
- スタティッククラス:プライベートコンストラクタの作成

そして最初は、クラスを検索するためのシンプルなマッチャーを作ります。
の検索を行います。
class: {}
これはどんなクラスにもマッチするので、クイックフィックスを書き始めるには十分です。うまくいくクイックフィックスができたら、プライベートコンストラクタを必要とするクラスがある可能性が高いときに、検索がハイライトされるように改良してみます。

クイックフィックス
クイックフィックスでは、プライベートコンストラクタを生成したいと思います。
例のクラスでは次のようになります。
private UtilityClass(){}。
上記のコードを自分のクラスに追加するために、私のQuick FixはMethodを追加し、メソッドの名前はクラスの名前を使用したMustacheテンプレートにします。
availableFixes:
- name: "add private constructor"
actions:
- addMethod:
method: "private {{{ name }}}(){}"
GUI Editorでは、Show Variablesを使ってMustacheテンプレートを作成し、フィールドを編集してprivate modifier、brackets、bracesを追加して、構文的に正しいものにしています。

これで、どのクラスにもプライベートコンストラクタを追加できるようになりました。
QuickFixのプレビューでは、Mustacheのテンプレートを書きながら、生成されたコードを確認できるので助かります。

これで問題を解決することができました。最適なタイミングでレシピが表示されるように、検索条件を改良してみます。
欠落したコンストラクタの検索
理想的には、すべてのクラスに対してエラーのフラグを立てるようなレシピは作りたくありません。そこで、検索条件を追加して、コンストラクタを持たないクラスにのみマッチするようにします。
の検索を行います。
class:
without:
child:
method:
constructor: true
YAMLはGUIとは若干異なります。
GUIでは、コンストラクタの'yes'である子メソッドのないクラスを探すように設定しています。GUIでは'true'の代わりに'yes'を使うことで、少しでも人間に優しいGUIを実現しています。

このレシピは、コンストラクタを持たないクラスに対してのみ表示されます。
原因となりそうなものを絞り込む
そこで、さらに踏み込んで、静的なメソッドやフィールドの存在を確認したいと思います。
コンストラクタのないクラスで、すべてのパブリックスタティックフィールドまたはすべてのパブリックスタティックメソッドを持つクラスを探します。
の検索を行います。
class:
with:
anyOf:
- child:
method:
allOf:
- modifier:"public"
- modifier:"static"
- child:
field:
allOf:
- modifier:"static"
- modifier:"public"
without:
child:
method:
constructor: true
Sensei は、コードを静的に分析してすべてのエラーを報告するのではなく、プログラマーである私を IDE で支援するために使用されているので、このフィルタは、私のコードベースでデフォルトのパブリック コンストラクタを持つ正当な理由があるほとんどのクラスを除外するのに十分です。
プロジェクトによっては、ユーティリティークラスがプライベートメソッドを持っている可能性があるので、「すべて」ではなく「任意の」パブリックスタティックメソッドの存在を探すことにするかもしれません。
- 子:
フィールド:
anyOf:
- 修飾語。"static"
- 修飾子。"public"
ヒント
Sensei は、静的解析ツールを置き換えるためのものではありません。Sensei は、コーディングプロセスや技術に関連する一般的な問題に対して、静的解析ツールを補強することができます。問題を浮き彫りにするのに十分なマッチングを再現し、QuickFixコードを生成することで開発プロセスをサポートします。
私がやろうとしているのは、必要な場面をすべて含んだシンプルなレシピを作ることですが、すべてのクラスで提案されないようにフィルタリングすることです。
今回の場合、プライベートコンストラクタを作成できるかどうかわからなかったので、まずQuickFixを作成しました。その後、検索条件をより具体的にするためにリファクタリングを行いました。
レシピを作るときに、検索の仕方がよくわからないことがあるので、まずそれを解決します。
レシピは、QuickFixのリファクタリングと検索を切り替えながら、段階的に構築していくと作りやすいですね。
---
IntelliJの「Preferences ‾ Plugins」(Mac)または「Settings ‾ Plugins」(Windows)から、「sensei secure code」を検索して、「Sensei 」をインストールできます。
このためのソースコードとレシピは、Secure Code Warrior GitHub アカウントの `sensei-blog-examples` リポジトリの `pojoexamples` モジュールの中にあります。
https://github.com/securecodewarrior/sensei-blog-examples
アラン・リチャードソンは、20年以上にわたり、開発者として、またテスターからテスト責任者まで、あらゆるレベルのテストに携わってきたプロフェッショナルなIT経験を持っています。アラン・リチャードソンは、Secure Code Warrior のデベロッパーリレーションズの責任者として、チームと直接連携し、高品質で安全なコードの開発を促進しています。また、「Dear Evil Tester」や「Java For Testers」など4冊の著書があります。また、テクニカルWebテストやSelenium WebDriver with Javaを学ぶためのオンライントレーニングcourses を作成しています。アランは、SeleniumSimplified.com、EvilTester.com、JavaForTesters.com、CompendiumDev.co.ukに執筆やトレーニングビデオを掲載している。

Secure Code Warrior は、ソフトウェア開発ライフサイクル全体にわたってコードを保護し、サイバーセキュリティを最優先とする企業文化を創造するために、お客様の組織を支援します。AppSec マネージャー、開発者、CISO、またはセキュリティに関わるすべての人が、安全でないコードに関連するリスクを減らすことができるよう、支援します。
デモを予約するアラン・リチャードソンは、20年以上にわたり、開発者として、またテスターからテスト責任者まで、あらゆるレベルのテストに携わってきたプロフェッショナルなIT経験を持っています。アラン・リチャードソンは、Secure Code Warrior のデベロッパーリレーションズの責任者として、チームと直接連携し、高品質で安全なコードの開発を促進しています。また、「Dear Evil Tester」や「Java For Testers」など4冊の著書があります。また、テクニカルWebテストやSelenium WebDriver with Javaを学ぶためのオンライントレーニングcourses を作成しています。アランは、SeleniumSimplified.com、EvilTester.com、JavaForTesters.com、CompendiumDev.co.ukに執筆やトレーニングビデオを掲載している。


でプライベートコンストラクタを自動的に追加します。Sensei
ユーティリティクラスでは、フィールドやメソッドがスタティックである場合、インスタンス化する理由は明らかではありません。
例:UtilityClass utility = new UtilityClass();
以下のコードは、Utilityクラスの簡単な実装です。
public class UtilityClass {
public static final Boolean ULTIMATE_TRUTH = true;
public static boolean getTrue(){
return ULTIMATE_TRUTH;
}
}
このようなコーディングパターンは、静的解析ツールが拾い上げることができますが、問題を解決する能力は供給されないことが多いです。
Sensei を使ってコーディングパターンを特定し、プライベートコンストラクタを自動的に生成して、私がそのクラスをインスタンス化できないようにすることができます。
クラスを検索する
ユーティリティクラスに新しいレシピを追加します。
- スタティッククラス:プライベートコンストラクタの作成

そして最初は、クラスを検索するためのシンプルなマッチャーを作ります。
の検索を行います。
class: {}
これはどんなクラスにもマッチするので、クイックフィックスを書き始めるには十分です。うまくいくクイックフィックスができたら、プライベートコンストラクタを必要とするクラスがある可能性が高いときに、検索がハイライトされるように改良してみます。

クイックフィックス
クイックフィックスでは、プライベートコンストラクタを生成したいと思います。
例のクラスでは次のようになります。
private UtilityClass(){}。
上記のコードを自分のクラスに追加するために、私のQuick FixはMethodを追加し、メソッドの名前はクラスの名前を使用したMustacheテンプレートにします。
availableFixes:
- name: "add private constructor"
actions:
- addMethod:
method: "private {{{ name }}}(){}"
GUI Editorでは、Show Variablesを使ってMustacheテンプレートを作成し、フィールドを編集してprivate modifier、brackets、bracesを追加して、構文的に正しいものにしています。

これで、どのクラスにもプライベートコンストラクタを追加できるようになりました。
QuickFixのプレビューでは、Mustacheのテンプレートを書きながら、生成されたコードを確認できるので助かります。

これで問題を解決することができました。最適なタイミングでレシピが表示されるように、検索条件を改良してみます。
欠落したコンストラクタの検索
理想的には、すべてのクラスに対してエラーのフラグを立てるようなレシピは作りたくありません。そこで、検索条件を追加して、コンストラクタを持たないクラスにのみマッチするようにします。
の検索を行います。
class:
without:
child:
method:
constructor: true
YAMLはGUIとは若干異なります。
GUIでは、コンストラクタの'yes'である子メソッドのないクラスを探すように設定しています。GUIでは'true'の代わりに'yes'を使うことで、少しでも人間に優しいGUIを実現しています。

このレシピは、コンストラクタを持たないクラスに対してのみ表示されます。
原因となりそうなものを絞り込む
そこで、さらに踏み込んで、静的なメソッドやフィールドの存在を確認したいと思います。
コンストラクタのないクラスで、すべてのパブリックスタティックフィールドまたはすべてのパブリックスタティックメソッドを持つクラスを探します。
の検索を行います。
class:
with:
anyOf:
- child:
method:
allOf:
- modifier:"public"
- modifier:"static"
- child:
field:
allOf:
- modifier:"static"
- modifier:"public"
without:
child:
method:
constructor: true
Sensei は、コードを静的に分析してすべてのエラーを報告するのではなく、プログラマーである私を IDE で支援するために使用されているので、このフィルタは、私のコードベースでデフォルトのパブリック コンストラクタを持つ正当な理由があるほとんどのクラスを除外するのに十分です。
プロジェクトによっては、ユーティリティークラスがプライベートメソッドを持っている可能性があるので、「すべて」ではなく「任意の」パブリックスタティックメソッドの存在を探すことにするかもしれません。
- 子:
フィールド:
anyOf:
- 修飾語。"static"
- 修飾子。"public"
ヒント
Sensei は、静的解析ツールを置き換えるためのものではありません。Sensei は、コーディングプロセスや技術に関連する一般的な問題に対して、静的解析ツールを補強することができます。問題を浮き彫りにするのに十分なマッチングを再現し、QuickFixコードを生成することで開発プロセスをサポートします。
私がやろうとしているのは、必要な場面をすべて含んだシンプルなレシピを作ることですが、すべてのクラスで提案されないようにフィルタリングすることです。
今回の場合、プライベートコンストラクタを作成できるかどうかわからなかったので、まずQuickFixを作成しました。その後、検索条件をより具体的にするためにリファクタリングを行いました。
レシピを作るときに、検索の仕方がよくわからないことがあるので、まずそれを解決します。
レシピは、QuickFixのリファクタリングと検索を切り替えながら、段階的に構築していくと作りやすいですね。
---
IntelliJの「Preferences ‾ Plugins」(Mac)または「Settings ‾ Plugins」(Windows)から、「sensei secure code」を検索して、「Sensei 」をインストールできます。
このためのソースコードとレシピは、Secure Code Warrior GitHub アカウントの `sensei-blog-examples` リポジトリの `pojoexamples` モジュールの中にあります。
https://github.com/securecodewarrior/sensei-blog-examples

でプライベートコンストラクタを自動的に追加します。Sensei
ユーティリティクラスでは、フィールドやメソッドがスタティックである場合、インスタンス化する理由は明らかではありません。
例:UtilityClass utility = new UtilityClass();
以下のコードは、Utilityクラスの簡単な実装です。
public class UtilityClass {
public static final Boolean ULTIMATE_TRUTH = true;
public static boolean getTrue(){
return ULTIMATE_TRUTH;
}
}
このようなコーディングパターンは、静的解析ツールが拾い上げることができますが、問題を解決する能力は供給されないことが多いです。
Sensei を使ってコーディングパターンを特定し、プライベートコンストラクタを自動的に生成して、私がそのクラスをインスタンス化できないようにすることができます。
クラスを検索する
ユーティリティクラスに新しいレシピを追加します。
- スタティッククラス:プライベートコンストラクタの作成

そして最初は、クラスを検索するためのシンプルなマッチャーを作ります。
の検索を行います。
class: {}
これはどんなクラスにもマッチするので、クイックフィックスを書き始めるには十分です。うまくいくクイックフィックスができたら、プライベートコンストラクタを必要とするクラスがある可能性が高いときに、検索がハイライトされるように改良してみます。

クイックフィックス
クイックフィックスでは、プライベートコンストラクタを生成したいと思います。
例のクラスでは次のようになります。
private UtilityClass(){}。
上記のコードを自分のクラスに追加するために、私のQuick FixはMethodを追加し、メソッドの名前はクラスの名前を使用したMustacheテンプレートにします。
availableFixes:
- name: "add private constructor"
actions:
- addMethod:
method: "private {{{ name }}}(){}"
GUI Editorでは、Show Variablesを使ってMustacheテンプレートを作成し、フィールドを編集してprivate modifier、brackets、bracesを追加して、構文的に正しいものにしています。

これで、どのクラスにもプライベートコンストラクタを追加できるようになりました。
QuickFixのプレビューでは、Mustacheのテンプレートを書きながら、生成されたコードを確認できるので助かります。

これで問題を解決することができました。最適なタイミングでレシピが表示されるように、検索条件を改良してみます。
欠落したコンストラクタの検索
理想的には、すべてのクラスに対してエラーのフラグを立てるようなレシピは作りたくありません。そこで、検索条件を追加して、コンストラクタを持たないクラスにのみマッチするようにします。
の検索を行います。
class:
without:
child:
method:
constructor: true
YAMLはGUIとは若干異なります。
GUIでは、コンストラクタの'yes'である子メソッドのないクラスを探すように設定しています。GUIでは'true'の代わりに'yes'を使うことで、少しでも人間に優しいGUIを実現しています。

このレシピは、コンストラクタを持たないクラスに対してのみ表示されます。
原因となりそうなものを絞り込む
そこで、さらに踏み込んで、静的なメソッドやフィールドの存在を確認したいと思います。
コンストラクタのないクラスで、すべてのパブリックスタティックフィールドまたはすべてのパブリックスタティックメソッドを持つクラスを探します。
の検索を行います。
class:
with:
anyOf:
- child:
method:
allOf:
- modifier:"public"
- modifier:"static"
- child:
field:
allOf:
- modifier:"static"
- modifier:"public"
without:
child:
method:
constructor: true
Sensei は、コードを静的に分析してすべてのエラーを報告するのではなく、プログラマーである私を IDE で支援するために使用されているので、このフィルタは、私のコードベースでデフォルトのパブリック コンストラクタを持つ正当な理由があるほとんどのクラスを除外するのに十分です。
プロジェクトによっては、ユーティリティークラスがプライベートメソッドを持っている可能性があるので、「すべて」ではなく「任意の」パブリックスタティックメソッドの存在を探すことにするかもしれません。
- 子:
フィールド:
anyOf:
- 修飾語。"static"
- 修飾子。"public"
ヒント
Sensei は、静的解析ツールを置き換えるためのものではありません。Sensei は、コーディングプロセスや技術に関連する一般的な問題に対して、静的解析ツールを補強することができます。問題を浮き彫りにするのに十分なマッチングを再現し、QuickFixコードを生成することで開発プロセスをサポートします。
私がやろうとしているのは、必要な場面をすべて含んだシンプルなレシピを作ることですが、すべてのクラスで提案されないようにフィルタリングすることです。
今回の場合、プライベートコンストラクタを作成できるかどうかわからなかったので、まずQuickFixを作成しました。その後、検索条件をより具体的にするためにリファクタリングを行いました。
レシピを作るときに、検索の仕方がよくわからないことがあるので、まずそれを解決します。
レシピは、QuickFixのリファクタリングと検索を切り替えながら、段階的に構築していくと作りやすいですね。
---
IntelliJの「Preferences ‾ Plugins」(Mac)または「Settings ‾ Plugins」(Windows)から、「sensei secure code」を検索して、「Sensei 」をインストールできます。
このためのソースコードとレシピは、Secure Code Warrior GitHub アカウントの `sensei-blog-examples` リポジトリの `pojoexamples` モジュールの中にあります。
https://github.com/securecodewarrior/sensei-blog-examples

以下のリンクをクリックし、この資料のPDFをダウンロードしてください。
Secure Code Warrior は、ソフトウェア開発ライフサイクル全体にわたってコードを保護し、サイバーセキュリティを最優先とする企業文化を創造するために、お客様の組織を支援します。AppSec マネージャー、開発者、CISO、またはセキュリティに関わるすべての人が、安全でないコードに関連するリスクを減らすことができるよう、支援します。
レポートを見るデモを予約するアラン・リチャードソンは、20年以上にわたり、開発者として、またテスターからテスト責任者まで、あらゆるレベルのテストに携わってきたプロフェッショナルなIT経験を持っています。アラン・リチャードソンは、Secure Code Warrior のデベロッパーリレーションズの責任者として、チームと直接連携し、高品質で安全なコードの開発を促進しています。また、「Dear Evil Tester」や「Java For Testers」など4冊の著書があります。また、テクニカルWebテストやSelenium WebDriver with Javaを学ぶためのオンライントレーニングcourses を作成しています。アランは、SeleniumSimplified.com、EvilTester.com、JavaForTesters.com、CompendiumDev.co.ukに執筆やトレーニングビデオを掲載している。
でプライベートコンストラクタを自動的に追加します。Sensei
ユーティリティクラスでは、フィールドやメソッドがスタティックである場合、インスタンス化する理由は明らかではありません。
例:UtilityClass utility = new UtilityClass();
以下のコードは、Utilityクラスの簡単な実装です。
public class UtilityClass {
public static final Boolean ULTIMATE_TRUTH = true;
public static boolean getTrue(){
return ULTIMATE_TRUTH;
}
}
このようなコーディングパターンは、静的解析ツールが拾い上げることができますが、問題を解決する能力は供給されないことが多いです。
Sensei を使ってコーディングパターンを特定し、プライベートコンストラクタを自動的に生成して、私がそのクラスをインスタンス化できないようにすることができます。
クラスを検索する
ユーティリティクラスに新しいレシピを追加します。
- スタティッククラス:プライベートコンストラクタの作成

そして最初は、クラスを検索するためのシンプルなマッチャーを作ります。
の検索を行います。
class: {}
これはどんなクラスにもマッチするので、クイックフィックスを書き始めるには十分です。うまくいくクイックフィックスができたら、プライベートコンストラクタを必要とするクラスがある可能性が高いときに、検索がハイライトされるように改良してみます。

クイックフィックス
クイックフィックスでは、プライベートコンストラクタを生成したいと思います。
例のクラスでは次のようになります。
private UtilityClass(){}。
上記のコードを自分のクラスに追加するために、私のQuick FixはMethodを追加し、メソッドの名前はクラスの名前を使用したMustacheテンプレートにします。
availableFixes:
- name: "add private constructor"
actions:
- addMethod:
method: "private {{{ name }}}(){}"
GUI Editorでは、Show Variablesを使ってMustacheテンプレートを作成し、フィールドを編集してprivate modifier、brackets、bracesを追加して、構文的に正しいものにしています。

これで、どのクラスにもプライベートコンストラクタを追加できるようになりました。
QuickFixのプレビューでは、Mustacheのテンプレートを書きながら、生成されたコードを確認できるので助かります。

これで問題を解決することができました。最適なタイミングでレシピが表示されるように、検索条件を改良してみます。
欠落したコンストラクタの検索
理想的には、すべてのクラスに対してエラーのフラグを立てるようなレシピは作りたくありません。そこで、検索条件を追加して、コンストラクタを持たないクラスにのみマッチするようにします。
の検索を行います。
class:
without:
child:
method:
constructor: true
YAMLはGUIとは若干異なります。
GUIでは、コンストラクタの'yes'である子メソッドのないクラスを探すように設定しています。GUIでは'true'の代わりに'yes'を使うことで、少しでも人間に優しいGUIを実現しています。

このレシピは、コンストラクタを持たないクラスに対してのみ表示されます。
原因となりそうなものを絞り込む
そこで、さらに踏み込んで、静的なメソッドやフィールドの存在を確認したいと思います。
コンストラクタのないクラスで、すべてのパブリックスタティックフィールドまたはすべてのパブリックスタティックメソッドを持つクラスを探します。
の検索を行います。
class:
with:
anyOf:
- child:
method:
allOf:
- modifier:"public"
- modifier:"static"
- child:
field:
allOf:
- modifier:"static"
- modifier:"public"
without:
child:
method:
constructor: true
Sensei は、コードを静的に分析してすべてのエラーを報告するのではなく、プログラマーである私を IDE で支援するために使用されているので、このフィルタは、私のコードベースでデフォルトのパブリック コンストラクタを持つ正当な理由があるほとんどのクラスを除外するのに十分です。
プロジェクトによっては、ユーティリティークラスがプライベートメソッドを持っている可能性があるので、「すべて」ではなく「任意の」パブリックスタティックメソッドの存在を探すことにするかもしれません。
- 子:
フィールド:
anyOf:
- 修飾語。"static"
- 修飾子。"public"
ヒント
Sensei は、静的解析ツールを置き換えるためのものではありません。Sensei は、コーディングプロセスや技術に関連する一般的な問題に対して、静的解析ツールを補強することができます。問題を浮き彫りにするのに十分なマッチングを再現し、QuickFixコードを生成することで開発プロセスをサポートします。
私がやろうとしているのは、必要な場面をすべて含んだシンプルなレシピを作ることですが、すべてのクラスで提案されないようにフィルタリングすることです。
今回の場合、プライベートコンストラクタを作成できるかどうかわからなかったので、まずQuickFixを作成しました。その後、検索条件をより具体的にするためにリファクタリングを行いました。
レシピを作るときに、検索の仕方がよくわからないことがあるので、まずそれを解決します。
レシピは、QuickFixのリファクタリングと検索を切り替えながら、段階的に構築していくと作りやすいですね。
---
IntelliJの「Preferences ‾ Plugins」(Mac)または「Settings ‾ Plugins」(Windows)から、「sensei secure code」を検索して、「Sensei 」をインストールできます。
このためのソースコードとレシピは、Secure Code Warrior GitHub アカウントの `sensei-blog-examples` リポジトリの `pojoexamples` モジュールの中にあります。
https://github.com/securecodewarrior/sensei-blog-examples
目次
アラン・リチャードソンは、20年以上にわたり、開発者として、またテスターからテスト責任者まで、あらゆるレベルのテストに携わってきたプロフェッショナルなIT経験を持っています。アラン・リチャードソンは、Secure Code Warrior のデベロッパーリレーションズの責任者として、チームと直接連携し、高品質で安全なコードの開発を促進しています。また、「Dear Evil Tester」や「Java For Testers」など4冊の著書があります。また、テクニカルWebテストやSelenium WebDriver with Javaを学ぶためのオンライントレーニングcourses を作成しています。アランは、SeleniumSimplified.com、EvilTester.com、JavaForTesters.com、CompendiumDev.co.ukに執筆やトレーニングビデオを掲載している。

Secure Code Warrior は、ソフトウェア開発ライフサイクル全体にわたってコードを保護し、サイバーセキュリティを最優先とする企業文化を創造するために、お客様の組織を支援します。AppSec マネージャー、開発者、CISO、またはセキュリティに関わるすべての人が、安全でないコードに関連するリスクを減らすことができるよう、支援します。
デモを予約するダウンロード始めるためのリソース
セキュア・バイ・デザインベストプラクティスの定義、開発者の能力向上、予防的セキュリティ成果のベンチマーク
このリサーチペーパーでは、Secure Code Warrior 共同設立者であるピーテル・ダニュー(Pieter Danhieux)氏とマティアス・マドゥ(Matias Madou)博士、そして専門家であるクリス・イングリス(Chris Inglis)氏(元米国サイバーディレクター、現パラディン・キャピタル・グループ戦略顧問)、デヴィン・リンチ(Devin Lynch)氏(パラディン・グローバル・インスティテュート・シニアディレクター)が、CISO、アプリケーション・セキュリティ担当副社長、ソフトウェア・セキュリティの専門家など、企業のセキュリティ・リーダー20人以上への詳細なインタビューから得られた主な知見を明らかにします。
セキュリティ スキルのベンチマーク: 企業におけるセキュアな設計の合理化
セキュアバイデザイン(SBD)構想の成功に関する有意義なデータを見つけることは、非常に困難である。CISO は、セキュリティプログラム活動の投資収益率(ROI)とビジネス価値を、従業員レベルと企業レベルの両方で証明しようとすると、しばしば困難に直面します。言うまでもなく、企業にとって、現在の業界標準に対して自社の組織がどのようにベンチマークされているかを把握することは特に困難です。大統領の国家サイバーセキュリティ戦略は、関係者に「デザインによるセキュリティとレジリエンスを受け入れる」ことを求めている。セキュアバイデザインの取り組みを成功させる鍵は、開発者にセキュアなコードを保証するスキルを与えるだけでなく、規制当局にそれらのスキルが整っていることを保証することである。本プレゼンテーションでは、25万人以上の開発者から収集した社内データ、データに基づく顧客の洞察、公的研究など、複数の一次ソースから得られた無数の定性的・定量的データを紹介します。こうしたデータ・ポイントの集積を活用することで、複数の業種におけるセキュア・バイ・デザイン・イニシアチブの現状をお伝えすることを目的としています。本レポートでは、この領域が現在十分に活用されていない理由、スキルアッププログラムの成功がサイバーセキュリティのリスク軽減に与える大きな影響、コードベースから脆弱性のカテゴリーを排除できる可能性について詳述しています。
始めるためのリソース
明らかになった:サイバー業界はセキュア・バイ・デザインをどのように定義しているか
最新のホワイトペーパーでは、当社の共同設立者であるピーテル・ダニュー(Pieter Danhieux)氏とマティアス・マドゥ(Matias Madou)博士が、CISO、AppSecリーダー、セキュリティ専門家を含む20人以上の企業セキュリティリーダーと対談し、このパズルの重要なピースを見つけ出し、Secure by Design運動の背後にある現実を明らかにしました。セキュア・バイ・デザインは、セキュリティ・チーム全体で共有された野心ですが、共有されたプレイブックはありません。