gpt4 book ai didi

azure - 辅助角色进程能否以编程方式调用 Azure 云服务的反恶意软件?

转载 作者:行者123 更新时间:2023-12-04 21:13:59 26 4
gpt4 key购买 nike

我正在尝试找到一种解决方案,可用于对已上传到 Azure Blob 存储的文件执行病毒扫描。我想知道是否可以将文件复制到辅助角色实例上的本地存储,调用 Azure 云服务的反恶意软件来对该特定文件执行扫描,然后根据文件是否干净,相应地处理该文件。

如果辅助角色无法以编程方式调用扫描,是否有明确的方法来检查文件是否已被扫描以及文件复制到本地存储后是否干净(我不知道该服务是否添加新文件时进行实时扫描,还是仅按计划运行)?

最佳答案

我们没有找到直接的 API,但反恶意软件服务符合 Windows 桌面病毒检查程序使用的标准,因为它们实现了 IAttachmentExecute COM API。

因此,我们最终实现了一个文件上传服务,将上传的文件写入隔离本地资源,然后调用 IAttachmentExecute API。如果文件被感染,根据所使用的反恶意软件服务,它将抛出异常、静默删除该文件或将其标记为不可访问。因此,通过尝试读取文件的第一个字节,我们可以测试文件是否仍然可访问。

var type = Type.GetTypeFromCLSID(new Guid("4125DD96-E03A-4103-8F70-E0597D803B9C"));
var svc = (IAttachmentExecute)Activator.CreateInstance(type);
try {
svc.SetClientGuid(ref clientGuid);
svc.SetLocalPath(path);
svc.Save();
}
finally
{
svc.ClearClientState();
}

using (var fileStream = File.OpenRead(path))
{
fileStream.ReadByte();
}

[Guid("73DB1241-1E85-4581-8E4F-A81E1D0F8C57")]
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface IAttachmentExecute
{
void SetClientGuid(ref Guid guid);

void SetLocalPath(string pszLocalPath);

void Save();

void ClearClientState();
}

关于azure - 辅助角色进程能否以编程方式调用 Azure 云服务的反恶意软件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28862992/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com