Проверяя класс UrlReport , отчет, который вы получаете, содержит гораздо больше информации, чем просто код ответа в их примере кода. Есть 3 поля, которые выглядят интересными:
/// <summary>
/// How many engines flagged this resource.
/// </summary>
public int Positives { get; set; }
/// <summary>
/// The scan results from each engine.
/// </summary>
public Dictionary<string, UrlScanEngine> Scans { get; set; }
/// <summary>
/// How many engines scanned this resource.
/// </summary>
public int Total { get; set; }
Это может дать вам результаты, которые вы ищете. VirusTotal фактически возвращает результаты для нескольких модулей сканирования, некоторые из которых могут обнаружить вирус, а некоторые нет.
Console.WriteLine($"{report.Positives} out of {report.Total} scan engines detected a virus.");
С этими данными вы можете делать все, что угодно, например, рассчитывать процент:
var result = 100m * report.Positives / report.Total;
Console.WriteLine($"{result}% of scan engines detected a virus.");
Или просто относитесь к большинству положительных результатов сканирования как к общему положительному результату:
var result = Math.Round(report.Positives / Convert.ToDecimal(report.Total));
Console.WriteLine($"Virus {(result == 0 ? "not detected": "detected")});