
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
本项目为Skyhigh Web Gateway(反***)和Skyhigh Cloud(数据分类)提供的反和数据分类服务提供REST API前端。该API接受URL或S3 UTI作为输入,并提供JSON格式的扫描响应。C#代码可以直接作为Azure Function运行,或在任何可以运行Docker容器的环境中运行,以提供处理同步反和分类/DLP请求的可扩展微服务。
运行容器时,需要传递几个环境变量,以便API知道在哪里发出ICAP请求:
bashdocker run -it -p [port]:80 --name MalwareScanner \ -e ICAPSERVER=[YOUR_ICAP_SERVER] \ -e ICAPPORT=[YOUR_ICAP_PORT] \ -e ICAPCLIENT=[YOUR_ICAP_CLIENT] \ skyhighsecurity/scannerapi:latest
注意:ICAPCLIENT变量是提交给ICAP服务器的IP/主机(仅用于日志记录),必须从容器中可访问。
只需将ScannerAPI.cs复制到您的Azure函数中,并根据您的配置编辑ICAPServer、ICAPClient和sICAPPort参数。
ScannerAPI依赖于Microsoft Azure Functions框架,因此端点格式如下:
http://[HOST]:[PORT]/api/[endpoint]?usefilecache=[True|False]&[url|s3uri]=[URL_OR_S3URI_TO_SCAN]
目前支持AVScan端点,DLPScan端点为实验性。
扫描HTTP对象的*示例:**
http://myhost:80/api/AVScan?url=http://mystore.myco.com/files/abc123.zip
扫描AWS S3中的对象示例:
http://myhost:80/api/AVScan?s3uri=s3://mybucket/abc123.zip
扫描大型文件(使用磁盘缓存):
http://myhost:80/api/AVScan?usefilecache=True&url=http://mystore.myco.com/files/abc123.zip
API将返回如下JSON格式的结果:
json{ "Filename": "putty-64bit-0.75-installer.msi", "Infected": false, "InfectionName": null, "HasError": false, "ErrorMessage": null }
数据分类目前处于实验阶段/未正式文档化,需要将Skyhigh Cloud凭据和DLP策略ID作为环境变量传递。
虽然ICAP是RFC 3507定义的标准,但由于其独特的响应风格(旨在通过Web网关向最终用户显示),现代应用程序难以使用。目前没有处理ICAP响应的标准化库,因此每个需要反***/DLP功能的应用程序都必须编写此功能。使用本项目允许开发人员使用熟悉的REST API。
由于调用者和API端点不直接交换文件(仅交换URL和结果),大多数用例不需要HTTPS。但是,如果仍想使用HTTPS,建议实施反向代理或API网关作为最佳实践。
目前未实现此功能。一种更安全的方法是先将文件保存到Blob存储,为文件生成预签名URL(或SAS令牌),然后将该URL提交给API进行扫描。如果有直接提交文件的用例,请联系项目团队,我们可以考虑添加此功能。
是的,这是一个常见用例。通常的策略是使用AWS Lambda等工具在文件添加到S3存储桶时调用API。在https://github.com/terratrax/LambdaMalwareSorterS3%E4%B8%AD%E6%8F%90%E4%BE%9B%E4%BA%86%E4%B8%80%E4%B8%AA%E5%B0%86%E6%96%87%E4%BB%B6%E5%88%86%E7%B1%BB%E5%88%B0%22%E5%B9%B2%E5%87%80%22%E5%92%8C%22%E8%84%8F%22%E5%AD%98%E5%82%A8%E6%A1%B6%E7%9A%84%E7%A4%BA%E4%BE%8B%E3%80%82
此功能目前处于实验阶段且未正式文档化。
在服务容器配置中指定入口点"/azure-functions-host/Microsoft.Azure.WebJobs.Script.WebHost"。
使用卷,使容器的/tmp目录引用外部卷。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务