chore: deploy Docker image to internal registry

Change-Id: I3a5373ff0c9b032490774f7a5a8e115bd09b03cc
1 file changed
tree: 507d5e1798bbb59133523ce091b6959feb80a0a1
  1. .env.sample
  2. .gitignore
  3. .gitreview
  4. crontab
  5. dateUtils.go
  6. docker-compose.yml
  7. Dockerfile
  8. go.mod
  9. go.sum
  10. Makefile
  11. README.md
  12. renovate.json
  13. stringUtils.go
  14. vulnzybot.go
README.md

Vulnzy Bot

A bot which is responsible for managing the vulnerability reports published at https://iavm.xyz/b/vulnz.

Tasks

The bot performs the following tasks:

Automatically publish vulnerability reports after the deadline

The bot will search private (restricted) vulnerability reports and will do the following:

  • If the report has the "DoNotPublish" label, don't automatically publish it.
  • If the report was marked with status "Fixed" or "Verified" more than 30 days ago, publish it.
  • If the report isn't marked as "Fixed"/"Verified" and the "Reported" value is previous to the current time subtracting the number of days set in the "Deadline" field, publish it.

In all the calculations above, a grace period of 1 day is added (so in reality it's 31 days instead of 30, and Deadline + 1 day instead of Deadline).

Add a disclosure alert 5 days before it is automatically disclosed

The bot will add a comment to a vulnerability report 5 days before it is automatically disclosed as explained in the previous section.

Set up

  1. Set up Git Watcher:
    • Create a service account in your Google Cloud project.
    • Give it permission to use the Monorail API.
    • Give it appropiate permissions in each Monorail project.
    • Create subdirectory //secret/ and download the service accounts credentials JSON file to //secret/credentials.json.
    • Copy the .env.sample file to .env and edit it to your liking.
    • Run make docker-prod and docker-compose up -d.