Skip to main content

gdata-vaas is a Python library for the VaaS-API.

Project description

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

Import

from vaas import Vaas, ClientCredentialsGrantAuthenticator

Request a verdict

Authentication & Initializing:

authenticator = ClientCredentialsGrantAuthenticator(
    CLIENT_ID,
    CLIENT_SECRET,
    TOKEN_URL,
    SSL_VERIFICATION
)

Verdict Request for SHA256:

async with Vaas() as vaas:
    await vaas.connect(await authenticator.get_token())
    sha256 = "275a021bbfb6489e54d471899f7db9d1663fc695ec2fe2a2c4538aabf651fd0f"
    verdict = await vaas.for_sha256(sha256)

Verdict Request for a file:

async with Vaas() as vaas:
    await vaas.connect(await authenticator.get_token())
    path = "/path/to/file"
    verdict = await vaas.for_file(path)

Verdict Request for a URL:

async with Vaas() as vaas:
    await vaas.connect(await authenticator.get_token())
    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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gdata_vaas-5.1.0.tar.gz (9.9 kB view details)

Uploaded Source

Built Distribution

gdata_vaas-5.1.0-py3-none-any.whl (9.1 kB view details)

Uploaded Python 3

File details

Details for the file gdata_vaas-5.1.0.tar.gz.

File metadata

  • Download URL: gdata_vaas-5.1.0.tar.gz
  • Upload date:
  • Size: 9.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.5

File hashes

Hashes for gdata_vaas-5.1.0.tar.gz
Algorithm Hash digest
SHA256 d534e9128ae0cbece65ae171295d2284817ef25152a248c08f405e95199def0a
MD5 95689ec9b6194acd3afcf8e542b84d1b
BLAKE2b-256 0b25bc05982933bb4f4f99d377261c23e4be054dde3332bb4ae7ad9e938f44b6

See more details on using hashes here.

File details

Details for the file gdata_vaas-5.1.0-py3-none-any.whl.

File metadata

  • Download URL: gdata_vaas-5.1.0-py3-none-any.whl
  • Upload date:
  • Size: 9.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.5

File hashes

Hashes for gdata_vaas-5.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7a9ccbd61871e569b42070d2ab9ab604068430c0eec00d46e4dc3bbc1b5a5735
MD5 efdabc65f053519410789e8d0c3c53d9
BLAKE2b-256 1c85eba849996d1cb8f686578297271ec033458b21898d3cb8e621c54b31c6bd

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page