|
1 | 1 | from argparse import _AttributeHolder |
2 | 2 | import asyncio |
3 | 3 | import os |
| 4 | +import dotenv |
4 | 5 | from vaas import Vaas, ClientCredentialsGrantAuthenticator |
5 | 6 |
|
6 | 7 |
|
7 | 8 | async def main(): |
| 9 | + dotenv.load_dotenv() |
8 | 10 | token_url = os.getenv("TOKEN_URL") |
9 | 11 | vaas_url = os.getenv("VAAS_URL") |
10 | 12 |
|
11 | 13 | if token_url is None: |
12 | 14 | token_url = "https://account.gdata.de/realms/vaas-production/protocol/openid-connect/token" |
13 | 15 | if vaas_url is None: |
14 | | - vaas_url = "wss://gateway.production.vaas.gdatasecurity.de" |
| 16 | + vaas_url = "https://gateway.production.vaas.gdatasecurity.de" |
15 | 17 |
|
16 | 18 | authenticator = ClientCredentialsGrantAuthenticator( |
17 | 19 | os.getenv("CLIENT_ID"), |
18 | 20 | os.getenv("CLIENT_SECRET"), |
19 | 21 | token_endpoint=token_url |
20 | 22 | ) |
21 | | - async with Vaas(url=vaas_url) as vaas: |
22 | | - token = await authenticator.get_token() |
23 | | - await vaas.connect(token) |
24 | | - path = os.getenv("SCAN_PATH") |
25 | | - verdict = await vaas.for_file(path) |
26 | | - print(f"{verdict['Sha256']} is detected as {verdict['Verdict']}") |
27 | 23 |
|
28 | | - # The scan functions will return the following dict: |
29 | | - # { |
30 | | - # "Sha256": "<Sha256>", |
31 | | - # "Guid": "<Guid>", |
32 | | - # "Verdict": <"Clean"|"Malicious"|"Unknown"|"Pup">, |
33 | | - # "Detection": "<Name of the detected malware if found>", |
34 | | - # "FileType": "<FileType>", |
35 | | - # "MimeType": "<MimeType>" |
36 | | - # } |
| 24 | + vaas = Vaas(url=vaas_url, authenticator=authenticator) |
| 25 | + path = os.getenv("SCAN_PATH") |
| 26 | + verdict = await vaas.for_file(path) |
| 27 | + print(f"{verdict.sha256} is detected as {verdict.verdict}") |
37 | 28 |
|
38 | 29 |
|
39 | 30 | if __name__ == "__main__": |
|
0 commit comments