Skip to main content

A tool for monitoring the vulnerabilities of docker containers.

Project description

๐Ÿ•ต๏ธโ€โ™€๏ธ Counsel - A tool for monitoring and notifying the vulnerabilities of docker containers.

โš ๏ธ Counsel is alpha software and currently in development (i.e., no tests, no documentation).

Counsel is a simple application that scans running Docker containers. Counsel can send Slack notifications when specific vulnerbility levels are identified and send reminder if the countainer remains unpatched.

Counsel Slack Notification

โ„น๏ธ Installation and Usage

Counsel can be installed using pip:

pip install counsel

๐Ÿ“’ Requirements

Counsel requires a running Docker installation in order to identify the currently running containers.

Counsel uses the following two tools for scanning the vulnerabilities of the running countainers:

  • Syft: A CLI tool and Go library for generating a Software Bill of Materials (SBOM) from container images.
  • Grype: A vulnerability scanner for container images.

๐Ÿณ Docker

You can run a Counsel using docker as long as the host docker socket is exposed to Counsel. The easiest way to install docker is to pull the image from DockerHub and run it using the following command (you will need to use your own slack webhook url):

docker run -v /var/run/docker.sock:/var/run/docker.sock -e COUNSEL_SLACK_URL="<SLACK_WEBHOOK_URL>" evhart/counsel

You can also build the image dierctly using the following command:

docker build -t evhart/counsel .   

๐Ÿ–ฅ๏ธ Command Line Interface (CLI)

Counsel has a simple CLI interface that be accessed using the counsel command. Counsel support migrating/exporting data from one database ot another database and showing the firs rows from databases.

 Usage: python -m counsel.cli [OPTIONS]                                         
                                                                                
 ๐Ÿ•ต๏ธโ€โ™€๏ธ Counsel - A tool for monitoring the vulnerabilities of docker containers.   
                                                                                
โ•ญโ”€ Options โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚ --scan-schedule             TEXT                     Schedule when to run    โ”‚
โ”‚                                                      Counsel.                โ”‚
โ”‚                                                      [env var:               โ”‚
โ”‚                                                      COUNSEL_SCAN_SHEDULE]   โ”‚
โ”‚ --initial-scan                                       Run an initial scan     โ”‚
โ”‚                                                      before starting the     โ”‚
โ”‚                                                      scheduler.              โ”‚
โ”‚                                                      [env var:               โ”‚
โ”‚                                                      COUNSEL_INITIAL_SCAN]   โ”‚
โ”‚ --alert-threshold           [unknown|negligible|low  Minimum vulnerability   โ”‚
โ”‚                             |medium|high|critical]   threshold for raising   โ”‚
โ”‚                                                      an alert.               โ”‚
โ”‚                                                      [env var:               โ”‚
โ”‚                                                      COUNSEL_THRESHOLD]      โ”‚
โ”‚                                                      [default: high]         โ”‚
โ”‚ --remind-delay              INTEGER                  When a                  โ”‚
โ”‚                                                      notification/action     โ”‚
โ”‚                                                      reminder should be sent โ”‚
โ”‚                                                      (in days).              โ”‚
โ”‚                                                      [env var:               โ”‚
โ”‚                                                      COUNSEL_REMIND_DELAY]   โ”‚
โ”‚                                                      [default: 10]           โ”‚
โ”‚ --kill-delay                INTEGER                  When the final          โ”‚
โ”‚                                                      notification/action     โ”‚
โ”‚                                                      should be sent (in      โ”‚
โ”‚                                                      days).                  โ”‚
โ”‚                                                      [env var:               โ”‚
โ”‚                                                      COUNSEL_KILL_DELAY]     โ”‚
โ”‚                                                      [default: 14]           โ”‚
โ”‚ --slack-webhook-url         TEXT                     Slack webhook URL for   โ”‚
โ”‚                                                      alert notifications.    โ”‚
โ”‚                                                      [env var:               โ”‚
โ”‚                                                      COUNSEL_SLACK_URL]      โ”‚
โ”‚ --slack-msg-template        TEXT                     Slack Jinja2 template   โ”‚
โ”‚                                                      for alert               โ”‚
โ”‚                                                      notifications.          โ”‚
โ”‚                                                      [env var:               โ”‚
โ”‚                                                      COUNSEL_SLACK_MSG_TEMPโ€ฆ โ”‚
โ”‚ --install-completion                                 Install completion for  โ”‚
โ”‚                                                      the current shell.      โ”‚
โ”‚ --show-completion                                    Show completion for the โ”‚
โ”‚                                                      current shell, to copy  โ”‚
โ”‚                                                      it or customize the     โ”‚
โ”‚                                                      installation.           โ”‚
โ”‚ --help                                               Show this message and   โ”‚
โ”‚                                                      exit.                   โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

counsel-0.1.2a0.tar.gz (12.9 kB view details)

Uploaded Source

Built Distribution

counsel-0.1.2a0-py3-none-any.whl (13.7 kB view details)

Uploaded Python 3

File details

Details for the file counsel-0.1.2a0.tar.gz.

File metadata

  • Download URL: counsel-0.1.2a0.tar.gz
  • Upload date:
  • Size: 12.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.4.0 CPython/3.11.2 Darwin/21.6.0

File hashes

Hashes for counsel-0.1.2a0.tar.gz
Algorithm Hash digest
SHA256 cc15aef192ed84f62e75d125c79bbf650b4ac58af38d54d1c7e2c35fcdd1963a
MD5 5d70e8ed3973b6969576891a6da8c25a
BLAKE2b-256 f6e7adc0d858012d44c0b64b29ceacbb35eb191be511ef4c12d3b6b7b669835f

See more details on using hashes here.

File details

Details for the file counsel-0.1.2a0-py3-none-any.whl.

File metadata

  • Download URL: counsel-0.1.2a0-py3-none-any.whl
  • Upload date:
  • Size: 13.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.4.0 CPython/3.11.2 Darwin/21.6.0

File hashes

Hashes for counsel-0.1.2a0-py3-none-any.whl
Algorithm Hash digest
SHA256 2c48507980a55ca48f3efb61571d4147c540d59cdfa26e83d514a46566a3f646
MD5 da02362ce45cf55e433d88abef4f61f2
BLAKE2b-256 c472956d9f30f2ecac96f0f41a81dc0f03be1d3f3a4b1f3a3d03bc59f05d7931

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page