Skip to main content

:beginner: Clairvoyance - ECR Scan reports at your finger tips !

Build Status Coverage Status Code style: black Linter: flake8 Linter: tests pre-commit

Clairvoyance is a simple Hugo website with capabilities to parse ECR Security Scan reports

Nothing is better than a live demo ! Here is an overview of Clairvoyance that ran against three vulnerable docker images hosted on ECR:

:package: Clairvoyance - Architecture Diagram

architecture-diagram-alt-text


Clairvoyance - Static Hugo Website

reports-screenshot-alt-text


repo-overview-screenshot-alt-text


repo-details-screenshot-alt-text


Install voyance command line

pip install -e git+https://github.com/Lowess/clairvoyance@main#egg=clairvoyance

voyance is used to automatically generate Hugo content pages along with JSON data to easily visualize ECR scan reports. It scans the provided ECR registry as stated in the configuration file and look at a defined list of repositories and tagging patterns.

Here is a log sample you will get from voyance script execution:

Env var Description Example value
CLAIRVOYANCE_ECR__REGISTRY_ID The ECR private registry id to scan (equals your AWS account id) 123456789012
CLAIRVOYANCE_ECR__REPOSITORIES A list of ECR private repositories to get scans from '["repo1/app1", "repo2/app2"]'
CLAIRVOYANCE_ECR__ALLOWED_TAG_PATTERNS A list of tags or patterns to search for (can be a valid python regex) '["latest"]'
❯ voyance
2023-02-03 14:50:11,910,910      INFO credentials.py:1251 - Found credentials in shared credentials file: ~/.aws/credentials
2023-02-03 14:50:11,949,949      INFO voyance.py:84 - Clairvoyance initialized with EcrReporter configured to search in 3 repositories from registry 123456789012. Only images with ['.*'] tagging patterns will be scanned. [SnsNotifier configured to notify to SNS topic: arn:aws:sns:us-east-1:123456789012:topic-to-notify]
2023-02-03 14:50:15,539,539      INFO ecr.py:115 - Scan found for vulnerable/dvwa:latest
2023-02-03 14:50:16,015,015      INFO ecr.py:115 - Scan found for vulnerable/eclipse-temurin:11.0.13_8-jre-focal
2023-02-03 14:50:16,221,221      INFO ecr.py:115 - Scan found for vulnerable/eclipse-temurin:11.0.15_10-jre-focal
2023-02-03 14:50:16,526,526      INFO ecr.py:115 - Scan found for vulnerable/eclipse-temurin:11.0.14.1_1-jre-focal
2023-02-03 14:50:16,704,704      INFO ecr.py:115 - Scan found for vulnerable/eclipse-temurin:11.0.16.1_1-jre-focal
2023-02-03 14:50:17,772,772      INFO ecr.py:115 - Scan found for vulnerable/vulnerablewordpress:latest
2023-02-03 14:50:17,772,772      INFO voyance.py:46 - 6 scan reports found
2023-02-03 14:50:17,772,772      INFO voyance.py:27 - Function scan() took 5.82 seconds
2023-02-03 14:50:17,772,772      INFO ecr.py:152 - Generating report for dvwa/latest
2023-02-03 14:50:17,782,782      INFO ecr.py:152 - Generating report for eclipse-temurin/11.0.13_8-jre-focal
2023-02-03 14:50:17,783,783      INFO ecr.py:152 - Generating report for eclipse-temurin/11.0.15_10-jre-focal
2023-02-03 14:50:17,784,784      INFO ecr.py:152 - Generating report for eclipse-temurin/11.0.14.1_1-jre-focal
2023-02-03 14:50:17,785,785      INFO ecr.py:152 - Generating report for eclipse-temurin/11.0.16.1_1-jre-focal
2023-02-03 14:50:17,786,786      INFO ecr.py:152 - Generating report for vulnerablewordpress/latest

Metadata

Release files for voyance 1.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for voyance 1.1.2
File Size Uploaded
voyance-1.1.2.tar.gz 15.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for voyance 1.1.2
File Interpreter ABI Platform
voyance-1.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 32.9 kB

Release files / voyance-1.1.2.tar.gz

Download URL voyance-1.1.2.tar.gz
Size 15.1 kB
Tags Source
SHA-256 checksum
How to use checksums
45df6dc3a28b007b7568ef874e12f7ad98cf35dd1b829518124a7fdf6715193b
BLAKE2b-256 checksum
How to use checksums
cab91616829ba10e5c6936a45f9e876e1d6a1236eeca599f81914bd8a8a5e0c9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / voyance-1.1.2-py3-none-any.whl

Download URL voyance-1.1.2-py3-none-any.whl
Size 17.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cb0fa48a51bf156500415c10920f04d3dcb85eeb4eefdf210682e9e8a6ba9c48
BLAKE2b-256 checksum
How to use checksums
0595c18eaac1f9b7b491bed49ef0026169c15a8542d039d36dbf4380e8a1d34f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release history Release notifications | RSS feed

This release

1.1.2 This release

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

1 release file

0.0.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page