widdix/attachmentav-sdk-java

GitHub: widdix/attachmentav-sdk-java

由 Sophos 引擎驱动的 Java 病毒扫描 SDK,支持同步与异步方式扫描本地文件、URL 及 Amazon S3 对象以检测恶意软件。

Stars: 0 | Forks: 0

# attachmentav-sdk-java 一个用于将病毒和恶意软件扫描功能集成到 Java 应用程序中的 SDK。借助由 Sophos 提供支持的 attachmentAV,扫描文件以检测病毒、木马和其他类型的恶意软件。 ## 什么是 attachmentAV? [attachmentAV](https://attachmentav.com) 为 SaaS 和云平台提供防病毒服务。扫描您存储在云端的文件和附件,以检测病毒、蠕虫和木马。attachmentAV 能够实时检测恶意软件。支持 Amazon S3、Atlassian、Cloudflare R2、Salesforce、WordPress 等。 [attachmentAV 病毒和恶意软件扫描 API](https://attachmentav.com/solution/virus-malware-scan-api/) 提供了一个 REST API,允许您将恶意软件扫描集成到您的应用程序中。该解决方案提供两个版本: * [attachmentAV 病毒扫描 API (SaaS)](https://attachmentav.com/help/virus-malware-scan-api/setup-guide/):通过全面托管的服务快速入门 * [attachmentAV 病毒扫描 API (在 AWS 上自托管)](https://attachmentav.com/help/virus-malware-scan-api-aws/setup-guide/):在 AWS 上部署可用于生产环境的 API attachmentAV 提升了信息安全的标杆。我们的解决方案通过了 ISO 27001 认证并符合 GDPR 标准。我们正在建立、实施、维护和持续改进信息安全管理体系 (ISMS)。敏感数据在传输和静态存储过程中均经过加密,并在处理完成后立即删除。超过 1,000 名客户信任我们的恶意软件防护技术。 ## 安装 SDK 在 Maven Central 上找到最新版本的 [virus-scan-sdk](https://central.sonatype.com/artifact/com.attachmentav/virus-scan-sdk) 并将其添加到您项目的依赖项中。 ``` com.attachmentav virus-scan-sdk 0.4.0 ``` ## 配置 SDK ### 配置 SDK 以使用 API (SaaS) 需要[有效的订阅和 API 密钥](https://attachmentav.com/help/virus-malware-scan-api/setup-guide/#api-key)。将 `` 替换为您的 API 密钥,并将 `` 替换为 API 端点。API 端点(区域)必须与为订阅选择的区域相匹配。默认值为 `Europe`。 **API 端点 (SaaS)** * `https://eu.developer.attachmentav.com/v1/` (欧洲) * `https://us.developer.attachmentav.com/v1/` (美国) * `https://canada.developer.attachmentav.com/v1/` (加拿大) * `https://india.developer.attachmentav.com/v1/` (印度) * `https://australia.developer.attachmentav.com/v1/` (澳大利亚) ``` import com.attachmentav.api.AttachmentAvApi; import com.attachmentav.client.ApiClient; import com.attachmentav.client.ApiException; import com.attachmentav.client.Configuration; import com.attachmentav.model.ScanResult; // ... ApiClient client = Configuration.getDefaultApiClient(); client.setApiKey(""); client.setBasePath(""); AttachmentAvApi api = new AttachmentAvApi(); ``` ### 配置 SDK 以使用 API (在 AWS 上自托管) 在遵循设置指南时,您为 CloudFormation stack 指定了 `ApiKeys` 参数。将 `` 替换为其中一个密钥,并将 `` 替换为 API 端点。 例如,将 `attachmentav.yourcompany.com` 替换为您 [attachmentAV API 安装](https://attachmentav.com/help/virus-malware-scan-api-aws/developer/definition.html#domain-name) 的域名: `https://attachmentav.yourcompany.com/api/v1`。 ``` import com.attachmentav.api.AttachmentAvApi; import com.attachmentav.client.ApiClient; import com.attachmentav.client.ApiException; import com.attachmentav.client.Configuration; import com.attachmentav.model.ScanResult; // ... ApiClient client = Configuration.getDefaultApiClient(); client.setBearerToken(""); client.setBasePath(""); AttachmentAvApi api = new AttachmentAvApi(); ``` ## 示例 ### 同步扫描:文件 将文件发送到 attachmentAV 病毒扫描 API 并处理扫描结果。 最大文件大小为 10 MB。请求超时时间为 60 秒。 ``` ScanResult result = api.scanSyncBinaryPost(new File("/path/to/file")); System.out.println("Scan Result: " + result.getStatus()); ``` 查看完整示例[请点击这里](https://github.com/widdix/attachmentav-sdk-java/blob/main/examples/src/main/java/com/attachmentav/api/examples/SyncBinary.java) ### 同步扫描:下载 将 URL 发送到 attachmentAV 病毒扫描 API。attachmentAV 将下载文件并立即返回扫描结果。 最大文件大小为 10 MB。请求超时时间为 60 秒。 查看完整示例[请点击这里](https://github.com/widdix/attachmentav-sdk-java/blob/main/examples/src/main/java/com/attachmentav/api/examples/SyncDownload.java) ### 同步扫描:S3 将 S3 bucket 名称和 object key 发送到 attachmentAV 病毒扫描 API。attachmentAV 将下载文件并立即返回扫描结果。 最大文件大小为 10 MB。请求超时时间为 60 秒。 ``` SyncS3ScanRequest request = new SyncS3ScanRequest(); request.setBucket(""); request.setKey(""); //request.setVersion(""); // for versioned buckets only ScanResult result = api.scanSyncS3Post(request); System.out.println("Scan Result: " + result.getStatus()); ``` 查看完整示例[请点击这里](https://github.com/widdix/attachmentav-sdk-java/blob/main/examples/src/main/java/com/attachmentav/api/examples/SyncS3.java) ### 异步扫描:下载 (callback) 将 URL 发送到 attachmentAV 病毒扫描 API。attachmentAV 会将扫描结果发送到 callback URL。详情请参阅 [callback URL](https://attachmentav.com/help/virus-malware-scan-api/setup-guide/#callback-url)。 最大文件大小为 5 GB。请求超时时间为 29 秒,异步扫描任务不受此限制影响。 查看完整示例[请点击这里](https://github.com/widdix/attachmentav-sdk-java/blob/main/examples/src/main/java/com/attachmentav/api/examples/AsyncDownload.java) ### 异步扫描:下载 (polling) 将 URL 发送到 attachmentAV 病毒扫描 API。attachmentAV 将下载文件并将扫描结果存储 24 小时。 最大文件大小为 5 GB。请求超时时间为 29 秒,异步扫描任务不受此限制影响。 ``` String traceId = UUID.randomUUID().toString(); AsyncDownloadScanRequest request = new AsyncDownloadScanRequest(); request.setTraceId(traceId); request.setDownloadUrl("https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf"); api.scanAsyncDownloadPost(request); System.out.println("Async download submitted."); // Wait some time... ScanResult scanResult = api.scanAsyncResultGet(traceId); System.out.println("Async download scan result: " + scanResult); ``` 查看完整示例[请点击这里](https://github.com/widdix/attachmentav-sdk-java/blob/main/examples/src/main/java/com/attachmentav/api/examples/AsyncDownloadPolling.java) ### 异步扫描:S3 (callback) 将 S3 bucket 名称和 object key 发送到 attachmentAV 病毒扫描 API。attachmentAV 会将扫描结果发送到 callback URL。详情请参阅 [callback URL](https://attachmentav.com/help/virus-malware-scan-api/setup-guide/#callback-url)。 最大文件大小为 5 GB。请求超时时间为 29 秒,异步扫描任务不受此限制影响。 ``` AsyncS3ScanRequest request = new AsyncS3ScanRequest(); request.setBucket("example-bucket"); request.setKey("demo.txt"); request.setCallbackUrl("https://example.com/callback"); api.scanAsyncS3Post(request); ``` 查看完整示例[请点击这里](https://github.com/widdix/attachmentav-sdk-java/blob/main/examples/src/main/java/com/attachmentav/api/examples/AsyncS3.java) ### 异步扫描:S3 (polling) 将 S3 bucket 名称和 object key 发送到 attachmentAV 病毒扫描 API。attachmentAV 将下载文件并将扫描结果存储 24 小时。详情。 最大文件大小为 5 GB。请求超时时间为 29 秒,异步扫描任务不受此限制影响。 ``` String traceId = UUID.randomUUID().toString(); AsyncS3ScanRequest request = new AsyncS3ScanRequest(); request.setTraceId(traceId); request.setBucket(""); request.setKey(""); //request.setVersion(""); // for versioned buckets only api.scanAsyncS3Post(request); System.out.println("Async S3 submitted."); // Wait some time... ScanResult scanResult = api.scanAsyncResultGet(traceId); System.out.println("Async download scan result: " + scanResult); ``` 查看完整示例[请点击这里](https://github.com/widdix/attachmentav-sdk-java/blob/main/examples/src/main/java/com/attachmentav/api/examples/AsyncS3.java) ### 使用方法 详情请参阅[使用方法](sdk/models/Usage.ts)。 ``` com.attachmentav.model.Usage result = api.usageGet(); System.out.println("Usage: " + result.toString()); ``` 查看完整示例[请点击这里](https://github.com/widdix/attachmentav-sdk-java/blob/main/examples/src/main/java/com/attachmentav/api/examples/Usage.java) ### 我是谁 获取关于您自己的信息。 详情请参阅[我是谁](sdk/models/Whoami.ts)。 ``` com.attachmentav.model.Whoami result = api.whoamiGet(); System.out.println("Who Am I: " + result.toString()); ``` 查看完整示例[请点击这里](https://github.com/widdix/attachmentav-sdk-java/blob/main/examples/src/main/java/com/attachmentav/api/examples/Whoami.java) ## 需要帮助? 您在开始使用 attachmentAV 时需要任何帮助吗?请联系 [hello@attachmentav.com](mailto:hello@attachmentav.com)。
标签:JS文件枚举, SaaS API, 域名枚举, 恶意软件扫描, 漏洞利用检测, 网页爬虫, 防病毒