voyance


Namevoyance JSON
Version 0.0.5 PyPI version JSON
download
home_pageNone
SummaryNone
upload_time2025-02-26 14:20:29
maintainerNone
docs_urlNone
authorNone
requires_pythonNone
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # :beginner: Clairvoyance - ECR Scan reports at your finger tips !

[![Build Status](https://cloud.drone.io/api/badges/Lowess/clairvoyance/status.svg)](https://cloud.drone.io/Lowess/clairvoyance)
[![Coverage Status](https://coveralls.io/repos/github/Lowess/clairvoyance/badge.svg?branch=master)](https://coveralls.io/github/Lowess/clairvoyance?branch=main)
[![Code style: black](https://img.shields.io/badge/code%20style-black-black.svg)](https://github.com/psf/black)
[![Linter: flake8](https://img.shields.io/badge/linter-flake8-blue.svg)](http://flake8.pycqa.org/en/latest/)
[![Linter: tests](https://img.shields.io/badge/tests-tox-yellow.svg)](hhttps://tox.readthedocs.io/en/latest)
[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white)](https://github.com/pre-commit/pre-commit)


> Clairvoyance is a simple [Hugo website](https://gohugo.io/) with capabilities to parse [ECR Security Scan reports](https://docs.aws.amazon.com/AmazonECR/latest/userguide/image-scanning.html)

Nothing is better than a live demo ! Here is an overview of [Clairvoyance](https://lowess.github.io/clairvoyance/) that ran against three vulnerable docker images hosted on ECR:

* [web-dvwa](https://hub.docker.com/r/vulnerables/web-dvwa)
* [eclipse-tumerin (old images)](https://hub.docker.com/_/eclipse-temurin/)
* [vulnerablewordpress](https://hub.docker.com/r/eystsen/vulnerablewordpress)

## :package: `Clairvoyance` - Architecture Diagram


![architecture-diagram-alt-text](docs/clairvoyance.excalidraw.png)

---
## `Clairvoyance` - Static Hugo Website

![reports-screenshot-alt-text](docs/screenshot-reports.png)

---

![repo-overview-screenshot-alt-text](docs/screenshot-repo-overview.png)

---

![repo-details-screenshot-alt-text](docs/screenshot-repo-details.png)

---

## Install `voyance` command line

```shell
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"]'`                   |

```shell
❯ 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
```

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "voyance",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": null,
    "author": null,
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/e8/1f/ffd526fb0c33b41120f275032f68bd1e3f0833f4cd7fa2344ec79890c394/voyance-0.0.5.tar.gz",
    "platform": null,
    "description": "# :beginner: Clairvoyance - ECR Scan reports at your finger tips !\n\n[![Build Status](https://cloud.drone.io/api/badges/Lowess/clairvoyance/status.svg)](https://cloud.drone.io/Lowess/clairvoyance)\n[![Coverage Status](https://coveralls.io/repos/github/Lowess/clairvoyance/badge.svg?branch=master)](https://coveralls.io/github/Lowess/clairvoyance?branch=main)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-black.svg)](https://github.com/psf/black)\n[![Linter: flake8](https://img.shields.io/badge/linter-flake8-blue.svg)](http://flake8.pycqa.org/en/latest/)\n[![Linter: tests](https://img.shields.io/badge/tests-tox-yellow.svg)](hhttps://tox.readthedocs.io/en/latest)\n[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white)](https://github.com/pre-commit/pre-commit)\n\n\n> Clairvoyance is a simple [Hugo website](https://gohugo.io/) with capabilities to parse [ECR Security Scan reports](https://docs.aws.amazon.com/AmazonECR/latest/userguide/image-scanning.html)\n\nNothing is better than a live demo ! Here is an overview of [Clairvoyance](https://lowess.github.io/clairvoyance/) that ran against three vulnerable docker images hosted on ECR:\n\n* [web-dvwa](https://hub.docker.com/r/vulnerables/web-dvwa)\n* [eclipse-tumerin (old images)](https://hub.docker.com/_/eclipse-temurin/)\n* [vulnerablewordpress](https://hub.docker.com/r/eystsen/vulnerablewordpress)\n\n## :package: `Clairvoyance` - Architecture Diagram\n\n\n![architecture-diagram-alt-text](docs/clairvoyance.excalidraw.png)\n\n---\n## `Clairvoyance` - Static Hugo Website\n\n![reports-screenshot-alt-text](docs/screenshot-reports.png)\n\n---\n\n![repo-overview-screenshot-alt-text](docs/screenshot-repo-overview.png)\n\n---\n\n![repo-details-screenshot-alt-text](docs/screenshot-repo-details.png)\n\n---\n\n## Install `voyance` command line\n\n```shell\npip install -e git+https://github.com/Lowess/clairvoyance@main#egg=clairvoyance\n```\n\n`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.\n\nHere is a log sample you will get from `voyance` script execution:\n\n| Env var                                  | Description                                                            | Example value                    |\n| ---------------------------------------- | ---------------------------------------------------------------------- | -------------------------------- |\n| `CLAIRVOYANCE_ECR__REGISTRY_ID`          | The ECR private registry id to scan (equals your AWS account id)       | `123456789012`                   |\n| `CLAIRVOYANCE_ECR__REPOSITORIES`         | A list of ECR private repositories to get scans from                   | `'[\"repo1/app1\", \"repo2/app2\"]'` |\n| `CLAIRVOYANCE_ECR__ALLOWED_TAG_PATTERNS` | A list of tags or patterns to search for (can be a valid python regex) | `'[\"latest\"]'`                   |\n\n```shell\n\u276f voyance\n2023-02-03 14:50:11,910,910      INFO credentials.py:1251 - Found credentials in shared credentials file: ~/.aws/credentials\n2023-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]\n2023-02-03 14:50:15,539,539      INFO ecr.py:115 - Scan found for vulnerable/dvwa:latest\n2023-02-03 14:50:16,015,015      INFO ecr.py:115 - Scan found for vulnerable/eclipse-temurin:11.0.13_8-jre-focal\n2023-02-03 14:50:16,221,221      INFO ecr.py:115 - Scan found for vulnerable/eclipse-temurin:11.0.15_10-jre-focal\n2023-02-03 14:50:16,526,526      INFO ecr.py:115 - Scan found for vulnerable/eclipse-temurin:11.0.14.1_1-jre-focal\n2023-02-03 14:50:16,704,704      INFO ecr.py:115 - Scan found for vulnerable/eclipse-temurin:11.0.16.1_1-jre-focal\n2023-02-03 14:50:17,772,772      INFO ecr.py:115 - Scan found for vulnerable/vulnerablewordpress:latest\n2023-02-03 14:50:17,772,772      INFO voyance.py:46 - 6 scan reports found\n2023-02-03 14:50:17,772,772      INFO voyance.py:27 - Function scan() took 5.82 seconds\n2023-02-03 14:50:17,772,772      INFO ecr.py:152 - Generating report for dvwa/latest\n2023-02-03 14:50:17,782,782      INFO ecr.py:152 - Generating report for eclipse-temurin/11.0.13_8-jre-focal\n2023-02-03 14:50:17,783,783      INFO ecr.py:152 - Generating report for eclipse-temurin/11.0.15_10-jre-focal\n2023-02-03 14:50:17,784,784      INFO ecr.py:152 - Generating report for eclipse-temurin/11.0.14.1_1-jre-focal\n2023-02-03 14:50:17,785,785      INFO ecr.py:152 - Generating report for eclipse-temurin/11.0.16.1_1-jre-focal\n2023-02-03 14:50:17,786,786      INFO ecr.py:152 - Generating report for vulnerablewordpress/latest\n```\n",
    "bugtrack_url": null,
    "license": null,
    "summary": null,
    "version": "0.0.5",
    "project_urls": null,
    "split_keywords": [],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a794b2a3e1e475b9b3d68a4e564311bdbb935b94210c180063e517ea6f215bbb",
                "md5": "d5ea6f0c0338693c32f8d4b5ddd8a9d4",
                "sha256": "d2729827edec84b02bcb67038edf7664c82ca3ae36323363b4a5a8b48e09b306"
            },
            "downloads": -1,
            "filename": "voyance-0.0.5-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "d5ea6f0c0338693c32f8d4b5ddd8a9d4",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 15611,
            "upload_time": "2025-02-26T14:20:27",
            "upload_time_iso_8601": "2025-02-26T14:20:27.955851Z",
            "url": "https://files.pythonhosted.org/packages/a7/94/b2a3e1e475b9b3d68a4e564311bdbb935b94210c180063e517ea6f215bbb/voyance-0.0.5-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e81fffd526fb0c33b41120f275032f68bd1e3f0833f4cd7fa2344ec79890c394",
                "md5": "b9d6e2d588c41c99fbf19f465753308b",
                "sha256": "b6af27a2b53d641765324cdcdd7d7bb0619b085a9e24e5640d982c9ca7560c21"
            },
            "downloads": -1,
            "filename": "voyance-0.0.5.tar.gz",
            "has_sig": false,
            "md5_digest": "b9d6e2d588c41c99fbf19f465753308b",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 13287,
            "upload_time": "2025-02-26T14:20:29",
            "upload_time_iso_8601": "2025-02-26T14:20:29.022032Z",
            "url": "https://files.pythonhosted.org/packages/e8/1f/ffd526fb0c33b41120f275032f68bd1e3f0833f4cd7fa2344ec79890c394/voyance-0.0.5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-02-26 14:20:29",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "voyance"
}
        
Elapsed time: 0.52863s