Check for variable declarations in a SQL statement where there is potential for SQL injections.
Non-Compliant Code Examples
vartable='baz';constfoo="SELECT foo FROM "+table;constselect=`SELECT foo FROM ${table}`;vardel=`DELETE FROM ${table} WHERE condition;`;letupdate=' UPDATE '+table+"SET column1 = value1, column2 = value2"+"WHERE condition;";
// Not safe: template strings with value
letupdate=` UPDATE `+'mytable'+`SET column1 = value1, column2 = ${value}`+"WHERE condition;";
Compliant Code Examples
// Safe: using parameterized queries
constquery="SELECT foo FROM users WHERE id = ?";connection.query(query,[userId]);// Safe: only strings
letupdate=' UPDATE '+'mytable'+"SET column1 = value1, column2 = value2"+"WHERE condition;";
// safe: template strings without value
letupdate=` UPDATE `+'mytable'+`SET column1 = value1, column2 = value2`+"WHERE condition;";
원활한 통합. Datadog Code Security를 경험해 보세요
Datadog Code Security
이 규칙을 사용해 Datadog Code Security로 코드를 분석하세요
규칙 사용 방법
1
2
rulesets:- javascript-node-security # Rules to enforce JavaScript node security.
리포지토리 루트에 위의 내용을 포함하는 static-analysis.datadog.yml을 만듭니다
무료 IDE 플러그인을 사용하거나 CI 파이프라인에 Code Security 검사를 추가합니다