https://github.com/malykhin/s3-antivirus
Antivirus service for AWS s3
https://github.com/malykhin/s3-antivirus
antivirus aws clamav nodejs s3 terraform
Last synced: 7 months ago
JSON representation
Antivirus service for AWS s3
- Host: GitHub
- URL: https://github.com/malykhin/s3-antivirus
- Owner: malykhin
- Created: 2020-05-09T21:47:38.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-02-03T06:59:06.000Z (over 2 years ago)
- Last Synced: 2025-02-13T11:23:21.298Z (8 months ago)
- Topics: antivirus, aws, clamav, nodejs, s3, terraform
- Language: JavaScript
- Size: 110 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# s3 AntiVirus
## Description
Service is based on `ClamAV` anti-virus software.
The workflow is:
1. Object is created in `import-bucket`.
2. S3 sends bucket notification to the SQS `av-queue`.
3. AV Service pulls the message from the SQS.
4. AV Service pulls the file from `import-bucket`.
5. AV Service puts `IN_PROGRESS` tag on pulled s3 object.
6. AV Service performs anti-virus scan on pulled file.
7. AV Service puts the proper tag on s3 object based on scan results and copies file to `safe-bucket` if file is not infected.
8. AV service deletes the file from host.
9. AV service deletes processed message from SQS.
## Service diagram

## Running locally
Just install the dependencies in for avService by running `npm install` inside `./avService`, then run `docker-compose up` from root.
`Seeder` container will provision all required AWS infrastructure inside localstack with terraform.
You can triggers the service by calling `./test.sh cp_file`. Check the script for more handy commands.