
Verdict-as-a-Service(VaaS)は、ファイルをスキャンしてマルウェアやその他の脅威を検出する機能を提供するクラウドサービスです。数行のコードでアプリケーションにマルウェア検出を簡単に統合できます。VaaSは、ファイルの交換や保存が行われるあらゆるシナリオ(以下のようなもの)を保護するために利用できます。
最小限の労力で、ファイル、URL、ハッシュ値をチェックして悪意のあるコンテンツを確認できます。ローカルにマルウェア対策製品をインストールする必要はありません。VaaSは、G DATAクラウドからの検出結果を提供することで、すぐに使用できます。また、独自のKubernetesクラスターでVaaSをホストすることも可能です。
このリポジトリには、いくつかのプログラミング言語向けのVaaS SDK(ソフトウェア開発キット)が含まれています。SDKを使用すると、VaaSをソフトウェアに簡単に統合できます。以下にいくつかの例を示します。
// セットアップ
var authenticator = new ResourceOwnerPasswordGrantAuthenticator("vaas-customer", userName, password, tokenUrl);
var vaas = VaasFactory.Create(authenticator);
// ファイルをスキャン...
var verdict = await vaas.ForFileAsync(file, CancellationToken.None);
// またはURL...
var verdict = await vaas.ForUrlAsync(uri, CancellationToken.None);
// またはSHA256ハッシュのみ
var verdict = await vaas.ForSha256Async(new ChecksumSha256("275a021bbfb6489e54d471899f7db9d1663fc695ec2fe2a2c4538aabf651fd0f"), CancellationToken.None);
完全なC#の例は dotnet examples にあります。
// セットアップ
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);
// ファイルをスキャン...
var verdict = vaas.forFile(file);
// またはURL...
var verdict = vaas.forUrl(url);
// またはSHA256ハッシュのみ
var verdict = vaas.forSha256(new Sha256("275a021bbfb6489e54d471899f7db9d1663fc695ec2fe2a2c4538aabf651fd0f"));
完全なJavaの例は java examples にあります。
対応言語とその例については、以下のリストを参照してください。
VaaSの試用にご興味があれば、ウェブサイト(ドイツ語版)をご確認ください。
VaaSのクラウドバージョンは、評価目的で無料トライアルアカウントを提供しています。こちらからサインアップして無料トライアルアカウントを取得できます。作成した認証情報は、任意のSDKとテスト環境を組み合わせて使用できます。
VaaSを本番環境で使用する場合は、お問い合わせいただき、お客様のニーズについてご相談ください。VaaSはクラウド版とオンプレミス版の両方でご利用いただけます。
VaaSのオンラインドキュメントを提供しています。このドキュメントには、セットアップ例、製品説明、セットアップに役立ついくつかのガイドが含まれています。
さまざまなプログラミング言語向けのSDKを提供しており、アプリケーションにVaaSを簡単に統合できます。各SDKのソースコード、例、ドキュメントは、対応するリポジトリにあります。現在、以下の言語をサポートしています。
| 言語 | ソースコード | 例 | ドキュメント | リポジトリ |
|---|---|---|---|---|
| Rust | Rust SDK | 例 | docs.rs | crates.io |
| Java | Java SDK | 例 | Readme | maven central |
| PHP | PHP SDK | 例 | packagist | |
| TypeScript(非推奨) | TypeScript SDK | 例 | Readme | npmjs |
| Python | Python SDK | 例 | Readme | pypi |
| .NET | .NET SDK | 例 | nuget.org | |
| Ruby(非推奨) | Ruby SDK | 例 | Readme | rubygems |
| Go | Go SDK | 例 | Readme | Github |
| C++ | C++ SDK | Readme |
次の表は、各SDKでサポートされている機能を示しています。
| 機能 | Rust | Java | PHP | TypeScript | .NET | Python | Ruby(非推奨) | Golang | C++ |
|---|---|---|---|---|---|---|---|---|---|
| HTTP APIの使用 | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ | ✅ | ✅ |
| SHA256チェック | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| ファイルチェック | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| URLチェック | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
| ストリームチェック | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ |
VaaSを使用すると、数行のコードで悪意のあるコンテンツをスキャンするさまざまなアプリケーションを作成できます。以下にいくつかの例を示します。
SDKをビルドおよびテストする最も簡単な方法は、Nixパッケージマネージャーと付属のJustファイルを使用することです。Nixがすべての依存関係を管理し、Justは最も一般的なタスクを実行するためのシンプルなインターフェースを提供します。
SDKをビルドしてテストするには、次のコマンドを実行します。
# すべての依存関係がインストールされた開発シェルに切り替えます。
# これによりシステムは変更されず、必要なツールがすべて揃ったシェルが提供されます。
nix develop
# 次に、Justツールを使用して最も一般的なタスクを実行します。
just -l # 利用可能なすべてのタスクを一覧表示
# Justの例
# Rust SDKのテストを実行
just test-rust
各SDKには、test-*、build-*、clean-*、release-*タスクがあります(ただし、PythonとPHPにはビルドタスクはありません)。just test-allですべてのSDKのテストを実行することもできます。build-allおよびclean-allタスクも利用可能です。