python.asyncpg-sqli

返回列表 · CWE 索引

pythonWARNING规则详情

各语言消息对照

语言消息
de

Eine String-Verkettung mit einer nicht literalen Variable in einer asyncpg-Python-SQL-Anweisung wurde erkannt. Das kann zu SQL-Injection führen, wenn die Variable benutzerkontrolliert und nicht ordentlich bereinigt ist. Verwenden Sie zur Vorbeugung parametrisierte Abfragen oder Prepared Statements. Parametrisierte Abfragen erzeugen Sie etwa so: 'conn.fetch("SELECT $1 FROM table", value)'; Prepared Statements mit 'Connection.prepare': 'stmt = conn.prepare("SELECT $1 FROM table"); await stmt.fetch(user_value)'.

en

Detected string concatenation with a non-literal variable in a asyncpg Python SQL statement. This could lead to SQL injection if the variable is user-controlled and not properly sanitized. In order to prevent SQL injection, use parameterized queries or prepared statements instead. You can create parameterized queries like so: 'conn.fetch("SELECT $1 FROM table", value)'. You can also create prepared statements with 'Connection.prepare': 'stmt = conn.prepare("SELECT $1 FROM table"); await stmt.fetch(user_value)'

fr

Une concaténation de chaînes avec une variable non littérale a été détectée dans une requête SQL Python asyncpg. Si la variable est contrôlable par l'utilisateur et n'est pas correctement assainie, cela peut conduire à une injection SQL. Utilisez plutôt des requêtes paramétrées ou des instructions préparées, par exemple : 'conn.fetch("SELECT $1 FROM table", value)' ; vous pouvez aussi créer une instruction préparée avec 'Connection.prepare' : 'stmt = conn.prepare("SELECT $1 FROM table"); await stmt.fetch(user_value)'.

ja

asyncpg の SQL ステートメントに非リテラル変数との文字列連結が検出されました。この変数がユーザー制御可能で、適切にサニタイズされていない場合、SQL インジェクションにつながります。パラメーター化クエリまたはプリペアドステートメントに切り替えてください。例:'conn.fetch("SELECT $1 FROM table", value)'。'Connection.prepare' を使ってプリペアドステートメントを作成することもできます:'stmt = conn.prepare("SELECT $1 FROM table"); await stmt.fetch(user_value)'。

ko

asyncpg SQL 문에서 리터럴이 아닌 변수와의 문자열 연결이 감지되었습니다. 해당 변수를 사용자가 제어할 수 있고 적절히 정제하지 않으면 SQL 인젝션으로 이어질 수 있습니다. 매개변수화된 쿼리나 사전 컴파일된 문장으로 전환하십시오(예: 'conn.fetch("SELECT $1 FROM table", value)'). 'Connection.prepare'로 사전 컴파일된 문장을 만들 수도 있습니다: 'stmt = conn.prepare("SELECT $1 FROM table"); await stmt.fetch(user_value)'.

ru

Обнаружена конкатенация строки с не литеральной переменной в SQL-запросе asyncpg. Если переменная управляется пользователем и не очищается должным образом, возможна SQL-инъекция. Для защиты используйте параметризованные запросы или подготовленные выражения, например: 'conn.fetch("SELECT $1 FROM table", value)'; подготовленные выражения можно создать и через 'Connection.prepare': 'stmt = conn.prepare("SELECT $1 FROM table"); await stmt.fetch(user_value)'.

zh

检测到 asyncpg SQL 语句中与非字面量变量做字符串拼接。若该变量可被用户控制且未妥善净化,会导致 SQL 注入。请改用参数化查询或预编译语句,例如:'conn.fetch("SELECT $1 FROM table", value)';也可用 'Connection.prepare' 创建预编译语句:'stmt = conn.prepare("SELECT $1 FROM table"); await stmt.fetch(user_value)'。

zh-Hant

檢測到 asyncpg SQL 陳述式中與非字面量變數做字串串接。若該變數可被使用者控制且未妥善淨化,會導致 SQL 注入。請改用參數化查詢或預備陳述式,例如:'conn.fetch("SELECT $1 FROM table", value)';也可用 'Connection.prepare' 建立預備陳述式:'stmt = conn.prepare("SELECT $1 FROM table"); await stmt.fetch(user_value)'。

CWE 知识卡

语言名称修复建议
deSQL-InjectionVerwenden Sie durchgängig parametrisierte Abfragen/Prepared Statements, verketten Sie keine SQL-Strings und schließen Sie beim ORM die Schnittstellen für rohe Verkettung.
en——
frNeutralisation inappropriée des éléments spéciaux dans une commande SQL (injection SQL)Utilisez systématiquement des requêtes paramétrées ou des instructions préparées ; interdisez la concaténation de SQL et fermez les points d'entrée SQL brut de l'ORM.
jaSQL インジェクションすべてパラメーター化クエリ/プリペアドステートメントを使用し、SQL を文字列連結で組み立てないでください。ORM ではネイティブな連結の入り口を無効化してください。
koSQL 인젝션모든 곳에서 매개변수화된 쿼리나 사전 컴파일된 문장을 사용하고, SQL을 문자열로 이어 붙이지 말며, ORM이 SQL을 문자열로 이어 붙이는 네이티브 진입점은 비활성화하십시오.
ruSQL-инъекцияВезде применяйте параметризованные запросы и подготовленные выражения; склейка SQL-строк запрещена, а нативные пути ORM закрывайте.
zhSQL 注入全部使用参数化查询/预编译语句,禁止字符串拼接 SQL,ORM 关闭原生拼接入口。
zh-HantSQL 注入全部使用參數化查詢/預備陳述式,禁止字串串接 SQL,ORM 關閉原生串接入口。

OWASP

A01:2017 - InjectionA03:2021 - Injection

元数据

likelihoodLOW
impactHIGH
confidenceLOW

修复字段

fix无
fix-regex无

上游规则源

github.com/opengrep/opengrep-rules/tree/main/python/lang/security/audit/sqli/asyncpg-sqli.yaml