ClamAV
clamav.netAn open source cross-platform antivirus engine for detecting viruses, malware & other malicious threats. It is versatile, performant and very effective.
- Homepage:clamav.net
- GitHub:github.com/Cisco-Talos/clamav
- Web info:web-check.xyz/check/clamav.net
ClamAV Source Code
Author
Description
ClamAV - Documentation is here: https://docs.clamav.net
Homepage
https://www.clamav.net/Repository
- LicenseGPL-2.0
- Created20 Jul 12
- Primary languageC
- Size182,216 KB
- Stars7,445
- Forks944
- Watchers7,445
Language Usage
Project Health
- Last commit7 days ago
- Open issues413
- Latest releasetest_prefiltering_disable
Top Contributors
@val-ms (1405)
@TheRaynMan (255)
@steve-morgan (98)
@ragusaa (93)
@recvfrom (89)
@jhumlick (26)
@amishHammer (17)
@sebastianas (13)
@kevlin2 (11)
@antchan2 (11)
@shutton (10)
@rpentney (9)
@zaddach (8)
@frank-fegert (7)
@ppathak007 (7)
@oliv3r (6)
@RainRat (6)
@rsundriyal (6)
@kang-grace (5)
@bleve (5)
@liushuyu (5)
@opoplawski (5)
@johnh-cisco (4)
@craig65535 (4)
@dependabot[bot] (4)
@loblolly986 (4)
@rzvncj (4)
@Kangie (3)
@rasundri (3)
@ihsinme (3)
@monkz (3)
@pinotree (3)
@orlitzky (3)
@markpizz (3)
@candrews (3)
@gbmaster (3)
@hiwu17 (3)
@frsell1 (2)
@metsw24-max (2)
@rickwang7712 (2)
@sharkautarch (2)
@teoberi (2)
@hiirotsuki (2)
@atoomic (2)
@cmcdougall (2)
@b1tg (2)
@kolbma (2)
@edwintorok (2)
@userwiths (2)
@Fi418 (2)
@rkubik (2)
@jsoref (2)
@goshansp (2)
@musicinmybrain (2)
@arjendekorte (2)
@AlexanderS (2)
@KamathForAIX (2)
@neheb (1)
@sammyhk (1)
@lattera (1)
@Shivam7-1 (1)
@nomis (1)
@sven-ruess (1)
@TerminalFi (1)
@ThibaultDECO (1)
@thomasjfox (1)
@rbgarga (1)
@loopingz (1)
@flowerysong (1)
@prlw1 (1)
@monnerat (1)
@Moutix (1)
@nils-werner (1)
@neiwilso (1)
@Artoria2e5 (1)
@tchernomax (1)
@matthias-fratz-bsz (1)
@dilyanpalauzov (1)
@znley (1)
@tomime (1)
@thinksilicon (1)
@rma-x (1)
@qxp930712 (1)
@ndrpnt (1)
@mko-x (1)
@ltx2018 (1)
@krnick (1)
@ipnerds (1)
@ember91 (1)
@driverxdw (1)
@cw2k (1)
@mirtchovski (1)
@ylecuyer (1)
@yann-morin-1998 (1)
@tombriden (1)
@timgates42 (1)
@tpetazzoni (1)
@epozuelo (1)
@duanewaddleAFS (1)
@dragoangel (1)
Recent Commits
John Humlick(22 Oct 26)
Merge pull request #1814 from val-ms/CLAM-3074-mime-boundary-parsing Improve MIME boundary parameter handling
John Humlick(22 Oct 26)
Merge pull request #1818 from val-ms/CLAM-3096-handler-type-alert libclamav: avoid duplicate HandlerType alerts after retyping
John Humlick(22 Oct 26)
Merge pull request #1843 from val-ms/CLAM-3108-clamsubmit-post Fix clamsubmit submission workflow and error handling
John Humlick(22 Oct 26)
Merge pull request #1826 from val-ms/CLAM-3066-apm-string-bounds libclamav: Bound APM partition strings
John Humlick(22 Oct 26)
Merge pull request #1825 from val-ms/CLAM-3065-7z-pack-stream-bounds libclamav: Validate 7z folder pack stream ranges
John Humlick(22 Oct 26)
Merge pull request #1828 from val-ms/CLAM-3073-autoit-header-bounds libclamav: Validate AutoIt compressed headers
John Humlick(22 Oct 26)
Merge pull request #1829 from val-ms/CLAM-3077-ole2-property-bounds libclamav: Harden OLE2 property parsing
John Humlick(22 Oct 26)
Merge pull request #1830 from val-ms/CLAM-3086-ac-virname-lifetime libclamav: Clear borrowed names after prefiltering
John Humlick(22 Oct 26)
Merge pull request #1831 from val-ms/CLAM-3101-html-tag-contents-bounds libclamav: Bound HTML tag content normalization
John Humlick(22 Oct 26)
Merge pull request #1832 from val-ms/CLAM-3102-zip-truncation-alert libclamav: Alert on truncated ZIP members
Valerie Snyder(29 Sept 26)
Use page CSRF token for presigned requests
Valerie Snyder(28 Sept 26)
Check alternate CA bundle configuration
Valerie Snyder(28 Sept 26)
Fix clamsubmit submission workflow and error handling
Valerie Snyder(26 Aug 26)
libclamav: Clear borrowed names after prefiltering cli_ac_addsig() temporarily assigns the caller-owned signature name to an AC pattern while adding it to the prefilter. Logical signature subpatterns do not later replace that alias with an owned per-pattern copy, leaving a stale pointer in the compiled matcher. Clear the temporary alias immediately after the prefilter call and make the relative-offset diagnostic safe for patterns without a per-pattern name. Add unit coverage for the logical-subsignature ownership invariant. Reported by Alexander Leidinger. CLAM-3086
Valerie Snyder(17 Sept 26)
libclamav: Alert on truncated ZIP members ZIP decompression truncates member output that exceeds MaxFileSize, but the local truncation paths did not report the limit through AlertExceedsMax. This could leave an intentionally incomplete scan with a clean result even when the caller requested limit alerts. Report MaxFileSize at each actual truncation point for stored, DEFLATE/DEFLATE64, BZIP2, and IMPLODE members. Add coverage for each compressed method and verify that the alert remains opt-in. CLAM-3102
Valerie Snyder(17 Sept 26)
libclamav: Bound HTML tag content normalization Reserve room for the current input byte when a multibyte full stop is normalized into the fixed-size anchor-text buffer. This prevents the write index from advancing beyond the logical content limit and keeps final NUL termination within the declared array. Preserve the two-byte Big5 full-stop behavior and add boundary coverage for both normalization paths. Reported by Ishan Nim. CLAM-3101
Valerie Snyder(09 Sept 26)
libclamav: Reject whitespace after RFC 2231 suffixes Use one boundary parameter parser for tokenizer look-ahead and final boundary selection so malformed extended names cannot become authoritative. Require RFC 2231 suffixes to be immediately followed by their separator while preserving legacy ordinary-name whitespace, spaced suffix, and colon-separator behavior. Cover direct and continued forms with both supported separators. CLAM-3074
Valerie Snyder(05 Sept 26)
libclamav: exclude HandlerType rescans from clean cache The clean-cache key does not include the HandlerType used for a retyped layer. Bypass cache lookup and insertion for these layers so one HandlerType scan cannot suppress a later scan of the same content with another handler. Add regression coverage combining ZIP and PE HandlerType signatures with a PE-specific detection. Tests: ctest --test-dir build -V -R '^clamscan$' CLAM-3096
Valerie Snyder(24 Aug 26)
libclamav: Validate AutoIt compressed headers Compressed AutoIt EA05 and EA06 members contain an eight-byte header with a four-byte magic value followed by the uncompressed size. The parsers only required four bytes before reading both fields, allowing short inputs to be read beyond their allocation. Require the complete eight-byte header before decompression. Validate variable-length record fields before advancing the parser cursor and consume rejected short payloads so malformed members cannot hide valid members that follow. Harden bitstream and back-reference arithmetic so malformed lengths cannot underflow cursor bounds, overflow match lengths, or copy from uninitialized output. Reported by Nebula Security. CLAM-3073
Valerie Snyder(03 Sept 26)
libclamav: avoid duplicate HandlerType alerts after retyping Return clean when evaluating a HandlerType signature on a layer that was already retyped, so the signature is not reported again after the child scan. Add a clamscan regression covering the Target:0 and --allmatch case. Tests: ctest --test-dir build -V -R '^clamscan$' CLAM-3096
Val S.(27 Aug 26)
Merge pull request #1758 from Cisco-Talos/slow-signature-repeat-starting-character CLAM-3049 perf(matcher): avoid slow AC heads with repeated bytes
Valerie Snyder(26 Aug 26)
libclamav: Harden OLE2 property parsing OLE2 metadata property offsets and lengths are archive-controlled 32-bit values. Adding them in bounds checks could wrap and allow the parser to read beyond the property set while generating JSON metadata. Use subtraction-based range checks for the property-set and typed-value ranges. Decode floating-point properties by endian-converting their bit patterns, reject non-finite values, honor explicit UTF-16 encoding, and preserve unsigned metadata values in JSON. CLAM-3077
Valerie Snyder(26 Aug 26)
libclamav: Split parameters after quoted boundaries Canonical boundary parsing kept parameter-shaped text that immediately followed a closing boundary quote in the same argument. This could cause an earlier boundary to be restored after the legacy parser had selected a later value. Split immediate MIME parameter tokens after closing quotes and recognize a resumed boundary after an intervening quoted parameter. Cover ordinary, colon-separated, extended, and continued declarations while preserving whitespace and literal-text compatibility cases. CLAM-3074
Valerie Snyder(26 Aug 26)
libclamav: Split before adjacent extended boundaries Preserve whitespace adjacency only when both MIME boundary declarations use the ordinary form. Keep RFC 2231 declarations distinct when they follow ordinary or quoted ordinary boundaries, including continued and colon-separated forms. CLAM-3074
Valerie Snyder(26 Aug 26)
libclamav: Split adjacent extended boundaries Limit space-containing MIME boundary compatibility to ordinary parameters so RFC 2231 values retain legacy token boundaries. Cover adjacent direct and continued declarations, trailing text, escaped whitespace, quoted spaces, and colon separators. CLAM-3074
Valerie Snyder(26 Aug 26)
libclamav: Align MIME boundary seek state Apply the canonical value quote rules while seeking resumed MIME parameters so embedded quotes cannot hide later boundaries. Honor quoted and escaped semicolons during the seek and cover both real and boundary-like quoted parameter values. CLAM-3074
Valerie Snyder(26 Aug 26)
libclamav: Preserve colon-separated boundaries Recognize ClamAV's legacy colon separator during canonical MIME boundary tokenization and resolution so later declarations remain authoritative. Cover direct, extended, continued, escaped-semicolon, whitespace-packed, and mixed-separator forms. CLAM-3074
Valerie Snyder(26 Aug 26)
libclamav: Limit MIME quote state to quoted values Only open canonical quoted syntax when a quote begins a parameter value. Treat quotes embedded in an unquoted value as data so they cannot consume later boundary declarations. Cover embedded quotes in both ordinary parameters and boundary values while retaining the quoted media type regression case. CLAM-3074
Valerie Snyder(26 Aug 26)
libclamav: Keep boundary lookahead outside quotes Do not treat escaped whitespace inside a quoted media type as the start of a MIME boundary parameter. Add end-to-end coverage that keeps the real boundary following the quoted media type authoritative. CLAM-3074
Valerie Snyder(26 Aug 26)
libclamav: Align MIME argument limit handling Allow bounded canonical boundary parsing to inspect the complete Content-Type header instead of returning a stale boundary after 255 tokens. Count whitespace-separated MIME arguments in the legacy parser so a single semicolon chunk cannot bypass the limit or cause unchecked argument growth. Add regression coverage for direct, extended, and continued boundaries at the threshold and for the argument limit heuristic. CLAM-3074
ClamAV Security
ClamAV Website
Website
ClamAVNet
Redirects
Does not redirect
Security Checks
All 65 security checks passed
Server Details
- IP Address104.18.203.90
- LocationSan Francisco,California,United States of America,NA
- ISPCloudFlare Inc.
- ASNAS13335
Associated Countries
US
Safety Score
Website marked as safe
100%
Trackers
Loads 1 third-party tracker
- newrelic.comNew Relic
Blacklist Check
www.clamav.net was found on 0 blacklists
- AntiSocial Blacklist
- Artists Against 419
- Badbitcoin
- Bambenek Consulting
- CERT Polska
- CoinBlockerLists
- CRDF
- CryptoScamDB
- EtherAddressLookup
- EtherScamDB
- Fake Website Buster
- MetaMask EthPhishing
- NABP Not Recommended Sites
- OpenPhish
- PetScams
- PhishFeed
- PhishFort
- Phishing.Database
- PhishStats
- PhishTank
- Phishunt
- RPiList Not Serious
- Scam.Directory
- SecureReload Phishing List
- Spam404
- StopGunScams
- Suspicious Hosting IP
- ThreatFox
- ThreatLog
- TweetFeed
- URLhaus
- ViriBack C2 Tracker
Website Preview
ClamAV Docker
Container Info
clamav
ClamAV® is an open source antivirus engine for detecting trojans, viruses, malware & other malicious threats.
View on DockerHub
mkodockx/docker-clamav:alpineRun Command
docker run -d \ -p 3310:3310/tcp \ -v /etc/timezone:/etc/timezone \ -v /etc/localtime:/etc/localtime \ -v /portainer/Files/AppData/Config/clamav/config:/etc/clamav \ -v /portainer/Files/AppData/Config/clamav/virus_definitions:/var/lib/clamav \ --restart=unless-stopped \ mkodockx/docker-clamav:alpine
Compose File
version: 3.8
services:
clamav:
image: "mkodockx/docker-clamav:alpine"
ports:
- "3310:3310/tcp"
volumes:
- "/etc/timezone:/etc/timezone"
- "/etc/localtime:/etc/localtime"
- "/portainer/Files/AppData/Config/clamav/config:/etc/clamav"
- "/portainer/Files/AppData/Config/clamav/virus_definitions:/var/lib/clamav"
restart: unless-stoppedPort List
- 3310:3310/tcp
Volume Mounting
- Container PathHost Bind
- /etc/timezone/etc/timezone
- /etc/localtime/etc/localtime
- /etc/clamav/portainer/Files/AppData/Config/clamav/config
- /var/lib/clamav/portainer/Files/AppData/Config/clamav/virus_definitions
ClamAV Reviews
More Anti-Malware
Web-based malware scanner, that inspects files and URLs with over 70 antivirus scanners, URL/domain services, and other tools to extract signals and determine the legitimacy.
About the Data: ClamAV
Change History
- Amended (github) #608
Edit ClamAV Data
You can edit ClamAV's entry in this section of awesome-privacy.yml by submitting a PR to our GitHub repo.
Note that some of the information shown above has been aggregated from external
sources, a list of these can be found data documentation.
Origin Data
Modify Data
API
You can access ClamAV's data programmatically via our API. Simply make a GET request to:
https://api.awesome-privacy.xyz/v1/services/clamavThe REST API is free, no-auth and CORS-enabled. To learn more, view the API Docs or read the API Usage Guide.
Share ClamAV
Help your friends compare Anti-Malware, and pick privacy-respecting software and services.
Share ClamAV and Awesome Privacy with your network!
