
Verdict-as-a-Service SDKs: Analyze files for malicious content
Verdict-as-a-Service (VaaS) is a cloud service that provides capabilities to scan files for malware and other threats. It allows you to easily integrate malware detection in your application with a few lines of code. You can use VaaS to secure any scenario where a file is exchanged or stored, such as:
With minimal effort, you can check a file, URL or hashsum for malicious content. No local installation of any anti-malware product is necessary. VaaS works out of the box, by providing detections from the G DATA cloud. Hosting VaaS on your own Kubernetes cluster, is an option as well.
This repository contains Software Development Kits (SDKs) for VaaS in several programming languages. The SDKs allow you to easily integrate VaaS into your software. Some examples are below:
// Setup
var authenticator = new ResourceOwnerPasswordGrantAuthenticator("vaas-customer", userName, password, tokenUrl);
var vaas = VaasFactory.Create(authenticator);
// Scan a file...
var verdict = await vaas.ForFileAsync(file, CancellationToken.None);
// or a URL...
var verdict = await vaas.ForUrlAsync(uri, CancellationToken.None);
// or just a SHA256 hash
var verdict = await vaas.ForSha256Async(new ChecksumSha256("275a021bbfb6489e54d471899f7db9d1663fc695ec2fe2a2c4538aabf651fd0f"), CancellationToken.None);
Full C# examples can be found in dotnet examples.
// Setup
var authenticator = new ResourceOwnerPasswordGrantAuthenticator("vaas-customer", userName, password, new URI(tokenUrl));
var config = new VaasConfig(new URI(env.vaasUrl));
var vaas = new Vaas(config, authenticator);
// Scan a file...
var verdict = vaas.forFile(file);
// or a URL...
var verdict = vaas.forUrl(url);
// or just a a SHA256 hash
var verdict = vaas.forSha256(new Sha256("275a021bbfb6489e54d471899f7db9d1663fc695ec2fe2a2c4538aabf651fd0f"));
Full Java examples can be found in java examples.
See below for a list of supported languages and examples.
If you are interested in trying out VaaS, please check out our website (German version).
We provide free trial accounts for evaluation purposes with our cloud version of VaaS. You can sign up here with a free trial account. You can then use the created credentials with any SDK in combination with our test environment:
For production use of VaaS, please contact us to discuss your needs and explore how VaaS can best fit your organization. VaaS is available both as a cloud version and on-premise.
We provide an online documentation for VaaS. The documentation includes setup examples, product descriptions and several guides to help you set things up.
We provide SDKs for various programming languages to make it easy for you to integrate VaaS in your application. You can find the source code, examples, and documentation for each SDK in the corresponding repository. Currently, we support the following languages:
| Language | Source Code | Examples | Documentation | Repository |
|---|---|---|---|---|
| Rust | Rust SDK | Examples | docs.rs | crates.io |
| Java | Java SDK | Examples | Readme | maven central |
| PHP | PHP SDK | Examples | packagist | |
| TypeScript(DEPRECATED) | TypeScript SDK | Examples | Readme | npmjs |
| Python | Python SDK | Examples | Readme | pypi |
| .NET | .NET SDK | Examples | nuget.org | |
| Ruby (DEPRECATED) | Ruby SDK | Examples | Readme | rubygems |
| Go | Go SDK | Examples | Readme | Github |
| C++ | C++ SDK | Readme |
The following table shows the functionality supported by each SDK: