tristanlatr / WPWatcher

Wordpress Watcher is a wrapper for WPScan that manages scans on multiple sites and reports by email and/or syslog. Schedule scans and get notified when vulnerabilities, outdated plugins and other risks are found.
https://wpwatcher.readthedocs.io
Apache License 2.0
47 stars 18 forks source link

Enhance WPWatcher with Additional Notification Methods #59

Open thatvideoshopguy opened 1 year ago

thatvideoshopguy commented 1 year ago

Description

To increase the flexibility and adaptability of WPWatcher for various user preferences and requirements, it would be beneficial to extend the application with more notification methods beyond the existing email notifications. The proposed enhancements include the integration of Slack and custom webhooks as notification channels for vulnerability alerts.

Proposed Methods

  1. Slack: Enable users to configure WPWatcher to send alerts to a Slack channel using either incoming webhooks or the Slack API.
  2. Webhooks: Support user-defined webhooks for custom integrations with other services, applications, or incident management platforms.

By implementing a variety of notification methods, WPWatcher can better cater to user preferences, streamline vulnerability alert reception, and facilitate seamless integration with other tools and services.

tristanlatr commented 1 year ago

Great idea, maybe we can design an plugin system so we don't have to support everything inside wpwatcher itself.

thatvideoshopguy commented 1 year ago

That makes sense, try keep it simple. How do you envision this plugin system?

Perhaps a more scaled version is if WPWatcher was in a separate organisation? Then have additional repos with small plugin for the different apps. Keep those plugins separate from the main repo, so we don't overcomplicate it.

tristanlatr commented 1 year ago

How do you envision this plugin system?

Maybe we can pass some dotted names in parameters, then import the function and call it by passing along the report collection instance. So an additional notification method would be only a function that receives a ReportCollection when all scans are over.