Kotlinのスキャンルール
Contrast Scanでは、Kotlinに対して以下のルールをサポートしています。
深刻度 | Contrastルール | エンジンルールID | 説明 |
---|---|---|---|
重大 | Insecure SSL | OPT.KOTLIN.SEC.InsecureSSL | InsecureSSL:安全でないSSLの設定 |
重大 | Too Much Origins Allowed | OPT.KOTLIN.SEC.TooMuchOriginsAllowed | TooMuchOriginsAllowedRule:CORSボリシー(クロスオリジンリソース共有)での広すぎる許可範囲 |
重大 | Dynamically Loading Code | OPT.KOTLIN.ANDROID.DynamicallyLoadingCode | DynamicallyLoadingCode:動的なコードの読み込み回避 |
重大 | Intent Manipulation | OPT.KOTLIN.ANDROID.IntentManipulation | IntentManipulation:インテントの改ざん |
重大 | Javascript Enabled | OPT.KOTLIN.ANDROID.JavascriptEnabled | JavascriptEnabled:JavaScriptの無効化(JavaScriptを有効にすることは推奨されない) |
重大 | Javascript Interface Annotation | OPT.KOTLIN.ANDROID.JavascriptInterfaceAnnotation | JavascriptInterfaceAnnotation:WebView.addJavaScriptInterface()によるコードインジェクションの可能性 |
重大 | Code Injection | OPT.KOTLIN.SEC.CodeInjection | CodeInjectionRule:スクリプトAPIにおける動的なコードインジェクション |
重大 | Command Injection | OPT.KOTLIN.SEC.CommandInjection | CommandInjectionRule:OSコマンドで使用する特殊要素の不適切な無害化(OSコマンドインジェクション) |
重大 | Connection String Parameter Pollution | OPT.KOTLIN.SEC.ConnectionStringParameterPollution | ConnectionStringParameterPollution::信頼できない入力で汚染された接続文字列 |
重大 | Cross Site Scripting | OPT.KOTLIN.SEC.CrossSiteScripting | CrossSiteScriptingRule:Webページ生成中の入力の不適切な無害化(クロスサイトスクリプティング) |
重大 | Http Splitting | OPT.KOTLIN.SEC.HttpSplitting | HttpSplittingRule:HTTPヘッダにおけるCRLFシーケンスの不適切な無害化(HTTPレスポンス分割攻撃) |
重大 | Ldap Injection | OPT.KOTLIN.SEC.LdapInjection | LdapInjectionRule:LDAP検索フィルタにおける無害化されていないユーザ制御入力の回避 |
重大 | Mail Command Injection | OPT.KOTLIN.SEC.MailCommandInjection | MailCommandInjection:メールコマンドインジェクション |
重大 | No SQL Injection | OPT.KOTLIN.SEC.NoSQLInjection | NoSQLInjection:データクエリロジックにおける特殊要素の不適切な無害化(NoSQLインジェクション) |
重大 | Process Control | OPT.KOTLIN.SEC.ProcessControl | ProcessControlRule:信頼できないソースから読み込まれたライブラリ |
重大 | Regex Injection | OPT.KOTLIN.SEC.RegexInjection | RegexInjectionRule:悪意のある正規表現によるDos攻撃の防止(正規表現インジェクション) |
重大 | Same Origin Method Execution | OPT.KOTLIN.SEC.SameOriginMethodExecution | SameOriginMethodExecution:同一オリジンメソッド実行(SOME) |
重大 | Server Side Request Forgery | OPT.KOTLIN.SEC.ServerSideRequestForgery | ServerSideRequestForgeryRule:サーバサイドリクエストフォージェリ(SSRF) |
重大 | SQL Injection | OPT.KOTLIN.SEC.SqlInjection | SqlInjectionRule:SQLコマンドで使用する特殊要素の不適切な無害化(SQLインジェクション) |
重大 | XML Entity Injection | OPT.KOTLIN.SEC.XmlEntityInjection | XmlEntityInjectionRule:XMLエンティティインジェクション |
重大 | Privilege Escalation Attack | OPT.KOTLIN.ANDROID.PrivilegeEscalationAttack | PrivilegeEscalationAttack:権限昇格攻撃の防止(アプリケーションが他のアプリケーション権限を使用してコードを実行することを許可しない) |
重大 | Garbage Collector Call | OPT.KOTLIN.GarbageCollectorCall | GarbageCollectorCall:ガベージコレクタの呼び出しの回避 |
重大 | Accessibility Subversion | OPT.KOTLIN.SEC.AccessibilitySubversion | AccessibilitySubversionRule:Javaアクセス制限の回避(リフレクション) |
重大 | Anonymous Ldap Bind | OPT.KOTLIN.SEC.AnonymousLdapBind | AnonymousLdapBindRule:アクセス制御 - 匿名LDAPバインドの検出 |
重大 | Native Code Exposed | OPT.KOTLIN.SEC.NativeCodeExposed | NativeCodeExposed:ネイティブコードの露出の検出 |
重大 | Path Traversal | OPT.KOTLIN.SEC.PathTraversal | PathTraversalRule:リソースへのパス名で構成される、無害化されていないユーザ制御の入力の回避 |
重大 | Android Sticky Broadcast | OPT.KOTLIN.ANDROID.AndroidStickyBroadcast | AndroidStickyBroadcast:スティッキーブロードキャストの回避 |
重大 | SMS Monitoring | OPT.KOTLIN.ANDROID.SMSMonitoring | SMSMonitoring:データ入力やコマンドにおけるSMSの使用禁止 |
重大 | Password In Redirect | OPT.KOTLIN.SEC.PasswordInRedirect | PasswordInRedirect:パスワード管理 - リダイレクト内のパスワード |
重大 | Hardcoded Crypto Key | OPT.KOTLIN.SEC.HardcodedCryptoKey | HardcodedCryptoKey:ハードコードされた暗号鍵 |
重大 | Non Random IV With CBC Mode | OPT.KOTLIN.SEC.NonRandomIVWithCBCMode | NonRandomIVWithCBCMode:CBCモードでランダムな初期化ベクトル(IV)が使用されていない可能性 |
重大 | Weak Cryptographic Hash | OPT.KOTLIN.SEC.WeakCryptographicHash | WeakCryptographicHashRule:脆弱な暗号化ハッシュ |
重大 | Weak Encryption | OPT.KOTLIN.SEC.WeakEncryption | WeakEncryptionRule:脆弱な共通鍵暗号アルゴリズム |
高 | Prevent Backup Vulnerability | OPT.KOTLIN.ANDROID.PreventBackupVulnerability | PreventBackupVulnerability:不適切なバックアップ設定 |
高 | Insufficient Session Expiration | OPT.KOTLIN.SEC.InsufficientSessionExpiration | InsufficientSessionExpirationRule:セッションの有効期限の間隔が正の値であり、制限を超えていないことの確認 |
高 | Web Xml Security Misconfigurations | OPT.KOTLIN.SEC.WebXmlSecurityMisconfigurations | WebXmlSecurityMisconfigurationsRule:web.xml記述子でのセキュリティプロパティの誤設定の回避 |
高 | Cross Site Request Forgery | OPT.KOTLIN.SEC.CrossSiteRequestForgery | CrossSiteRequestForgeryRule:クロスサイトリクエストフォージェリ(CSRF) |
高 | External Control Of Configuration Setting | OPT.KOTLIN.SEC.ExternalControlOfConfigurationSetting | ExternalControlOfConfigurationSetting:システム設定または構成設定の外部制御 |
高 | Http Parameter Pollution | OPT.KOTLIN.SEC.HttpParameterPollution | HttpParameterPollutionRule:HTTPパラメータ汚染(HPP) |
高 | JSON Injection | OPT.KOTLIN.SEC.JSONInjection | JSONInjection:JSONエンティティにおける無害化されていないユーザ制御入力の使用の回避(JSONインジェクション) |
高 | Log Forging | OPT.KOTLIN.SEC.LogForging | LogForging:ログの出力の不適切な無害化 |
高 | Open Redirect | OPT.KOTLIN.SEC.OpenRedirect | OpenRedirectRule:信頼できないサイトへのURLリダイレクト(オープンリダイレクト) |
高 | Resource Injection | OPT.KOTLIN.SEC.ResourceInjection | ResourceInjection:リソース識別子の不適切な制御(リソースインジェクション) |
高 | Trust Boundary Violation | OPT.KOTLIN.SEC.TrustBoundaryViolation | TrustBoundaryViolationRule:信頼境界線違反 |
高 | Unsafe Reflection | OPT.KOTLIN.SEC.UnsafeReflection | UnsafeReflection:クラスまたはコードを選択するための外部制御入力の使用(安全でないリフレクション) |
高 | XPath Injection | OPT.KOTLIN.SEC.XPathInjection | XPathInjectionRule:XPath式内のデータの不適切な無害化(XPathインジェクション) |
高 | Xslt Injection | OPT.KOTLIN.SEC.XsltInjection | XsltInjection:XML インジェクション(別名、ブラインドXPathインジェクション) |
高 | Iterator Has Next Calls Next | OPT.KOTLIN.IteratorHasNextCallsNext | IteratorHasNextCallsNext:イテレータのhasNext()内でのnext()呼び出しの検出 |
高 | Cookies In Security Decision | OPT.KOTLIN.SEC.CookiesInSecurityDecision | CookiesInSecurityDecision:セキュリティ決定における検証と整合性チェックなしのCookieへの依存 |
高 | Security Check In Overridable Method | OPT.KOTLIN.SEC.SecurityCheckInOverridableMethod | SecurityCheckInOverridableMethodRule:セキュリティチェックを実行するメソッドは、privateまたはfinalとして宣言することが必要 |
高 | Spring No Anti Xss Configuration | OPT.KOTLIN.SEC.SpringNoAntiXssConfiguration | SpringNoAntiXssConfiguration:defaultHtmlEscape {'OWASP-2021': ['A5'], 'WASC': ['08'], 'PCI-DSS': ['6.5.7'], 'ASVS-v4.0.2': ['3.4.5']}の使用 |
高 | Unhandled SSL Exception | OPT.KOTLIN.SEC.UnhandledSSLException | UnhandledSSLExceptionRule:未処理のSSL例外 |
高 | User Controlled SQL Primary Key | OPT.KOTLIN.SEC.UserControlledSQLPrimaryKey | UserControlledSQLPrimaryKey:ユーザ制御の主キーのクエリ使用禁止 |
高 | Unpaired Equals Hash Code | OPT.KOTLIN.UnpairedEqualsHashCode | UnpairedEqualsHashCode:オブジェクトモデル違反(equalsとhashCodeのどちらか一方だけが定義されている) |
高 | Wrong Equals Signature | OPT.KOTLIN.WrongEqualsSignature | WrongEqualsSignature:間違ったequals()シグネチャ |
高 | Hardcoded Ip | OPT.KOTLIN.SEC.HardcodedIp | HardcodedIp:ソースコードにおけるIPアドレスの書き込み禁止 |
高 | Hardcoded Salt | OPT.KOTLIN.SEC.HardcodedSalt | HardcodedSaltRule:安全でないハードコードされたソルト |
高 | Inadequate Padding | OPT.KOTLIN.SEC.InadequatePadding | InadequatePaddingRule:不十分なパディング |
高 | Insecure Randomness | OPT.KOTLIN.SEC.InsecureRandomness | InsecureRandomnessRule:安全でない標準的な擬似乱数生成器 |
高 | Insecure Transport | OPT.KOTLIN.SEC.InsecureTransport | InsecureTransport:安全でない送信 |
高 | Insufficient Key Size | OPT.KOTLIN.SEC.InsufficientKeySize | InsufficientKeySizeRule:脆弱な暗号方式・鍵長の検出 |
低 | Bad Exception Handling | OPT.KOTLIN.BadExceptionHandling | BadExceptionHandling:不正な例外処理 |
低 | Complex Condition | OPT.KOTLIN.ComplexCondition | ComplexCondition:複雑すぎるブーリアン条件 |
低 | Complex Function | OPT.KOTLIN.ComplexFunction | ComplexFunction:複雑すぎる関数 |
低 | Empty Function | OPT.KOTLIN.EmptyFunction | EmptyFunction:空の関数 |
低 | Generic Array Of Primitives | OPT.KOTLIN.GenericArrayOfPrimitives | GenericArrayOfPrimitives:プリミティブ型のジェネリック配列 |
低 | Long Function | OPT.KOTLIN.LongFunction | LongFunction:長い関数 |
低 | Spread Operator | OPT.KOTLIN.SpreadOperator | SpreadOperator:スプレッド(*)演算子の使用 |
低 | Too Many Parameters | OPT.KOTLIN.TooManyParameters | TooManyParameters:関数内のパラメータの過多 |
低 | Unsafe Cast | OPT.KOTLIN.UnsafeCast | UnsafeCast:安全でないキャスト |
低 | Unused Function Parameter | OPT.KOTLIN.UnusedFunctionParameter | UnusedFunctionParameter:未使用の関数パラメータ |
中 | Plaintext Storage In A Cookie | OPT.KOTLIN.SEC.PlaintextStorageInACookie | PlaintextStorageInACookieRule:Cookieでの機密情報の平文保存 |
中 | Unsafe Cookie | OPT.KOTLIN.SEC.UnsafeCookie | UnsafeCookie:適切なセキュリティプロパティを持つサーバ側のCookieの生成 |
中 | Exported Preference Activity | OPT.KOTLIN.ANDROID.ExportedPreferenceActivity | ExportedPreferenceActivity:PreferenceActivityを継承するアクティビティのエクスポート制限 |
中 | Avoid Host Name Checks | OPT.KOTLIN.SEC.AvoidHostNameChecks | AvoidHostNameChecksRule:DNSポイズニングによる信頼性の低いクライアント側のホスト名のチェックの回避 |
中 | Format String Injection | OPT.KOTLIN.SEC.FormatStringInjection | FormatStringInjectionRule:無害化されていないユーザ入力をフォーマット文字列から除外 |
中 | Serialization Injection | OPT.KOTLIN.SEC.SerializationInjection | SerializationInjection:信頼できないデータのデシリアライゼーション |
中 | Check External Storage Permission | OPT.KOTLIN.ANDROID.CheckExternalStoragePermission | CheckExternalStoragePermission:権限使用の適合性のチェック(外部ストレージ権限) |
中 | Check Internet Permission | OPT.KOTLIN.ANDROID.CheckInternetPermission | CheckInternetPermission:権限使用の適合性のチェック(インターネット権限) |
中 | Check Location Permission | OPT.KOTLIN.ANDROID.CheckLocationPermission | CheckLocationPermission:権限使用の適合性のチェック(位置情報の権限) |
中 | Complex Interface | OPT.KOTLIN.ComplexInterface | ComplexInterface:複雑すぎるインターフェイス |
中 | Excessive Method Overloading | OPT.KOTLIN.ExcessiveMethodOverloading | ExcessiveMethodOverloading:過剰なメソッドのオーバーロード |
中 | Excessive Nesting Depth | OPT.KOTLIN.ExcessiveNestingDepth | ExcessiveNestingDepth:過剰な深さのネスト |
中 | For Each On Range | OPT.KOTLIN.ForEachOnRange | ForEachOnRange:範囲に対するForEachの使用 |
中 | Missing When Case | OPT.KOTLIN.MissingWhenCase | MissingWhenCase:when文におけるcaseの欠如 |
中 | Detail Error Leak | OPT.KOTLIN.SEC.DetailErrorLeak | DetailErrorLeakRule:クライアントへの詳細なエラー情報の送信禁止 |
中 | Execution After Redirect | OPT.KOTLIN.SEC.ExecutionAfterRedirect | ExecutionAfterRedirect:リダイレクト処理後のコードの実行(EAR) |
中 | Too Many Functions | OPT.KOTLIN.TooManyFunctions | TooManyFunctions:多すぎる関数 |
中 | Unconditional Jump In Loop | OPT.KOTLIN.UnconditionalJumpInLoop | UnconditionalJumpInLoop:ループ内での無条件ジャンプ |
中 | Unreachable Code | OPT.KOTLIN.UnreachableCode | UnreachableCode:到達不能(デッド)コード |
中 | Unused Private Function | OPT.KOTLIN.UnusedPrivateFunction | UnusedPrivateFunction:未使用のプライベート関数 |
中 | Hardcoded Username Password | OPT.KOTLIN.SEC.HardcodedUsernamePassword | HardcodedUsernamePassword:ハードコードされた資格情報の使用 |
中 | JSON P Hijacking | OPT.KOTLIN.SEC.JSONPHijacking | JSONPHijacking:JSONPを介した機密情報の漏洩 |
中 | Password In Configuration File | OPT.KOTLIN.SEC.PasswordInConfigurationFile | PasswordInConfigurationFile:設定ファイルでの認証情報の使用 |
中 | Plaintext Storage Of Password | OPT.KOTLIN.SEC.PlaintextStorageOfPassword | PlaintextStorageOfPassword:パスワードの平文保存 |
中 | Privacy Violation | OPT.KOTLIN.SEC.PrivacyViolation | PrivacyViolation:個人情報の漏洩(プライバシー侵害) |
中 | Serializable Class Containing Sensitive Data | OPT.KOTLIN.SEC.SerializableClassContainingSensitiveData | SerializableClassContainingSensitiveData:機密データを含むシリアライズ可能クラスの検出 |