
Verdict-as-a-Service SDKs: Analyser les fichiers pour du contenu malveillant
Verdict-as-a-Service (VaaS) est un service cloud qui permet de scanner des fichiers à la recherche de logiciels malveillants et autres menaces. Il vous permet d'intégrer facilement la détection de malwares dans votre application avec quelques lignes de code. Vous pouvez utiliser VaaS pour sécuriser tout scénario où un fichier est échangé ou stocké, par exemple :
Avec un effort minimal, vous pouvez vérifier un fichier, une URL ou une somme de hachage pour détecter un contenu malveillant. Aucune installation locale d'un produit anti-malware n'est nécessaire. VaaS fonctionne immédiatement, en fournissant des détections depuis le cloud G DATA. Il est également possible d'héberger VaaS sur votre propre cluster Kubernetes.
Ce dépôt contient des kits de développement logiciel (SDK) pour VaaS dans plusieurs langages de programmation. Les SDK vous permettent d'intégrer facilement VaaS dans votre logiciel. Voici quelques exemples :
// 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);
Des exemples complets en C# se trouvent dans 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"));
Des exemples complets en Java se trouvent dans java examples.
Voir ci-dessous pour une liste des langages pris en charge et des exemples.
Si vous êtes intéressé par l'essai de VaaS, veuillez consulter notre site web (version allemande).
Nous proposons des comptes d'essai gratuits à des fins d'évaluation avec notre version cloud de VaaS. Vous pouvez vous inscrire ici avec un compte d'essai gratuit. Vous pouvez ensuite utiliser les identifiants créés avec n'importe quel SDK en combinaison avec notre environnement de test :
Pour une utilisation en production de VaaS, veuillez nous contacter pour discuter de vos besoins et explorer comment VaaS peut le mieux s'adapter à votre organisation. VaaS est disponible à la fois en version cloud et sur site.
Nous fournissons une documentation en ligne pour VaaS. La documentation comprend des exemples de configuration, des descriptions de produits et plusieurs guides pour vous aider à mettre les choses en place.
Nous fournissons des SDK pour plusieurs langages de programmation afin de faciliter l'intégration de VaaS dans votre application. Vous trouverez le code source, les exemples et la documentation pour chaque SDK dans le dépôt correspondant. Actuellement, nous prenons en charge les langages suivants :
Le tableau suivant montre les fonctionnalités prises en charge par chaque SDK :
Vous pouvez utiliser VaaS pour créer diverses applications qui scannent le contenu malveillant avec quelques lignes de code. Voici quelques exemples :
La façon la plus simple de construire et de tester les SDK est d'utiliser le Nix Package Manager et le fichier Just fourni. Nix s'occupera de toutes les dépendances et Just fournit une interface simple pour exécuter les tâches les plus courantes.
Pour construire et tester les SDK, exécutez la commande suivante :
# 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
Il existe des tâches test-*, build-*, clean-* et release-* pour chaque SDK, à l'exception de Python et PHP, pour lesquelles aucune tâche de construction n'est disponible. Vous pouvez également exécuter les tests pour tous les SDK avec just test-all. Une tâche build-all et clean-all est également disponible.
La tâche release-* déclenche une Github Action pour construire et publier une nouvelle version du SDK spécifié. Elle nécessite un numéro de version comme argument, qui est utilisé pour étiqueter la version. Le numéro de version doit suivre le schéma Semantic Versioning.
# Example: Release the Rust SDK with version 0.1.0
just release-rust 0.1.0
Comme les SDK ont besoin d'identifiants pour s'authentifier auprès de l'API VaaS. Vous devez les fournir dans les fichiers .env.https et .env.wss. Copiez vos fichiers .env.https et .env.wss dans le répertoire racine du projet. Le fichier .env.https doit contenir les identifiants avec l'URL VaaS définie sur https et le fichier wss doit contenir les mêmes identifiants, mais avec une URL wss à la place.
# 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
| Langage | Code source | Exemples | Documentation | Dépôt |
|---|
| Rust | Rust SDK | Exemples | docs.rs | crates.io |
| Java | Java SDK | Exemples | Readme | maven central |
| PHP | PHP SDK | Exemples | packagist | |
| TypeScript(DEPRECATED) | TypeScript SDK | Exemples | Readme | npmjs |
| Python | Python SDK | Exemples | Readme | pypi |
| .NET | .NET SDK | Exemples | nuget.org | |
| Ruby (DEPRECATED) | Ruby SDK | Exemples | Readme | rubygems |
| Go | Go SDK | Exemples | Readme | Github |
| C++ | C++ SDK | Readme |
| Fonctionnalité | Rust | Java | PHP | TypeScript | .NET | Python | Ruby (DEPRECATED) | Golang | C++ |
|---|
| Utiliser l'API HTTP | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ | ✅ | ✅ |
| Vérifier SHA256 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Vérifier fichier | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Vérifier URL | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
| Vérifier flux | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ |