
Verdict-as-a-Service SDKs: Analysieren Sie Dateien auf schädliche Inhalte
Verdict-as-a-Service (VaaS) ist ein Cloud-Dienst, der die Möglichkeit bietet, Dateien auf Malware und andere Bedrohungen zu scannen. Es ermöglicht Ihnen, die Malware-Erkennung mit wenigen Codezeilen einfach in Ihre Anwendung zu integrieren. Sie können VaaS nutzen, um jedes Szenario abzusichern, in dem eine Datei ausgetauscht oder gespeichert wird, z. B.:
Mit minimalem Aufwand können Sie eine Datei, URL oder Hashsumme auf schädliche Inhalte überprüfen. Keine lokale Installation eines Anti-Malware-Produkts ist erforderlich. VaaS funktioniert sofort, indem es Erkennungen aus der G DATA Cloud bereitstellt. Das Hosting von VaaS auf Ihrem eigenen Kubernetes-Cluster ist ebenfalls möglich.
Dieses Repository enthält Software Development Kits (SDKs) für VaaS in mehreren Programmiersprachen. Die SDKs ermöglichen es Ihnen, VaaS einfach in Ihre Software zu integrieren. Nachfolgend finden Sie einige Beispiele:
// Setup
var authenticator = new ResourceOwnerPasswordGrantAuthenticator("vaas-customer", userName, password, tokenUrl);
var vaas = VaasFactory.Create(authenticator);
// Scan a file...
var verdict = await vaas.ForFileAsync(file, CancellationToken.None);
// or a URL...
var verdict = await vaas.ForUrlAsync(uri, CancellationToken.None);
// or just a SHA256 hash
var verdict = await vaas.ForSha256Async(new ChecksumSha256("275a021bbfb6489e54d471899f7db9d1663fc695ec2fe2a2c4538aabf651fd0f"), CancellationToken.None);
Vollständige C#-Beispiele finden Sie in dotnet examples.
// Setup
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);
// Scan a file...
var verdict = vaas.forFile(file);
// or a URL...
var verdict = vaas.forUrl(url);
// or just a a SHA256 hash
var verdict = vaas.forSha256(new Sha256("275a021bbfb6489e54d471899f7db9d1663fc695ec2fe2a2c4538aabf651fd0f"));
Vollständige Java-Beispiele finden Sie in java examples.
Siehe unten für eine Liste unterstützter Sprachen und Beispiele.
Wenn Sie daran interessiert sind, VaaS auszuprobieren, besuchen Sie bitte unsere Website (deutsche Version).
Wir stellen kostenlose Testkonten für Evaluierungszwecke mit unserer Cloud-Version von VaaS zur Verfügung. Sie können sich hier anmelden mit einem kostenlosen Testkonto. Sie können dann die erstellten Anmeldedaten mit jedem SDK in Kombination mit unserer Testumgebung verwenden:
Für den produktiven Einsatz von VaaS kontaktieren Sie uns bitte hier, um Ihre Anforderungen zu besprechen und zu erkunden, wie VaaS am besten zu Ihrer Organisation passt. VaaS ist sowohl als Cloud-Version als auch on-premise verfügbar.
Wir stellen eine Online-Dokumentation für VaaS zur Verfügung. Die Dokumentation enthält Setup-Beispiele, Produktbeschreibungen und mehrere Anleitungen, die Ihnen bei der Einrichtung helfen.
Wir bieten SDKs für verschiedene Programmiersprachen an, um Ihnen die Integration von VaaS in Ihre Anwendung zu erleichtern. Den Quellcode, Beispiele und Dokumentationen für jedes SDK finden Sie im entsprechenden Repository. Derzeit unterstützen wir die folgenden Sprachen:
Die folgende Tabelle zeigt die von jedem SDK unterstützten Funktionen:
Sie können VaaS nutzen, um mit wenigen Codezeilen verschiedene Anwendungen zu erstellen, die nach schädlichen Inhalten scannen. Hier sind einige Beispiele:
Der einfachste Weg, die SDKs zu bauen und zu testen, ist mit dem Nix Package Manager und der bereitgestellten Just-Datei. Nix kümmert sich um alle Abhängigkeiten und Just bietet eine einfache Schnittstelle, um die häufigsten Aufgaben auszuführen.
Um die SDKs zu bauen und zu testen, führen Sie den folgenden Befehl aus:
# 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
Es gibt test-*, build-*, clean-* und release-* Aufgaben für jedes SDK, mit Ausnahme von Python und PHP, für die keine Build-Aufgabe verfügbar ist. Sie können die Tests auch für alle SDKs mit just test-all ausführen. Eine build-all- und clean-all-Aufgabe ist ebenfalls verfügbar.
Die release-*-Aufgabe löst eine Github Action aus, um eine neue Version des angegebenen SDKs zu bauen und zu veröffentlichen. Sie benötigt eine Versionsnummer als Argument, die verwendet wird, um das Release zu taggen. Die Versionsnummer sollte dem Semantic Versioning-Schema folgen.
# Example: Release the Rust SDK with version 0.1.0
just release-rust 0.1.0
Da die SDKs Anmeldeinformationen zur Authentifizierung an der VaaS-API benötigen. Sie müssen diese in der .env.https- und .env.wss-Datei bereitstellen. Kopieren Sie Ihre .env.https- und .env.wss-Dateien in das Stammverzeichnis des Projekts. Die .env.https-Datei sollte die Anmeldeinformationen enthalten, wobei die VaaS-URL auf httpsgesetzt ist, und die wss-Datei sollte dieselben Anmeldeinformationen enthalten, jedoch mit einer wss-URL.
# 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
| Sprache | Quellcode | Beispiele | Dokumentation | Repository |
|---|
| Rust | Rust SDK | Beispiele | docs.rs | crates.io |
| Java | Java SDK | Beispiele | Readme | maven central |
| PHP | PHP SDK | Beispiele | packagist | |
| TypeScript(DEPRECATED) | TypeScript SDK | Beispiele | Readme | npmjs |
| Python | Python SDK | Beispiele | Readme | pypi |
| .NET | .NET SDK | Beispiele | nuget.org | |
| Ruby (DEPRECATED) | Ruby SDK | Beispiele | Readme | rubygems |
| Go | Go SDK | Beispiele | Readme | Github |
| C++ | C++ SDK | Readme |
| Funktionalität | Rust | Java | PHP | TypeScript | .NET | Python | Ruby (DEPRECATED) | Golang | C++ |
|---|
| Verwendung der HTTP-API | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ | ✅ | ✅ |
| SHA256-Prüfung | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Dateiprüfung | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| URL-Prüfung | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
| Stream-Prüfung | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ |