Does anyone with experience in building something like this can provide information on how to get this up and running? I'm guessing antivirus software packages have APIs to access their functionality programatically, but it seems it's not easy to get a hand on the details.
Important note before use:Be aware of TOS agreement. You give them full access to everything: "When you upload or otherwise submit content, you give VirusTotal (and those we work with) a worldwide, royalty free, irrevocable and transferable licence to use, edit, host, store, reproduce, modify, create derivative works, communicate, publish, publicly perform, publicly display and distribute such content."
Instead of using a local Antivirus program (and thus binding your program to that particular Antivirus product and requesting your customers to install that Antivirus product) you could use the services of VirusTotal.com
This site provides a free service in which your file is given as input to numerous antivirus products and you receive back a detailed report with the evidences resulting from the scanning process. In this way your solution is no more binded to a particular Antivirus product (albeit you are binded to Internet availability)
Windows OS provide the common API to calling the anti virus software which is installed (Of course, the anti virus software required support the API).But, the API to calling the anti virus software provide only COM Interface style, not supported IDispatch.So, calling this API is too difficult from any .NET language and script language.
Take a look at the Microsoft Antivirus API. It makes use of COM, which should be easy enough to interface with from .NET. It refers specifically to Internet Explorer and Microsoft Office, but I don't see why you wouldn't be able to use to to on-demand scan any file.
Various Virus scanners do have API's. One I have integrated with is Sophos. I am pretty sure Norton has an API also while McAfee doesn't (it used to). What virus software do you want to use? You may want to check out Metascan as it will allow integration with many different scanners, but there is an annual license cost. :-P
Shameless plug but you might want to check out , it's basically malware/virus detection as a (REST) service. Oh also, make sure you read and understand virustotal's API terms ( -api/) - they are very clear about not allowing commercial usage.
clamav-daemon installed on a tiny linux container + "nClam" .NET library to interact with it. Works fine, but Clam AV misses a lot (a lot!) of viruses, especially dangerous macros hidden in MS Office files. Also ClamAV virus database has to be kept in memory at all times, which uses around 3.5GB of memory, which requires a rather expensive cloud virtual machine.
From my experience you can use COM for interfacing with some anti-virus software. But what I would suggest is a bit easier, just parse scan results after scanning. All you need to do is to start the scanner process and point it to file/folder you want to scan, store scan results into file or redirect stdout to your application and parse results.
Microsoft Safety Scanner is a scan tool designed to find and remove malware from Windows computers. Simply download it and run a scan to find malware and try to reverse changes made by identified threats.
Safety Scanner is exclusively SHA-2 signed. Your devices must be updated to support SHA-2 in order to run Safety Scanner. To learn more, see 2019 SHA-2 Code Signing Support requirement for Windows and WSUS.
Microsoft Safety Scanner only scans when manually triggered. Safety Scanner expires 10 days after being downloaded. To rerun a scan with the latest anti-malware definitions, download and run Safety Scanner again. We recommend that you always download the latest version of this tool before each scan.
This tool doesn't replace your antimalware product. For real-time protection with automatic updates, use Microsoft Defender Antivirus on Windows 11, Windows 10, and Windows 8 or Microsoft Security Essentials on Windows 7. These antimalware products also provide powerful malware removal capabilities. If you're having difficulties removing malware with these products, you can refer to our help on removing difficult threats.
Working on a integration with F5 ASM with Mcafee Virusscan for storage (ICAP server) and the server keeps sending me HTTP response code 400 Bad Request. Below the configuration and Wireshark output and logs.
I recently installed IDE 2.0.0 on my laptop (i5, 16GM ram, 1TBG SSD, Win10 Pro) and seems to take an age to compile anything. It take 100 seconds to complile a simple Blink sketch for an ESP32 Wrover Dev module which is only about 10 lines of code.
The cause of unexpectedly slow compilations is often found to be the "on access" or "real time" scanning done by antivirus software. You can try TEMPORARILY disabling your antivirus for a single compilation to see if the problem goes away, then turn the antivirus back on.
If the problem doesn't occur with the antivirus off you will need to adjust the settings of your antivirus to put the appropriate file, folder, or process on the "allow list" so it doesn't interfere with compilation.
Please be cautious about working without an antivirus. This is only about temporarily disabling it for a quick test. If you don't feel comfortable doing that, fine. You can try going straight to configuring the antivirus to not interfere with the Arduino software.
The performance of the finished install was completly terible compared to the aging Windows 7 install, around 3 times slower opening applications etc. Arduino IDE the same, 3 times slower to load and compile.
I ran into this problem today compiling a large sketch (multiple files) with 2.0.0 and it was horrendous, the CPU was up to 100% the IDE was unresponsive and sounds similar to what you are describing, if i let it compile it would tap out after a couple of minutes with a connect lost error, wouldn't even compile, i added the TEMP folder to the exclusions list on the AV but it didn't help.
The directories "Arduino" and "ArduinoData" were added to my AV exclusion list and that has speeded up compilation by a factor of 5 so a sketch that previously took 10 minutes to compile now takes only 2. Having said that, a Raspberry Pi4 compiles the same sketch in about 1 minute.
If you're running Windows in S mode it's streamlined for tighter security, so the Virus & threat protection area has fewer options than those described here. This is because the built-in security of Windows in S mode automatically prevents viruses and other threats from running on your device.
Virus & threat protection in Windows Security helps you scan for threats on your device. You can also run different types of scans, see the results of your previous virus and threat scans, and get the latest protection offered by Microsoft Defender Antivirus.
Microsoft Defender Offline scan. Uses the latest definitions to scan your device for the latest threats. This happens after a restart, without loading Windows, so any persistent malware has a more difficult time hiding or defending itself. Run it when you are concerned that your device has been exposed to malware or a virus, or if you want to scan your device without being connected to the Internet. This will restart your device, so be sure to save files you may have open.
For more information see Help protect my PC with Microsoft Defender Offline.
Use Virus & threat protection settings when you want to customize your level of protection, send sample files to Microsoft, exclude trusted files and folders from repeated scanning, or temporarily turn off your protection.
Provide your device with access to the latest threat definitions and threat behavior detection in the cloud. This setting allows Microsoft Defender to get constantly updated improvements from Microsoft while you're connected to the internet. This will result in more accurately identifying, stopping, and fixing, threats.
Microsoft Defender Antivirus settings can occasionally get changed by malicious, or careless, apps or processes; or sometimes by unaware people. With Tamper Protection turned on, important settings like real-time protection, can't be easily or accidentally turned off.
Use the Controlled folder access setting to manage which folders untrusted apps can make changes to. You can also add additional apps to the trusted list so they can make changes in those folders. This is a powerful tool to make your files safer from ransomware.
When you turn on Controlled folder access, a lot of the folders you use most often will be protected by default. This means that content in any of these folders cannot be accessed or changed by any unknown or untrusted apps. If you add additional folders, they become protected as well.
Windows Security will send notifications about the health and safety of your device. You can turn these notifications on, or off, on the notifications page. In Virus & threat protection, under Virus & threat protection settings, select Manage settings, scroll down to Notifications and select Change notification settings.
Security intelligence (sometimes referred to as "definitions") are files that contain information about the latest threats that could infect your device. Windows Security uses security intelligence every time a scan is run.
Microsoft automatically downloads the latest intelligence to your device as part of Windows Update, but you can also manually check for it. On the Virus & threat protection page, under Virus & threat protection updates, select Check for updates to scan for the latest security intelligence.
System entry and exit points include firewalls, remote access servers, workstations, electronic mail servers, web servers, proxy servers, notebook computers, and mobile devices. Malicious code includes viruses, worms, Trojan horses, and spyware. Malicious code can also be encoded in various formats contained within compressed or hidden files or hidden in files using techniques such as steganography. Malicious code can be inserted into systems in a variety of ways, including by electronic mail, the world-wide web, and portable storage devices. Malicious code insertions occur through the exploitation of system vulnerabilities. A variety of technologies and methods exist to limit or eliminate the effects of malicious code.
b37509886e