Objective-Cのスキャンルール
Contrast Scanでは、Objective-Cに対して以下のルールをサポートしています。
深刻度 | Contrastルール | エンジンルールID | 説明 |
---|---|---|---|
重大 | Avoid SQL Injection | OPT.OBJECTIVEC.AvoidSqlInjection | AvoidSqlInjection:SQLコマンドで使用する特殊要素の不適切な無害化(SQLインジェクション) |
重大 | Code Injection | OPT.OBJECTIVEC.CodeInjection | CodeInjection:コード生成の不適切な制御(コードインジェクション) |
重大 | Cross Site Scripting | OPT.OBJECTIVEC.CrossSiteScripting | CrossSiteScripting:Webページ生成中の入力の不適切な無害化(クロスサイトスクリプティング) |
重大 | DoS Regular Expression | OPT.OBJECTIVEC.DoSRegularExpression | DoSRegularExpression:悪意のある正規表現によるDoS攻撃の防止 |
重大 | Format String Vulnerability | OPT.OBJECTIVEC.FormatStringVulnerability | FormatStringVulnerability:無害化されていないユーザ入力をフォーマット文字列から除外 |
重大 | JSON Injection | OPT.OBJECTIVEC.JSONInjection | JSONInjection:JSONエンティティにおける無害化されていないユーザ制御入力の使用の回避(JSONインジェクション) |
重大 | Open Redirect | OPT.OBJECTIVEC.OpenRedirect | OpenRedirect:信頼できないサイトへのURLリダイレクト(オープンリダイレクト) |
重大 | XML Entity Injection | OPT.OBJECTIVEC.XMLEntityInjection | XmlEntityInjection:XMLエンティティインジェクション |
重大 | XPath Injection | OPT.OBJECTIVEC.XPathInjection | XPathInjection:XPath式内のデータの不適切な無害化(XPathインジェクション) |
重大 | Command Injection Rule | OPT.OBJECTIVEC.SECURITY.CommandInjectionRule | CommandInjectionRule:OSコマンドで使用する特殊要素の不適切な無害化(OSコマンドインジェクション) |
重大 | Connection String Parameter Pollution | OPT.OBJECTIVEC.SECURITY.ConnectionStringParameterPollution | ConnectionStringParameterPollution::信頼できない入力で汚染された接続文字列 |
重大 | Http Splitting Rule | OPT.OBJECTIVEC.SECURITY.HttpSplittingRule | HttpSplittingRule:HTTPヘッダにおけるCRLFシーケンスの不適切な無害化(HTTPレスポンス分割攻撃) |
重大 | Mail Command Injection | OPT.OBJECTIVEC.SECURITY.MailCommandInjection | MailCommandInjection:メールコマンドインジェクション |
重大 | No SQL Injection | OPT.OBJECTIVEC.SECURITY.NoSQLInjection | NoSQLInjection:データクエリロジックにおける特殊要素の不適切な無害化(NoSQLインジェクション) |
重大 | Avoid Confusing User Id Calls | OPT.OBJECTIVEC.AvoidConfusingUserIdCalls | AvoidConfusingUserIdCalls:setuid() / setreuid() / setgid() / setregid()によるプログラムの特権レベルの変更の回避 |
重大 | Avoid Empty Catch Blocks | OPT.OBJECTIVEC.AvoidEmptyCatchBlocks | AvoidEmptyCatchBlocks:空の@catchブロックの回避 |
重大 | Avoid Large Methods | OPT.OBJECTIVEC.AvoidLargeMethods | AvoidLargeMethods:行数の多すぎるメソッドの回避 |
重大 | Avoid Loop With Empty Body | OPT.OBJECTIVEC.AvoidLoopWithEmptyBody | AvoidLoopWithEmptyBody:本体が空のループ(while、do/while、for)の回避 |
重大 | Avoid Sudo | OPT.OBJECTIVEC.AvoidSudo | AvoidSudo:プログラムでのsudo使用の回避 |
重大 | Avoid Throwing Exceptions | OPT.OBJECTIVEC.AvoidThrowingExceptions | AvoidThrowingExceptions:例外のスローの回避 |
重大 | Nil In Literals | OPT.OBJECTIVEC.NilInLiterals | NilInLiterals:NSArrayやNSDictionaryリテラルでのnilの使用禁止 |
重大 | No Update Loop Vars In For Body | OPT.OBJECTIVEC.NoUpdateLoopVarsInForBody | NoUpdateLoopVarsInForBody:「for」ループ本体における制御変数の更新の禁止 |
重大 | Override Draw Rect U IView Subclasses | OPT.OBJECTIVEC.OverrideDrawRectUIViewSubclasses | OverrideDrawRectUIViewSubclasses:drawRect:をオーバーライドし、スーパークラスがUIViewのサブクラスの場合のsuperの呼び出し |
重大 | Override Is Equal And Hash | OPT.OBJECTIVEC.OverrideIsEqualAndHash | OverrideIsEqualAndHash:isEqual:メソッドのオーバーライド時のハッシュメソッドのオーバーライド |
重大 | Override U IView Controller Methods | OPT.OBJECTIVEC.OverrideUIViewControllerMethods | OverrideUIViewControllerMethods:UIViewControllerメソッドのオーバーライド時のsuperの呼び出し |
重大 | Override U IView Methods | OPT.OBJECTIVEC.OverrideUIViewMethods | OverrideUIViewMethods:UIView メソッドのオーバーライド時のsuperの呼び出し |
重大 | Path Manipulation Vulnerability | OPT.OBJECTIVEC.PathManipulationVulnerability | PathManipulationVulnerability:I/O操作で使用するパス名(ファイルまたはディレクトリ)の一部として、無害化されていないユーザ制御入力を使用しない |
重大 | Replace With Less Secure Func | OPT.OBJECTIVEC.ReplaceWithLessSecureFunc | ReplaceWithLessSecureFunc:関数のセキュアの低い関数への置き換え禁止 |
重大 | Reuse Annotation Views | OPT.OBJECTIVEC.ReuseAnnotationViews | ReuseAnnotationViews:マップ内の注釈ビューの再利用 |
重大 | Reuse Table View Cells | OPT.OBJECTIVEC.ReuseTableViewCells | ReuseTableViewCell:テーブルビューでのセルの再利用 |
重大 | Missing Password Field Masking | OPT.OBJECTIVEC.SECURITY.MissingPasswordFieldMasking | MissingPasswordFieldMasking:マスクされていないパスワード入力フィールド |
重大 | Certificate Verify Failed Bypass | OPT.OBJECTIVEC.CertificateVerifyFailedBypass | CertificateVerifyFailedBypass:証明書の検証のバイパス禁止 |
重大 | Hardcoded Crypto Key | OPT.OBJECTIVEC.SECURITY.HardcodedCryptoKey | HardcodedCryptoKey:ハードコードされた暗号鍵 |
重大 | Weak Key Derivation Iteration | OPT.OBJECTIVEC.SECURITY.WeakKeyDerivationIteration | WeakKeyDerivationIteration:キー導出の反復回数不足 |
重大 | Weak Key Derivation Password | OPT.OBJECTIVEC.SECURITY.WeakKeyDerivationPassword | WeakKeyDerivationPassword:キー導出における空のパスワード/nilのパスワードの使用 |
高 | Do Not Use System | OPT.OBJECTIVEC.DoNotUseSystem | DoNotUseSystem:コマンドプロセッサが不要な場合は「system()」の使用禁止 |
高 | Perform Selector With Untrusted Data | OPT.OBJECTIVEC.PerformSelectorWithUntrustedData | PerformSelectorWithUntrustedData:performSelectorの外部制御の回避 |
高 | URL Schemes Handling | OPT.OBJECTIVEC.URLSchemesHandling | URLSchemesHandling:呼び出し元アプリケーションのIDの検証 |
高 | Http Parameter Pollution Rule | OPT.OBJECTIVEC.SECURITY.HttpParameterPollutionRule | HttpParameterPollutionRule:HTTPパラメータ汚染(HPP) |
高 | Log Forging | OPT.OBJECTIVEC.SECURITY.LogForging | LogForging:ログの出力の不適切な無害化 |
高 | Resource Injection | OPT.OBJECTIVEC.SECURITY.ResourceInjection | ResourceInjection:リソース識別子の不適切な制御(リソースインジェクション) |
高 | URL Scheme Hijacking | OPT.OBJECTIVEC.SECURITY.URLSchemeHijacking | URLSchemeHijacking:ユーザ入力によるURLスキームの乗っ取り |
高 | XML Injection | OPT.OBJECTIVEC.SECURITY.XMLInjection | XMLInjection: XMLインジェクション(別名、ブラインドXPathインジェクション) |
高 | Assign Init Result To Self | OPT.OBJECTIVEC.AssignInitResultToSelf | AssignInitResultToSelf:initメソッドにおける[super init]の結果のselfへの代入、nilかどうかのチェック |
高 | Avoid Conditional Operator | OPT.OBJECTIVEC.AvoidConditionalOperator | AvoidConditionalOperator:条件評価のための三項演算子「 ? : 」の回避 |
高 | Avoid Empty Draw Rect | OPT.OBJECTIVEC.AvoidEmptyDrawRect | AvoidEmptyDrawRect:空のdrawRect: 実装の回避 |
高 | Avoid Insecure C String Functions | OPT.OBJECTIVEC.AvoidInsecureCStringFunctions | AvoidInsecureCStringFunctions:境界をチェックしないCライブラリ関数の回避 |
高 | Avoid Maximum Location Accuracy When Possible | OPT.OBJECTIVEC.AvoidMaximumLocationAccuracyWhenPossible | AvoidMaximumLocationAccuracyWhenPossible:デフォルトでの最適な位置情報精度の使用回避 |
高 | Balance Custom Getters And Setters | OPT.OBJECTIVEC.BalanceCustomGettersAndSetters | BalanceCustomGettersAndSetters:カスタムのsetterがあるプロパティに対して常にカスタムのgetterを記述すること、その逆も同様 |
高 | Boolean In Comparisons | OPT.OBJECTIVEC.BooleanInComparisons | BooleanInComparisons:比較でのnil/NOまたはYESの使用の回避 |
高 | Cache N S Date Formatters | OPT.OBJECTIVEC.CacheNSDateFormatters | CacheNSDateFormatters:NSDateFormatterのキャッシュ(NSDateFormatter型のインスタンスを複数作成するのではなく、単一のインスタンスをキャッシュして再利用) |
高 | Claim Ownership Core Foundation Objects | OPT.OBJECTIVEC.ClaimOwnershipCoreFoundationObjects | ClaimOwnershipCoreFoundationObjects:Core Foundation のGet関数から受け取ったCore Foundationオブジェクトの所有権の明示的な取得 |
高 | Class Cyclomatic Complexity | OPT.OBJECTIVEC.ClassCyclomaticComplexity | ClassCyclomaticComplexity:循環的複雑度の高いクラスの使用の回避 |
高 | Clear Frame Buffers Before Drawing | OPT.OBJECTIVEC.ClearFrameBuffersBeforeDrawing | ClearFrameBuffersBeforeDrawing:描画前のglClear関数の呼び出し |
高 | Comment Top Level Declarations | OPT.OBJECTIVEC.CommentTopLevelDeclarations | CommentTopLevelDeclarations:インターフェイス、カテゴリ、およびプロトコルにおけるコメントの添付 |
高 | Create Autorelease Pool In Thread | OPT.OBJECTIVEC.CreateAutoreleasePoolInThread | CreateAutoreleasePoolInThread:各スレッドにおけるautoreleaseプールの作成 |
高 | Deallocation Of Objects Removed From Collections | OPT.OBJECTIVEC.DeallocationOfObjectsRemovedFromCollections | DeallocationOfObjectsRemovedFromCollections:使用する基本的なコレクションクラス(NSMutableArray、NSMutableDictionary)から削除されたオブジェクトの割り当て解除の回避 |
高 | Dealloc Method | OPT.OBJECTIVEC.DeallocMethod | DeallocMethod:deallocの実装の最後でスーパークラスの実装を呼び出していないことを検出 |
高 | Default Clause Switch Statements | OPT.OBJECTIVEC.DefaultClauseSwitchStatements | DefaultClauseSwitchStatements:全てのswitch文にdefault文が必要 |
高 | Designated Initializer | OPT.OBJECTIVEC.DesignatedInitializer | DesignatedInitializer:全てのパブリッククラスに、少なくとも1つの指定イニシャライザが必要 |
高 | Distance From Main Sequence | OPT.OBJECTIVEC.DistanceFromMainSequence | DistanceFromMainSequence:プロジェクトがメインシーケンスから大きく外れていないかの確認 |
高 | Do Not Instantiate Temporal Objects Loops | OPT.OBJECTIVEC.DoNotInstantiateTemporalObjectsLoops | DoNotInstantiateTemporalObjectsLoops:ループ本体における一時オブジェクトのンスタンス化の回避 |
高 | Fork Followed By Exec | OPT.OBJECTIVEC.ForkFollowedByExec | ForkFollowedByExec:forkの呼び出し後に、execまたは同様の関数の呼び出しが必要 |
高 | Handle Memory Warnings | OPT.OBJECTIVEC.HandleMemoryWarnings | HandleMemoryWarnings:メモリ不足の警告への対応 |
高 | Many Cases | OPT.OBJECTIVEC.ManyCases | ManyCases:スイッチ構造での過多な選択肢の回避 |
高 | Method Cyclomatic Complexity | OPT.OBJECTIVEC.MethodCyclomaticComplexity | MethodCyclomaticComplexity:循環的複雑度の高いメソッドの使用の回避 |
高 | Minimize Bluetooth Interaction | OPT.OBJECTIVEC.MinimizeBluetoothInteraction | MinimizeBluetoothInteraction:スキャンオプションとしてのCBCentralManagerScanOptionAllowDuplicatesKey定数の使用の回避 |
高 | Nested If Statements | OPT.OBJECTIVEC.NestedIfStatements | NestedIfStatements:高レベルのif文のネストの回避 |
高 | Notify Deallocation Weak References | OPT.OBJECTIVEC.NotifyDeallocationWeakReferences | NotifyDeallocationWeakReferences:弱参照オブジェクトの割り当て解除の通知 |
高 | Low Cohesion Within Object | OPT.OBJECTIVEC.LowCohesionWithinObject | LowCohesionWithinObject:結束度の低いクラスの回避 |
高 | Parenthesize Macro Args | OPT.OBJECTIVEC.ParenthesizeMacroArgs | ParenthesizeMacroArgs:マクロ置換リストは括弧で囲む事が必要 |
高 | Property Data Member | OPT.OBJECTIVEC.PropertyDataMember | PropertyDataMember:データメンバーごとにプロパティを作成し、インスタンス変数に直接アクセスしないこと |
高 | Release Core Foundation Objects | OPT.OBJECTIVEC.ReleaseCoreFoundationObjects | ReleaseCoreFoundationObjects:所有するCore Foundationオブジェクトの所有権の放棄 |
高 | Release Ivars Dealloc | OPT.OBJECTIVEC.ReleaseIvarsDealloc | ReleaseIvarsDealloc:deallocメソッドで保持/コピーされたプロパティのインスタンス変数(ivar)の解放 |
高 | Release Owned Objects | OPT.OBJECTIVEC.ReleaseOwnedObjects | ReleaseOwnedObjects:MRRの所有オブジェクトの解放 |
高 | Sizeof Pointer Instead Array | OPT.OBJECTIVEC.SizeofPointerInsteadArray | SizeofPointerInsteadArray:配列のサイズを取得する際のポインタに対するsizeof演算子の使用禁止 |
高 | Specify Path For Shadows | OPT.OBJECTIVEC.SpecifyPathForShadows | SpecifyPathForShadows:影の描画時のレイヤーのshadowPathプロパティの指定 |
高 | Subviews In Standard Controls | OPT.OBJECTIVEC.SubviewsInStandardControls | SubviewsInStandardControls:システムの標準コントロールに対するサブビューの追加禁止 |
高 | Unstructured Branching Statements | OPT.OBJECTIVEC.UnstructuredBranchingStatements | UnstructuredBranchingStatements:構造化されていない分岐文の回避 |
高 | Unused Local Var | OPT.OBJECTIVEC.UnusedLocalVar | UnusedLocalVar:未使用のローカル変数の回避 |
高 | Unused Method Parameter | OPT.OBJECTIVEC.UnusedMethodParameter | UnusedMethodParameter:未使用のメソッドパラメータの回避 |
高 | Use Automatic Reference Counting | OPT.OBJECTIVEC.UseAutomaticReferenceCounting | UseAutomaticReferenceCounting:ARC規則に従ったコード記述 |
高 | Use Block Based Animation | OPT.OBJECTIVEC.UseBlockBasedAnimation | UseBlockBasedAnimation:ブロックによるアニメーションの使用 |
高 | Use Setter For Property | OPT.OBJECTIVEC.UseSetterForProperty | UseSetterForProperty:プロパティ値を設定する場合のsetterメソッドの使用 |
高 | User Controlled SQL Primary Key | OPT.OBJECTIVEC.SECURITY.UserControlledSQLPrimaryKey | UserControlledSQLPrimaryKey:ユーザ制御の主キーのクエリ使用禁止 |
高 | Insecure Transport Layer | OPT.OBJECTIVEC.InsecureTransportLayer | InsecureTransportLayer:HTTPSの代わりのHTTPの使用禁止 |
高 | Hardcoded Ip | OPT.OBJECTIVEC.SECURITY.HardcodedIp | HardcodedIp:ソースコードにおけるIPアドレスの書き込み禁止 |
高 | Weak Cryptographic Hash | OPT.OBJECTIVEC.WeakCryptographicHash | WeakCryptographicHash:脆弱な暗号化ハッシュのデータの完全性の欠如 |
高 | Weak Encryption | OPT.OBJECTIVEC.WeakEncryption | WeakEncryption:脆弱な暗号化アルゴリズム |
低 | Avoid C GContext Flush | OPT.OBJECTIVEC.AvoidCGContextFlush | AvoidCGContextFlush:CGContextFlushの呼び出しの回避 |
低 | Avoid Exposing Instance Vars | OPT.OBJECTIVEC.AvoidExposingInstanceVars | AvoidExposingInstanceVars:インスタンス変数を適切に非表示にすることが必要 |
低 | Avoid Function Like Macros | OPT.OBJECTIVEC.AvoidFunctionLikeMacros | AvoidFunctionLikeMacros:関数形式のようなマクロよりもインライン関数や静的関数を優先 |
低 | Avoid Locks | OPT.OBJECTIVEC.AvoidLocks | AvoidLocks:ロックの使用の回避 |
低 | Avoid Single Word Titles In Alerts | OPT.OBJECTIVEC.AvoidSingleWordTitlesInAlerts | AvoidSingleWordTitlesInAlerts:説明的なタイトルの少ない「Alert」要素の回避 |
低 | Category In Framework Class Name Conventions | OPT.OBJECTIVEC.CategoryInFrameworkClassNameConventions | CategoryInFrameworkClassNameConventions:フレームワークラスにおけるカテゴリーメソッドの命名規則 |
低 | Dead Code | OPT.OBJECTIVEC.DeadCode | DeadCode:到達不可能なコードの回避 |
低 | Declare Subviews As Opaque | OPT.OBJECTIVEC.DeclareSubviewsAsOpaque | DeclareSubviewsAsOpaque:不透明(opaque)型としてのサブビューの宣言 |
低 | Reference From Parent To Child Class | OPT.OBJECTIVEC.ReferenceFromParentToChildClass | ReferenceFromParentToChildClass:子クラスのいずれも参照していない親クラス |
低 | Password In Comment Rule | OPT.OBJECTIVEC.SECURITY.PasswordInCommentRule | PasswordInCommentRule:システムまたはシステムコード内に平文でのパスワード/パスワードの詳細の保存を検出(システムのセキュリティを脅かす可能性あり) |
中 | Plaintext Storage In A Cookie Rule | OPT.OBJECTIVEC.SECURITY.PlaintextStorageInACookieRule | PlaintextStorageInACookieRule:Cookieでの機密情報の平文保存 |
中 | Unsafe Cookie | OPT.OBJECTIVEC.SECURITY.UnsafeCookie | UnsafeCookie:適切なセキュリティプロパティを持つサーバ側のCookieの生成 |
中 | Serialization Injection | OPT.OBJECTIVEC.SECURITY.SerializationInjection | SerializationInjection:信頼できないデータのデシリアライゼーション |
中 | Avoid Comparing Float Numbers | OPT.OBJECTIVEC.AvoidComparingFloatNumbers | AvoidComparingFloatNumbers:浮動小数点の比較の回避 |
中 | Avoid Magic Numbers | OPT.OBJECTIVEC.AvoidMagicNumbers | AvoidMagicNumbers:数値定数の使用の回避 |
中 | Avoid N S Log | OPT.OBJECTIVEC.AvoidNSLog | AvoidNSLog:デバッグモード以外でのNSLogの使用回避 |
中 | Avoid Querying State Open G L E S | OPT.OBJECTIVEC.AvoidQueryingStateOpenGLES | AvoidQueryingStateOpenGLES:並列処理を保持するためのglGet*()の呼び出しの回避 |
中 | Avoid Super In Load View | OPT.OBJECTIVEC.AvoidSuperInLoadView | AvoidSuperInLoadView:loadViewのオーバーライド時のsuperの呼び出しの回避 |
中 | Avoid Too Deep Class Hierarchies | OPT.OBJECTIVEC.AvoidTooDeepClassHierarchies | AvoidTooDeepClassHierarchies:深すぎる階層クラスの回避 |
中 | Avoid Unsafe File Functions | OPT.OBJECTIVEC.AvoidUnsafeFileFunctions | AvoidUnsafeFileFunctions:安全なファイルアクセスのPOSIX関数の使用 |
中 | Background Apps Open G L E S Commands | OPT.OBJECTIVEC.BackgroundAppsOpenGLESCommands | BackgroundAppsOpenGLESCommands:アプリがバックグラウンド時のOpenGL ESコマンド送信の回避 |
中 | Be Aware Of Location Errors | OPT.OBJECTIVEC.BeAwareOfLocationErrors | BeAwareOfLocationErrors:位置エラーに関する注意 |
中 | Break Non Empty Switch Clauses | OPT.OBJECTIVEC.BreakNonEmptySwitchClauses | BreakNonEmptySwitchClauses:空でないcase文は区切り文で終わることが必要 |
中 | Check Parameter Number In Method | OPT.OBJECTIVEC.CheckParameterNumberInMethod | CheckParameterNumberInMethod:メソッド内のパラメータの過多 |
中 | Class Factory Methods Name Convention | OPT.OBJECTIVEC.ClassFactoryMethodsNameConvention | ClassFactoryMethodsNameConvention:クラスファクトリーメソッドの命名規則 |
中 | Copy Immutable Objects | OPT.OBJECTIVEC.CopyImmutableObjects | CopyImmutableObjects:変更可能なサブクラスを持つオブジェクトを受け取るプロパティには、常に(コピー)ストレージクラスを使用する |
中 | Density Of Comments | OPT.OBJECTIVEC.DensityOfComments | DensityOfComments:ソースコードの適切なコメント化 |
中 | Font Size | OPT.OBJECTIVEC.FontSize | FontSize:11ポイントより小さいフォントの使用回避 |
中 | High Coupling Between Objects | OPT.OBJECTIVEC.HighCouplingBetweenObjects | HighCouplingBetweenObjects:内部的に強く結合されたクラスの回避 |
中 | Maximum Number Of Methods | OPT.OBJECTIVEC.MaximumNumberOfMethods | MaximumNumberOfMethods:インターフェイスやプロトコルに含まれるメソッドの数がしきい値を超えないこと |
中 | Misuse Embeding In Scroll View | OPT.OBJECTIVEC.MisuseEmbedingInScrollView | MisuseEmbedingInScrollView:UIWebViewまたはUITableViewでのUIScrollView埋め込みの回避 |
中 | One Statement Per Line | OPT.OBJECTIVEC.OneStatementPerLine | OneStatementPerLine:1行に1つのステートメントのみを使用 |
中 | Replace Enum By Ns Enum Or Ns Option | OPT.OBJECTIVEC.ReplaceEnumByNsEnumOrNsOption | ReplaceEnumByNsEnumOrNsOption:enum宣言の置き換え(enum宣言の代わりにNS_ENUMマクロまたはNS_OPTIONSマクロを使用する) |
中 | Too Many Buttons In Action Sheet | OPT.OBJECTIVEC.TooManyButtonsInActionSheet | TooManyButtonsInActionSheet:アクションシートにおける多数のボタン定義の回避 |
中 | Too Many Dots In Page Control | OPT.OBJECTIVEC.TooManyDotsInPageControl | TooManyDotsInPageControl:ページコントロールのビュー数の制限(一度に開いているビューが多すぎないようにする) |
中 | Touch Controls Size | OPT.OBJECTIVEC.TouchControlsSize | TouchControlsSize:タッチコントロールのサイズは、少なくとも44 x 44ピクセルであることが必要 |
中 | Use Instancetype Instead Of Id | OPT.OBJECTIVEC.UseInstancetypeInsteadOfId | UseInstancetypeinsteadOfId:alloc、init、およびクラスファクトリメソッドは、idの代わりにinstancetypeを返すことが必要 |
中 | Use Modern File A P I | OPT.OBJECTIVEC.UseModernFileAPI | UseModernFileAPI:最新のファイルAPIの使用 |
中 | Use Nonatomic Attribute | OPT.OBJECTIVEC.UseNonatomicAttribute | UseNonatomicAttribute:プロパティには常に「nonatomic」属性を使用する |
中 | Wrap Macro Statements In Do While | OPT.OBJECTIVEC.WrapMacroStatementsInDoWhile | WrapMacroStatementsInDoWhile:複数文のマクロをdo-whileループで囲む |
中 | Avoid S M S | OPT.OBJECTIVEC.SECURITY.AvoidSMS | AvoidSMS:SMS関連の操作の回避 |
中 | Biometric Without Message | OPT.OBJECTIVEC.SECURITY.BiometricWithoutMessage | BiometricWithoutMessage:ユーザ認証を求める理由なしでの、指紋認証の要求 |
中 | Execution After Redirect | OPT.OBJECTIVEC.SECURITY.ExecutionAfterRedirect | ExecutionAfterRedirect:リダイレクト処理後のコードの実行(EAR) |
中 | Missing Content Validation | OPT.OBJECTIVEC.SECURITY.MissingContentValidation | MissingContentValidation:コンテンツ検証の欠落 |
中 | Potential Infinite Loop | OPT.OBJECTIVEC.SECURITY.PotentialInfiniteLoop | PotentialInfiniteLoop:到達不可能な終了条件を持つルール(無限ループ) |
中 | Server Trust Credential Check | OPT.OBJECTIVEC.SECURITY.ServerTrustCredentialCheck | ServerTrustCredentialCheck:サーバ証明書のトラストチェーンの評価 |
中 | Unchecked Input In Loop Condition | OPT.OBJECTIVEC.SECURITY.UncheckedInputInLoopCondition | UncheckedInputInLoopCondition:ループ条件における未チェックの入力 |
中 | Cookie Without SSL | OPT.OBJECTIVEC.CookieWithoutSSL | CookieWithoutSSL: セキュリティ属性のないCookie作成の回避 |
中 | Hardcoded Username Password | OPT.OBJECTIVEC.SECURITY.HardcodedUsernamePassword | HardcodedUsernamePassword:ハードコードされた資格情報の使用 |
中 | Http Response Caching Leak | OPT.OBJECTIVEC.SECURITY.HttpResponseCachingLeak | HttpResponseCachingLeak:機密性の高いHTTPレスポンスのキャッシュ |
中 | Information Exposure Through Error Message | OPT.OBJECTIVEC.SECURITY.InformationExposureThroughErrorMessage | InformationExposureThroughErrorMessage:エラーメッセージによる機密情報の露出の回避 |
中 | Insecure Temporary File | OPT.OBJECTIVEC.SECURITY.InsecureTemporaryFile | InsecureTemporaryFile:安全ではない一時ファイルの作成と使用(アプリケーションとシステムのデータが攻撃に対して脆弱性になる可能性あり) |
中 | Keyboard Caching Leak | OPT.OBJECTIVEC.SECURITY.KeyboardCachingLeak | KeyboardCachingLeak:キーボードキャッシュによる機密データの漏洩 |
中 | Password In Configuration File | OPT.OBJECTIVEC.SECURITY.PasswordInConfigurationFile | PasswordInConfigurationFile:設定ファイルでの認証情報の使用 |
中 | Pasteboard Caching Leak | OPT.OBJECTIVEC.SECURITY.PasteboardCachingLeak | PasteboardCachingLeak:ペーストポードのキャッシュメカニズムによる機密データの漏洩 |
中 | Privacy Violation | OPT.OBJECTIVEC.SECURITY.PrivacyViolation | PrivacyViolation:個人情報の漏洩(プライバシー侵害) |
中 | Screen Caching Leak | OPT.OBJECTIVEC.SECURITY.ScreenCachingLeak | ScreenCachingLeak:アプリがバックグランドに移動した時の画面キャッシュメカニズムによる機密データの漏洩 |
中 | Sensitive Core Data | OPT.OBJECTIVEC.SECURITY.SensitiveCoreData | SensitiveCoreData:CoreDataに格納された機密情報(プライバシー侵害) |
中 | Sensitive Data Accessed From Itunes | OPT.OBJECTIVEC.SECURITY.SensitiveDataAccessedFromItunes | SensitiveDataAccessedFromItunes:Itunesからアクセスされる機密情報(プライバシー侵害) |
中 | Sensitive No SQL | OPT.OBJECTIVEC.SECURITY.SensitiveNoSQL | SensitiveNoSQL:NoSQLデータベースに格納された機密データ(プライバシーの侵害) |
中 | Sensitive SQL | OPT.OBJECTIVEC.SECURITY.SensitiveSQL | SensitiveSQL:SQLデータベースに格納された機密データ(プライバシーの侵害) |
中 | Sensitive User Defaults | OPT.OBJECTIVEC.SECURITY.SensitiveUserDefaults | SensitiveUserDefaults:NSUserDefaultsに格納された機密情報(プライバシー侵害) |
中 | Serializable Class Containing Sensitive Data | OPT.OBJECTIVEC.SECURITY.SerializableClassContainingSensitiveData | SerializableClassContainingSensitiveData:機密データを含むシリアライズ可能クラスの検出 |
中 | Third Party Keyboard Allowed | OPT.OBJECTIVEC.SECURITY.ThirdPartyKeyboardAllowed | ThirdPartyKeyboardAllowed:サードパーティのキーボードへの機密データ公開の回避 |