SQLScriptのスキャンルール
Contrast Scanでは、SQLScriptに対して以下のルールをサポートしています。
深刻度 | Contrastルール | エンジンルールID | 説明 |
---|---|---|---|
重大 | SQL Injection | OPT.HANA.SEC.SqlInjection | SqlInjection:SQLコマンドで使用する特殊要素の不適切な無害化(SQLインジェクション) |
重大 | Avoid Trace In Production | OPT.HANA.EFFICIENCY.AvoidTraceInProduction | AvoidTraceInProduction:本番コードでのTRACEの使用禁止 |
重大 | Deeply Nested Subqueries | OPT.HANA.EFFICIENCY.DeeplyNestedSubqueries | DeeplyNestedSubqueries:ネストが深いサブクエリ |
重大 | Use Of Calculation Engine Operator | OPT.HANA.EFFICIENCY.UseOfCalculationEngineOperator | UseOfCalculationEngineOperator:HANA計算エンジン計画演算子(CE関数)の使用 |
重大 | Excessive Privileges Granted | OPT.HANA.SEC.ExcessivePrivilegesGranted | ExcessivePrivilegesGranted:過剰な権限の付与 |
高 | Non Trivial Subquery | OPT.HANA.EFFICIENCY.NonTrivialSubquery | NonTrivialSubquery:非自明なサブクエリ |
高 | Select In Scalar Function | OPT.HANA.EFFICIENCY.SelectInScalarFunction | SelectInScalarFunction:スカラー関数での「SELECT ... INTO」の使用 |
高 | Improper Parameter Usage | OPT.HANA.RELIABILITY.ImproperParameterUsage | ImproperParameterUsage:パラメータの不適切な使用 |
高 | Forbidden Call | OPT.HANA.SEC.ForbiddenCall | ForbiddenCall:安全ではない、または危険なプロシージャ/関数への呼び出し |
低 | Language Not Specified | OPT.HANA.MAINTAINABILITY.LanguageNotSpecified | LanguageNotSpecified:LANGUAGEの指定なし |
低 | Unused Condition | OPT.HANA.MAINTAINABILITY.UnusedCondition | UnusedCondition:未使用のエラー条件 |
低 | Non Custom Error Code | OPT.HANA.RELIABILITY.NonCustomErrorCode | NonCustomErrorCode:カスタムでないSQLエラーコードの使用 |
中 | Avoid Using Cursors | OPT.HANA.EFFICIENCY.AvoidUsingCursors | AvoidUsingCursors:カーソル使用の回避 |
中 | Modification Statement In Loop | OPT.HANA.EFFICIENCY.ModificationStatementInLoop | ModificationStatementInLoop:ループ内でのデータ変更ステートメント |
中 | Reads SQL Data Not Specified | OPT.HANA.EFFICIENCY.ReadsSqlDataNotSpecified | ReadsSqlDataNotSpecified:副作用のないプロシージャに対するREADS SQL DATAの指定 |
中 | Unused Variable | OPT.HANA.EFFICIENCY.UnusedVariable | UnusedVariable:未使用のローカル変数 |
中 | Use Of Uninitialized Var | OPT.HANA.RELIABILITY.UseOfUninitializedVar | UseOfUninitializedVar:初期化されていない変数の使用 |