PHPackages                             gdata/vaas - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Security](/categories/security)
4. /
5. gdata/vaas

ActiveLibrary[Security](/categories/security)

gdata/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.

11.1.1(2mo ago)08.2k↓16.7%MITPHPPHP ^8.1

Since Oct 11Pushed 2mo ago7 watchersCompare

[ Source](https://github.com/GDATASoftwareAG/vaas-php)[ Packagist](https://packagist.org/packages/gdata/vaas)[ Docs](https://github.com/GDATASoftwareAG/vaas)[ RSS](/packages/gdata-vaas/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (7)Versions (44)Used By (0)

[![vaas-dotnet-ci](https://github.com/GDATASoftwareAG/vaas/actions/workflows/ci-dotnet.yaml/badge.svg)](https://github.com/GDATASoftwareAG/vaas/actions/workflows/ci-dotnet.yaml)[![vaas-java-ci](https://github.com/GDATASoftwareAG/vaas/actions/workflows/ci-java.yaml/badge.svg)](https://github.com/GDATASoftwareAG/vaas/actions/workflows/ci-java.yaml)[![vaas-python-ci](https://github.com/GDATASoftwareAG/vaas/actions/workflows/ci-python.yaml/badge.svg)](https://github.com/GDATASoftwareAG/vaas/actions/workflows/ci-python.yaml)[![vaas-php-ci](https://github.com/GDATASoftwareAG/vaas/actions/workflows/ci-php.yaml/badge.svg)](https://github.com/GDATASoftwareAG/vaas/actions/workflows/ci-php.yaml)[![vaas-golang-ci](https://github.com/GDATASoftwareAG/vaas/actions/workflows/ci-golang.yaml/badge.svg)](https://github.com/GDATASoftwareAG/vaas/actions/workflows/ci-golang.yaml)

Verdict-as-a-Service
====================

[](#verdict-as-a-service)

[![G DATA VaaS logo](assets/G_DATA_VAAS_Logo_R.png)](assets/G_DATA_VAAS_Logo_R.png)

*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:

- Upload forms with file submissions
- Collaboration software like MS Teams, Nextcloud or Slack
- Backup and distributed file storage like Dropbox or OneDrive

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.

Simple example in Rust. Check below for more programming languages.

```
use vaas::{error::VResult, CancellationToken, Vaas, VaasVerdict};
use vaas::auth::authenticators::ClientCredentials;
use std::convert::TryFrom;
use std::time::Duration;

#[tokio::main]
async fn main() -> VResult {
    // Cancel the request after 10 seconds if no response is received
    let ct = CancellationToken::from_seconds(10);

    // Authenticate and create VaaS instance
    let authenticator = ClientCredentials::new(CLIENT_ID, CLIENT_SECRET);
    let vaas = Vaas::builder(authenticator).build()?.connect().await?;

    // Open a file we want to check
    let file = std::path::PathBuf::from("myfile");

    // Ask VaaS for a verdict
    let verdict = vaas.for_file(&file, &ct).await?;

    // Prints "Clean", "Pup" or "Malicious"
    println!("{}", verdict.verdict);
    Ok(())
}
```

How to get started with VaaS
----------------------------

[](#how-to-get-started-with-vaas)

If you are interested in trying out VaaS, you can sign up on our website to create a free trial account. Visit our registration page and follow the instructions to get started. If you have a business case or specific requirements, please contact us at  to discuss your needs and explore how VaaS can best fit your organization.

SDKs
----

[](#sdks)

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:

LanguageSource CodeExamplesDocumentationRepositoryRust(DEPRECATED)[Rust SDK](./rust/)[Examples](./rust/examples)[docs.rs](https://docs.rs/vaas/latest/vaas/)[crates.io](https://crates.io/crates/vaas)Java[Java SDK](./java/)[Examples](./java/examples)[Readme](https://github.com/GDATASoftwareAG/vaas/blob/main/java/Readme.md)[maven central](https://mvnrepository.com/artifact/de.gdata/vaas)PHP[PHP SDK](./php/)[Examples](./php/examples)[packagist](https://packagist.org/packages/gdata/vaas)TypeScript(DEPRECATED)[TypeScript SDK](./typescript/)[Examples](./typescript/examples)[Readme](https://github.com/GDATASoftwareAG/vaas/blob/main/typescript/Readme.md)[npmjs](https://www.npmjs.com/package/gdata-vaas)Python[Python SDK](./python/)[Examples](./python/examples)[Readme](https://github.com/GDATASoftwareAG/vaas/blob/main/python/README.md)[pypi](https://pypi.org/project/gdata-vaas/).NET[.NET SDK](./dotnet/)[Examples](./dotnet/examples)[nuget.org](https://www.nuget.org/packages/GDataCyberDefense.Vaas)Ruby (DEPRECATED)[Ruby SDK](./ruby/)[Examples](./ruby/examples)[Reamde](https://github.com/GDATASoftwareAG/vaas/blob/main/ruby/README.md)[rubygems](https://rubygems.org/gems/vaas)Go[Go SDK](./golang/vaas/)[Examples](./golang/examples)[Readme](https://github.com/GDATASoftwareAG/vaas/blob/main/golang/vaas/README.md)[Github](https://github.com/GDATASoftwareAG/vaas/tree/main/golang/vaas)C++[C++ SDK](./cpp/)[Readme](https://github.com/GDATASoftwareAG/vaas/blob/main/cpp/README.md)[Github](https://github.com/GDATASoftwareAG/vaas/tree/main/cpp)The following table shows the functionality supported by each SDK:

FunctionalityRustJavaPHPTypeScript.NETPythonRuby (DEPRECATED)GolangC++Use HTTP API❌✅✅❌✅✅❌✅❌Check SHA256✅✅✅✅✅✅✅✅✅Check File✅✅✅✅✅✅✅✅✅Check URL✅✅✅✅✅✅✅✅❌Check Stream✅✅✅✅✅✅❌✅✅Integration Ideas for Malware Detection trough VaaS
---------------------------------------------------

[](#integration-ideas-for-malware-detection-trough-vaas)

You can use VaaS to create various applications that scan for malicious content with a few lines of code. Here are some examples:

- [WordPress Plugin](https://wordpress.org/plugins/gdata-antivirus/) to scan for malware in uploaded files
- [Nextcloud App](https://apps.nextcloud.com/apps/gdatavaas) to scan files in your Nextcloud instance

Build &amp; Test
----------------

[](#build--test)

The easiest way to build and test the SDKs is with the [Nix Package Manager](https://nixos.org/download/#download-nix) and the provided [Just](https://github.com/casey/just) file. Nix will take care of all dependencies and Just provides a simple interface to run the most common tasks.

To build and test the SDKs, run the following command:

```
# switch into a development shell with all dependencies installed.
# This will not alter your system, but provide a shell with all necessary tools.
nix develop

# Now use the Just tool to run the most common tasks
just -l # list all available tasks

# Just Examples
# Run the tests for the Rust SDK
just test-rust
```

There are `test-*`, `build-*`, `clean-*` and `release-*` tasks for each SDK, with the exception of Python and PHP, where no build task is available. You can also run the tests for all SDKs with `just test-all`. A `build-all` and `clean-all` task is available as well.

The `release-*` task triggers a Github Action to build and release a new version of the specified SDK. It needs a version number as an argument, which is used to tag the release. The version number should follow the [Semantic Versioning](https://semver.org/) scheme.

```
# Example: Release the Rust SDK with version 0.1.0
just release-rust 0.1.0
```

As the SDKs need credentials to authenticate to the VaaS API. You need to provide them in a `.env` file. Copy your `.env` file into the root directory of the project. The C++ SDK needs special credentials, which you can provide in a `.cpp.env` file.

```
# Copy the .env.wss and .env.https files to all SDK folders
# to be able to run the integration tests
just populate-env

# If you see any strange error, e.g. not found compiler. Try to clean the project
# and populate the environment again.
just clean-all
just populate-env
```

###  Health Score

49

—

FairBetter than 95% of packages

Maintenance83

Actively maintained with recent releases

Popularity23

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity68

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~32 days

Recently: every ~117 days

Total

39

Last Release

85d ago

Major Versions

6.1.0 → 7.0.02024-02-16

7.2.3 → 8.0.02024-04-29

8.0.2 → 9.0.02024-07-10

9.0.5 → 10.0.02024-10-14

10.0.1 → 11.0.02025-02-10

PHP version history (2 changes)5.0.0PHP ^7.4 || ^8

7.0.0PHP ^8.1

### Community

Maintainers

![](https://www.gravatar.com/avatar/a8bf76831647eaa075e164a7dfa3ec8138f1bf33551f00c88683f8718f584f68?d=identicon)[gdatacyberdefense](/maintainers/gdatacyberdefense)

---

Top Contributors

[![ata-no-one](https://avatars.githubusercontent.com/u/108060048?v=4)](https://github.com/ata-no-one "ata-no-one (1 commits)")

---

Tags

securityantivirusmalwarevirusscan

### Embed Badge

![Health badge](/badges/gdata-vaas/health.svg)

```
[![Health](https://phpackages.com/badges/gdata-vaas/health.svg)](https://phpackages.com/packages/gdata-vaas)
```

###  Alternatives

[danog/madelineproto

Async PHP client API for the telegram MTProto protocol.

3.4k855.0k18](/packages/danog-madelineproto)[amphp/redis

Efficient asynchronous communication with Redis servers, enabling scalable and responsive data storage and retrieval.

165634.7k44](/packages/amphp-redis)[kelunik/acme

ACME library written in PHP.

121603.9k3](/packages/kelunik-acme)[phpmussel/phpmussel

PHP-based anti-virus anti-trojan anti-malware solution.

431228.1k1](/packages/phpmussel-phpmussel)[maba/gentle-force-bundle

Symfony bundle that integrates gentle-force library for limiting both brute-force attempts and ordinary requests, using leaky/token bucket algorithm, based on Redis

53517.6k1](/packages/maba-gentle-force-bundle)[perimeterx/php-sdk

PerimeterX SDK for PHP

1885.2k](/packages/perimeterx-php-sdk)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
