Skip to main content

report-generation-service

Project description

Greenbone Logo

Pheme - Greenbone Static Report Generator

GitHub releases PyPI release code test coverage Build and test

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

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.8 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

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 AG

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-2023 Greenbone AG

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.13.0.tar.gz (37.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pheme-21.13.0-py3-none-any.whl (55.3 kB view details)

Uploaded Python 3

File details

Details for the file pheme-21.13.0.tar.gz.

File metadata

  • Download URL: pheme-21.13.0.tar.gz
  • Upload date:
  • Size: 37.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.15 {"installer":{"name":"uv","version":"0.11.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pheme-21.13.0.tar.gz
Algorithm Hash digest
SHA256 8163da0d3a09d4dcab29978d3066a6b56538539f6c77db9fc1d7e3bff5e3629a
MD5 ff3a7c1668f266fb15dda6f255c91b1e
BLAKE2b-256 cdeef5c45bf63703565345778b1b26f5382c34f325a769238b6123e8b614b2f6

See more details on using hashes here.

File details

Details for the file pheme-21.13.0-py3-none-any.whl.

File metadata

  • Download URL: pheme-21.13.0-py3-none-any.whl
  • Upload date:
  • Size: 55.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.15 {"installer":{"name":"uv","version":"0.11.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pheme-21.13.0-py3-none-any.whl
Algorithm Hash digest
SHA256 584c22eea4582e60d0405b48b9e4217d3f9ba8371df18f0b2115f5d9fb705d03
MD5 53c502b26b9f2d1374234c07fa1b0d18
BLAKE2b-256 241634b16c8f1019b96f67d9f4670328d65d5446878c2e2b999ac4f3c2dd8ef6

See more details on using hashes here.

Supported by

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