...
サポート対象フレームワークとして、.NET5が新規追加されました。
※ .NET 6 対応版も提供可能です。
C# 9 のサポートを開始
C# 9 で書かれたコードを解析できるようになりました。
...
Parasoft EULA への同意
dotTEST または Parasoft dotTEST Plugin for Visual Studio のインストール時、インストール ウィザードによって Parasoft エンド ユーザー ライセンス契約 (EULA) の条項への同意を求められます。
...
Azure DevOpsに拡張機能としてdotTEST extension Extension for Azure DevOpsが追加され、dotTESTとAzurePipelinesの連携が可能になりました。
dotTESTの解析を実行することで、Azure DevOps固有のSARIFフォーマットでのレポートを生成し、Azure Pipelines上で解析結果を確認できます。
詳細についてはこちらを参照してください。
...
GitLab ワークフローでdotTEST の解析を実行して SAST フォーマットで解析レポートを生成が可能になりました。
dotTEST からレポートされた結果をコードの脆弱性として GitLab で参照できます。
詳細については こちらを参照してください。
Roslyn Analyzerルールのサポートを開始
Visual Studioのソースコード解析機能であるRoslyn AnalyzerのルールをdotTESTから実行し、dotTEST上で解析結果を確認できます。
新規及び更新されたテストコンフィギュレーション
次のテストコンフィギュレーションが追加されました。
CWE 4.5
CWE Top 25 2021
CWE Top 25 + On the Cusp 2021
OWASP API Security Top 10-2019
OWASP Top 10-2021
DISA-ASD-STIG
Roslyn .NET Analyzers Default Rules
削除されたテスト コンフィギュレーション
古くなった CWE コンプライアンス用テスト コンフィギュレーションが削除されました。
...
以下のルールが更新されました。
ルールID | ルールヘッダー |
---|---|
BD.EXCEPT.AN | ArgumentNullException を避ける |
BD.EXCEPT.NR | NullReferenceException を避ける |
BD.PB.DEREF | null チェックの前に間接参照しない |
BD.PB.EVIPT | 呼び出しパラメーターの型をデリゲートの定義に一致させる |
BD.PB.STRNULL | 文字列に null を付加しない |
BD.PB.VOVR | 未使用の値を避ける |
BD.PB.ZERO | ゼロによる除算を避ける |
BD.TRS.DIFCS | 変数は単一のクリティカル セクションのコンテキストで使用するべきである |
BD.TRS.MUTEX | 未解放の mutex を放棄しない |
CMUG.MU.AUPM | 未使用の private メソッドを避ける |
CS.BRM.SWDEFLAST | switch 文の最後の case として default を配置する |
CS.BRM.UCO | 条件演算子 ('?') の代わりに null 合体演算子 ('??') を使用する |
CS.EU.VZS | すべての列挙型に値が 0 のメンバーがあることを確認する |
CS.PB.CEB | 内容が空の条件文を避ける |
CS.PB.IDNE | 効果のないインクリメント文およびデクリメント文を避ける |
CS.PB.NACC | アクセスできないクラスおよび構造体を避ける |
EXCEPT.NCSAE | 'Exception'、'SystemException'、'ApplicationException' に対する "catch" の使用を避ける |
METRIC.CC | McCabe Cyclomatic Complexity |
METRIC.ECC | Essential Cyclomatic Complexity |
METRIC.MCC | Modified Cyclomatic Complexity |
SEC.ACWNS | 名前空間のないクラスがあるべきではない |
SEC.WEB.UAA | ページおよびコントローラーで authorization 属性を使用する |
RuleWizard が改善されました。これに伴いRuleWizard で作成したカスタム ルールのレポートする違反が、以前のリリースとは異なる場合があります。