Skip to main content

CodeQL 分析用の Swift クエリ

default または security-extended クエリ スイートを選択時、CodeQL が Swift のコード分析に使用するクエリについて詳しく見てみましょう。

この機能を使用できるユーザーについて

Code scanning は、GitHub.com のすべてのパブリック リポジトリに使用できます。 Code scanning は、GitHub Enterprise Cloud を使用していて GitHub Advanced Security のライセンスを持つ Organization によって所有されるプライベート リポジトリでも使用できます。 詳しくは、「GitHub Advanced Security について」を参照してください。

CodeQL には、Swift コードを分析するためのクエリが多数含まれています。 default クエリ スイート内のすべてのクエリは、既定で実行されます。 security-extended クエリ スイートを使用する場合は、追加のクエリが実行されます。 詳しくは、「CodeQL クエリ スイート」を参照してください。

注:

  • Swift の CodeQL 分析は、現在ベータ版です。 ベータ版では、Swift コードと、付随するドキュメントの分析は、他の言語の場合ほど包括的なものではありません。

Swift 分析用の組み込みクエリ

次の表に、最新リリースの CodeQL アクションと CodeQL CLI で使用できるクエリを示します。 詳細については、CodeQL ドキュメントにある CodeQL クエリに関するページを参照してください。

注: code scanning の GitHub の自動修正はベータ版です。 機能とドキュメントテーションは変更される場合があります。 このフェーズでは、機能は、CodeQL によって識別される JavaScript、TypeScript、Python、Java アラートに制限されます。 エンタープライズ アカウントがあり、GitHub Advanced Security を使用している場合、エンタープライズはベータ版にアクセスできます。

クエリ名関連する CWE既定値Extended
不正な HTML フィルタリング正規表現116, 020, 185, 186
機密情報のクリア テキスト ログ312, 359, 532
ローカル データベース内の機密情報のクリア テキスト ストレージ312
アプリケーション設定ストア内の機密情報のクリア テキスト ストレージ312
機密情報のクリア テキスト送信319
定数パスワード259
ユーザーが制御するソースから構築されたデータベース クエリ089
ECB を使用した暗号化327
ハードコードされた暗号化キー321
ホスト名の不完全な正規表現020
非効率的な正規表現1333, 730, 400
セキュリティで保護されていない TLS 構成757
ハッシュイテレーションが不十分916
正規表現アンカーがない020
ユーザーが制御するソースから構築された述語943
正規表現インジェクション730, 400
ユーザーが制御するデータ内の XML 外部エンティティの解決611, 776, 827
暗号化用の静的初期化ベクトル329, 1204
文字列長の混同135
ユーザーが制御するソースから構築されたシステム コマンド078, 088
パス式で使用される制御されないデータ022, 023, 036, 073, 099
制御されないフォーマット文字列134
安全でない WebView フェッチ079, 095, 749
機密データに対する破損または脆弱な暗号化ハッシュ アルゴリズムの使用327, 328
パスワードに不適切な暗号化ハッシュ アルゴリズムの使用327, 328, 916
定数ソルトの使用760
JavaScript インジェクション094, 095, 749