Skip to main content

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 except for_sha256 function.
  • 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)

Source distribution for gdata-vaas 6.1.0
File Size Uploaded
gdata_vaas-6.1.0.tar.gz 12.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for gdata-vaas 6.1.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

6.1.0 This release

2 release files

6.0.4

2 release files

6.0.3

2 release files

6.0.2

2 release files

6.0.1

2 release files

6.0.0

2 release files

5.2.0

2 release files

5.1.3

2 release files

5.1.2

2 release files

5.1.1

2 release files

5.1.0

2 release files

5.0.2

2 release files

5.0.1

2 release files

5.0.0

2 release files

4.4.0

2 release files

4.3.0

2 release files

4.2.1

2 release files

4.2.0

2 release files

4.1.2

2 release files

4.1.1

2 release files

4.0.0

2 release files

3.3.2

2 release files

3.3.1

2 release files

3.3.0

2 release files

3.2.1

2 release files

3.2.0

2 release files

3.1.0

2 release files

3.0.0

2 release files

2.2.0

2 release files

2.1.0

2 release files

2.0.3

2 release files

2.0.2

2 release files

2.0.1

2 release files

2.0.0

2 release files

1.0.0

2 release files

0.6.2

2 release files

0.6.0

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.4

2 release files

0.4.3

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

0.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page