Skip to main content

CodeQL 分析用の Python クエリ

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

Who can use this feature?

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

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

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

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

クエリ名関連する CWE既定値Extended
Paramiko の使用時に不明な SSH ホスト キーを受け入れる295
tarfile 抽出中の任意のファイル書き込み022
不正な HTML フィルタリング正規表現116, 020, 185, 186
ソケットをすべてのネットワーク インターフェイスにバインドする200
機密情報のクリア テキスト ログ312, 359, 532
機密情報のクリア テキスト ストレージ312, 315, 359
コード インジェクション094, 095, 116
CSRF 保護の弱化または無効化352
SSL/TLS の既定のバージョンが安全でない可能性がある327
ユーザーが制御するデータの逆シリアル化502
Flask アプリがデバッグ モードで実行される215, 489
完全なサーバー側リクエスト フォージェリ918
ハードコーディングされた認証情報259, 321, 798
ホスト名の不完全な正規表現020
不完全な URL 部分文字列のサニタイズ20
非効率的な正規表現1333, 730, 400
例外による情報の露出209, 497
安全でない一時ファイル377
autoescape=False を使用した Jinja2 テンプレート079
ユーザーが制御するソースから構築された LDAP クエリ090
ログ インジェクション117
ファイルのアクセス許可が過度に制限されている732
正規表現の範囲が許容範囲が広すぎる020
不適切な使用方法による PAM 承認バイパス285
部分的なサーバー側リクエスト フォージェリ918
制御されないデータで使用される多項式正規表現1333, 730, 400
リフレクトサーバー側クロスサイト スクリプティング079, 116
正規表現インジェクション730, 400
証明書の検証を行わないリクエスト295
ユーザーが制御するソースから構築された SQL クエリ089
制御されないコマンド ライン078, 088
パス式で使用される制御されないデータ022, 023, 036, 073, 099
ライブラリ入力から構築された安全でないシェル コマンド078, 088, 073
リモート ソースからの URL リダイレクト601
壊れた暗号アルゴリズムまたは脆弱な暗号アルゴリズムの使用327
機密データに対する破損または脆弱な暗号化ハッシュ アルゴリズムの使用327, 328, 916
セキュリティで保護されていない SSL/TLS バージョンの使用327
脆弱な暗号化キーの使用326
XML 外部エンティティの拡張611, 827
XML 内部エンティティ拡張776, 400
ユーザーが制御するソースから構築された XPath クエリ643