在 C# 中使用 Sophos Labs Intelix 扫描上传的文件

Scan Uploaded File using Sophos Labs Intelix in c#

我是 SophosLabs Intelix 的新手。我正在尝试在我的 ASP .Net Application(webforms/MVC) 中构建一个示例,我想在其中 运行 一个 用户 对上传文件进行防病毒扫描。如果上传的文件是干净的,我想将它上传到服务器,否则我想取消操作。我想专门使用 SophosLabs Intelix 来实现该功能。如果有人可以就此功能指导我,那就太好了。 C# 中的代码示例将不胜感激。 在此先感谢您的帮助。

样本:

if(file.HasFile)
{
     //run an antivirus scan
     //result
     if(result == NoThreat){
         //Uploaded Successfully
     }
     else{
         //File contains a virus. Upload failed!
     }
}
else{
     //Please select a file to upload!
}

我建议从执行OAUTH 2 身份验证请求开始。您可以在这里找到一些想法:

一旦您有了 access_token,您就可以使用 if 进行 /reports/?sha256=... 查询。 它可能 return 立即报告。 如果它没有 return 任何数据 (404) 此请求是免费的,您可以 POST 将文件发送到根端点“/”进行分析。 它可能需要一些 seconds/minutes,在此期间,只要你得到它,你就应该从 /reports/{job_id} 端点轮询报告。

如果您不能为决策数据等待几分钟,您可以立即使用 File Hash Lookup API 以及 return。 它可能给出 30..69 之间的 reputationScore,因此无法确定文件的危险程度,但在这种情况下,您仍然可以对其执行静态或动态分析。