Skip to main content

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:機密データを含むシリアライズ可能クラスの検出