Pin Go version to v1.18

Change-Id: I890e40d22d62303a115c098efd87de63db46c4f2
1 file changed
tree: d6c4d8a09930c75f628ad75b0e657e4f4b8107f9
  1. .env
  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. 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.
    • Run make docker-prod and docker-compose up -d.