Skip to main content

report-generation-service

Project description

Greenbone Logo

Pheme - Greenbone Static Report Generator

pheme is a service to create scan reports. It is maintained by Greenbone Networks.

Pheme is the personification of fame and renown.

Or in this case personification of a service to generate reports.

Table of Contents

Installation

Requirements

Python 3.7 and later is supported.

Besides python pheme also needs to have

  • libcairo2-dev
  • pango1.0

installed.

Development

pheme uses poetry for its own dependency management and build process.

First install poetry via pip

python3 -m pip install --user poetry

Afterwards run

poetry install

in the checkout directory of pheme (the directory containing the pyproject.toml file) to install all dependencies including the packages only required for development.

Afterwards activate the git hooks for auto-formatting and linting via autohooks.

poetry run autohooks activate

Validate the activated git hooks by running

poetry run autohooks check

API overview

To get an overview of the API you can start this project

poetry run python manage.py runserver

and then go to swagger

Usage

In order to prepare the data structure the XML report data needs to be posted to pheme with a grouping indicator (either by host or nvt).

E.g.:

> curl -X POST 'http://localhost:8000/transform?grouping=nvt'\
    -H 'Content-Type: application/xml'\
    -H 'Accept: application/json'\
    -d @test_data/longer_report.xml
  
  "scanreport-nvt-9a233b0d-713c-4f22-9e15-f6e5090873e3"⏎

The returned identifier can be used to generate the actual report.

So far a report can be either in:

  • application/json
  • application/xml
  • text/csv E.g.
> curl -v 'http://localhost:8000/report/scanreport-nvt-9a233b0d-713c-4f22-9e15-f6e5090873e3' -H 'Accept: application/csv'

For visual report like

  • application/pdf
  • text/html

the corresponding css and html template needs to be put into pheme first:

> curl -X PUT localhost:8000/parameter\
    -H 'x-api-key: SECRET_KEY_missing_using_default_not_suitable_in_production'\
    --form vulnerability_report_html_css=@path_to_css_template\
    --form vulnerability_report_pdf_css=@path_to_css_template\
    --form vulnerability_report=@path_to_html_template

afterwards it can be get as usual:

> curl -v 'http://localhost:8000/report/scanreport-nvt-9a233b0d-713c-4f22-9e15-f6e5090873e3' -H 'Accept: application/pdf'

Maintainer

This project is maintained by Greenbone Networks GmbH

Contributing

Your contributions are highly appreciated. Please create a pull request on GitHub. Bigger changes need to be discussed with the development team via the issues section at GitHub first.

License

Copyright (C) 2020 Greenbone Networks GmbH

Licensed under the GNU Affero General Public License v3.0 or later.

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

pheme-21.4rc1.tar.gz (36.1 kB view details)

Uploaded Source

Built Distribution

pheme-21.4rc1-py3-none-any.whl (50.9 kB view details)

Uploaded Python 3

File details

Details for the file pheme-21.4rc1.tar.gz.

File metadata

  • Download URL: pheme-21.4rc1.tar.gz
  • Upload date:
  • Size: 36.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/51.0.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.7.9

File hashes

Hashes for pheme-21.4rc1.tar.gz
Algorithm Hash digest
SHA256 6207c2c83533647b3b7345c7a8411b26434a085cbd9318bf87fec51fd8a26ac0
MD5 a49611b10e5a22649b1ca0af75ce5d91
BLAKE2b-256 33ef77ab96fb20d5e4e4cdd243afacf44aade80753c2c13844dcc71aabb6fda0

See more details on using hashes here.

Provenance

File details

Details for the file pheme-21.4rc1-py3-none-any.whl.

File metadata

  • Download URL: pheme-21.4rc1-py3-none-any.whl
  • Upload date:
  • Size: 50.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/51.0.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.7.9

File hashes

Hashes for pheme-21.4rc1-py3-none-any.whl
Algorithm Hash digest
SHA256 7087e6abb6df9857bae21bda2088256f433d293e4b6b052298c70aebd9575116
MD5 c933eebe4498df5c89418f720e53d0e2
BLAKE2b-256 098c4afea84ead62c2d41bca99be5d7874fff6db8351739a779db64a8ce65c6a

See more details on using hashes here.

Provenance

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