为什么声纳云没有标记为“注入”?

问题描述

看看这段代码

var url = "https://mydatabase.documents.azure.com:443/";
var db = "my-db";
var key = "mykey";

var sqlQueryText = $"SELECT * FROM CelCoinData f WHERE f.id = '{data.UniversalId}' and f.uri = '{data.Uri}'";

var cliente = new CosmosClient(url,key);
var database = cliente.GetDatabase(db);
var containers = database.GetContainer("MyContainer");
var dados = new DataCosmosDB();

var iterator = containers.GetItemQueryIterator<DataCosmosDB>(sqlQueryText);

在我看来,这是 sql 注入的教科书,但 SonarCloud 并没有这样标记。为什么?

Cosmos 是否无懈可击? Cosmos 客户端是否以某种方式计算并相应调整并且声纳意识到这一点?

解决方法

根据 SonarCloud 支持,Cosmos 尚未检测为 SINK。他们会做出适当的改变