Comments (6)
ClamAV client is really promising, it lets you just stream the file over the network by default.
This would be paired with a clamd container.
from autumn.
This looks promising, auto-updating ClamAV in a Docker container: https://github.com/rordi/docker-antivirus
- doesn't seem to be a network service?
- alternatively, autumn could write to said directory, and poll for ok / nok results
Doesn't seem to work?
On to the next one...
from autumn.
Next best thing is probably just using ClamAV directly, but this will have a heavy memory footprint (not sure if we have space for this).
https://hub.docker.com/r/clamav/clamav
Ok this isn't great already, would have to somehow load the container up, with signatures, and only then call ClamAV.
It may be worth therefore to just make a separate service that pulls recently uploaded files from S3 (OR a task in the file server that does additional processing on the file after it is uploaded).
ClamAV also definitely won't detect everything, I'm fairly certain both of these files are malware but one of them comes back as "OK":
from autumn.
Alternatively, use clamav bindings directly in Autumn:
clamav crate:
https://docs.rs/clamav/latest/clamav/engine/struct.Engine.html#method.scan_file
(this creates additional issues with linking
clamav-client (run clamd in container):
https://crates.io/crates/clamav-client
from autumn.
Forked clamav-client for dealing with buffers directly, also opened a PR to upstream my changes if they're interested, toblux/rust-clamav-client#1.
from autumn.
from autumn.
Related Issues (20)
- html execution HOT 6
- AUTUMN_LOCAL_STORAGE_PATH crash when file is accessed HOT 1
- Allow configuration of S3 bucket names HOT 3
- Scale animated avatars / banners on upload.
- Block or warn clients when large content is about to be displayed. HOT 1
- support .mov as videos
- feat: don't strip orientation EXIF data HOT 3
- fix: support other database names HOT 1
- feat: upload multiples files in attachments tag
- feature request: Embed player support for more audio types
- feature request: Support for webp files HOT 1
- bug: "thumbnail-ificiation" skipped on decode error HOT 2
- bug: Needlessly modifying images' ICC profiles
- feature request: flac audio embed
- bug: Incorrect image dimensions for JPEG. HOT 1
- issue: "cannot assign requested address and namespace" with MongoDB and credentials HOT 2
- feat: sha256 hash of files and processed files
- feat: blurhash of image files
- Bug: Specially Crafted EXE Files May Bypass Virus Scanner
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
đ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. đđđ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google â¤ī¸ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from autumn.