Name | Date | Size | #Lines | LOC | ||
---|---|---|---|---|---|---|
.. | 03-May-2022 | - | ||||
ospd/ | H | 03-May-2022 | - | 6,244 | 4,541 | |
tests/ | H | 03-May-2022 | - | 3,815 | 2,714 | |
CHANGELOG.md | H A D | 12-Oct-2021 | 14.7 KiB | 241 | 190 | |
COPYING | H A D | 12-Oct-2021 | 33.2 KiB | 662 | 544 | |
PKG-INFO | H A D | 12-Oct-2021 | 5.7 KiB | 144 | 102 | |
README.md | H A D | 12-Oct-2021 | 4.5 KiB | 116 | 76 | |
poetry.lock | H A D | 12-Oct-2021 | 55.1 KiB | 893 | 815 | |
poetry.toml | H A D | 12-Oct-2021 | 32 | 3 | 2 | |
pyproject.toml | H A D | 12-Oct-2021 | 2 KiB | 80 | 72 | |
setup.py | H A D | 03-May-2022 | 5.5 KiB | 38 | 30 |
README.md
1![Greenbone Logo](https://www.greenbone.net/wp-content/uploads/gb_logo_resilience_horizontal.png) 2 3# ospd <!-- omit in toc --> 4 5[![GitHub releases](https://img.shields.io/github/release/greenbone/ospd.svg)](https://github.com/greenbone/ospd/releases) 6[![PyPI](https://img.shields.io/pypi/v/ospd.svg)](https://pypi.org/project/ospd/) 7[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/greenbone/ospd/badges/quality-score.png?b=ospd-21.04)](https://scrutinizer-ci.com/g/greenbone/ospd/?branch=ospd-21.04) 8[![code test coverage](https://codecov.io/gh/greenbone/ospd/branch/ospd-21.04/graphs/badge.svg)](https://codecov.io/gh/greenbone/ospd) 9[![CircleCI](https://circleci.com/gh/greenbone/ospd/tree/ospd-21.04.svg?style=svg)](https://circleci.com/gh/greenbone/ospd/tree/ospd-21.04) 10 11ospd is a base class for scanner wrappers which share the same communication 12protocol: OSP (Open Scanner Protocol). OSP creates a unified interface for 13different security scanners and makes their control flow and scan results 14consistently available under the central Greenbone Vulnerability Manager service. 15 16OSP is similar in many ways to GMP (Greenbone Management Protocol): XML-based, 17stateless and non-permanent connection. 18 19The design supports wrapping arbitrary scanners with same protocol OSP, 20sharing the core daemon options while adding scanner specific parameters and 21options. 22 23## Table of Contents 24 25- [Table of Contents](#table-of-contents) 26- [Releases](#releases) 27- [Installation](#installation) 28 - [Requirements](#requirements) 29 - [Install using pip](#install-using-pip) 30- [How to write your own OSP Scanner Wrapper](#how-to-write-your-own-osp-scanner-wrapper) 31- [Support](#support) 32- [Maintainer](#maintainer) 33- [Contributing](#contributing) 34- [License](#license) 35 36## Releases 37 38All [release files](https://github.com/greenbone/ospd/releases) are signed with 39the [Greenbone Community Feed integrity key](https://community.greenbone.net/t/gcf-managing-the-digital-signatures/101). 40This gpg key can be downloaded at https://www.greenbone.net/GBCommunitySigningKey.asc 41and the fingerprint is `8AE4 BE42 9B60 A59B 311C 2E73 9823 FAA6 0ED1 E580`. 42 43## Installation 44 45### Requirements 46 47ospd requires Python >= 3.7 along with the following libraries: 48 49 - python3-paramiko 50 51 - python3-lxml 52 53 - python3-defusedxml 54 55### Install using pip 56 57You can install ospd from the Python Package Index using [pip](https://pip.pypa.io/): 58 59 python3 -m pip install ospd 60 61Alternatively download or clone this repository and install the latest development version: 62 63 python3 -m pip install . 64 65## How to write your own OSP Scanner Wrapper 66 67As a core you need to derive from the class OSPDaemon from ospd.py. 68See the documentation there for the single steps to establish the 69full wrapper. 70 71See the file [doc/INSTALL-ospd-scanner.md](doc/INSTALL-ospd-scanner.md) about how to register a OSP scanner at 72the Greenbone Vulnerability Manager which will automatically establish a full 73GUI integration for the Greenbone Security Assistant (GSA). 74 75There are some online resources about this topic: 76<https://docs.greenbone.net/GSM-Manual/gos-3.1/en/osp.html#how-to-write-your-own-osp-wrapper> 77 78## Support 79 80For any question on the usage of OSPD please use the [Greenbone Community Portal](https://community.greenbone.net/c/osp). If you found a problem with the software, please [create an issue](https://github.com/greenbone/ospd/issues) on GitHub. 81 82## Maintainer 83 84This project is maintained by [Greenbone Networks GmbH](https://www.greenbone.net/). 85 86## Contributing 87 88Your contributions are highly appreciated. Please [create a pull request](https://github.com/greenbone/ospd/pulls) on GitHub. For bigger changes, please discuss it first in the [issues](https://github.com/greenbone/ospd/issues). 89 90For development you should use [poetry](https://python-poetry.org) 91to keep you python packages separated in different environments. First install 92poetry via pip 93 94 python3 -m pip install --user poetry 95 96Afterwards run 97 98 poetry install 99 100in the checkout directory of ospd (the directory containing the 101`pyproject.toml` file) to install all dependencies including the packages only 102required for development. 103 104The ospd repository uses [autohooks](https://github.com/greenbone/autohooks) 105to apply linting and auto formatting via git hooks. Please ensure the git hooks 106are active. 107 108 poetry install 109 poetry run autohooks activate --force 110 111## License 112 113Copyright (C) 2009-2020 [Greenbone Networks GmbH](https://www.greenbone.net/) 114 115Licensed under the [GNU Affero General Public License v3.0 or later](COPYING). 116