gdata-vaas
An SDK to easily utilize G DATA VaaS.
Verdict-as-a-Service (VaaS) is a service that provides a platform for scanning files for malware and other threats. It allows easy integration in your application. With a few lines of code, you can start scanning files for malware.
What does the SDK do?
It gives you as a developer a functions to talk to G DATA VaaS. It wraps away the complexity of the API into 3 basic functions.
for_sha256
If you calculate the sha256 for a file, you can request that sha256 against G DATA VaaS. It's the fastest way to get a verdict from our service.
for_url
If you want to request if a file behind a URL is safe, you can specify the URL as well. Depending on the file size, the duration for the analysis can vary.
for_file
You can also ask for a file itself. You will still get the benefit of a fast verdict via Sha256 because the SDK will do that for you first. But additionally, if we don't know the file, the file will get uploaded and (automatically) analyzed by us.
What do the Verdicts look like
The verdicts are simple. They are either
Clean: The scanners didn't find anything malicious.Malicious: The scanners found something malicious.Unknown: We don't know the file hash yet. A scan is then performed for each exceptfor_sha256function.Pup: Potentially Unwanted Program (Adware, Spyware, etc.)
The scan functions will return the following dict:
{
"Sha256": "<Sha256>",
"Guid": "<Guid>",
"Verdict": <"Clean"|"Malicious"|"Unknown"|"Pup">,
"Detection": "<Name of the detected malware>",
"FileType": "<FileType>",
"MimeType": "<MimeType>"
}
How to use
Installation
pip3 install gdata-vaas
gdata-vaas requires Python 3.12+.
Import
from vaas import Vaas, ClientCredentialsGrantAuthenticator
Request a verdict
Authentication & Initializing:
authenticator = ClientCredentialsGrantAuthenticator(
CLIENT_ID,
CLIENT_SECRET,
TOKEN_URL,
SSL_VERIFICATION
)
vaas = Vaas(authenticator=authenticator)
The Vaas instance can and should be used for multiple requests.
Verdict Request for SHA256:
sha256 = "275a021bbfb6489e54d471899f7db9d1663fc695ec2fe2a2c4538aabf651fd0f"
verdict = await vaas.for_sha256(sha256)
Verdict Request for a file:
path = "/path/to/file"
verdict = await vaas.for_file(path)
Verdict Request for a URL:
url = "https://www.gdatasoftware.com/oem/verdict-as-a-service"
verdict = await vaas.for_url(url)
I'm interested in VaaS
You need credentials to use the service in your application. If you are interested in using VaaS, please contact us.
Developing with Visual Studio Code
Every single SDKs also includes Devcontainer. If you use the Visual Studio Code Dev Containers extension, you can run the code in a full-featured development environment.
Metadata
Release files for gdata-vaas 6.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| gdata_vaas-6.1.0.tar.gz | 12.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| gdata_vaas-6.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 25.5 kB
Release files / gdata_vaas-6.1.0.tar.gz
| Download URL | gdata_vaas-6.1.0.tar.gz |
|---|---|
| Size | 12.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5de148d01cc84348988c04e48bdf0b0556d8d349fca4bede4a3c48cf486e2165
|
|
BLAKE2b-256 checksum How to use checksums |
3cbb19087d6949bf5670fba9ca63dab49cad6cf8249bafad08b3cbdecd3205cb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / gdata_vaas-6.1.0-py3-none-any.whl
| Download URL | gdata_vaas-6.1.0-py3-none-any.whl |
|---|---|
| Size | 13.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7e906cab4619d39c8dfac103e9676ef79758f18180ef35c7be64d0854caccfd8
|
|
BLAKE2b-256 checksum How to use checksums |
f25337f0a5141ca67cb7e9c2507b9eb59ba104400ed8fd067ec82f33451bd98d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|