OSPD is a base class for scanner wrappers which share the same communication protocol: OSP (Open Scanner Protocol). OSP creates a unified interface for different security scanners and makes their control flow and scan results consistently available under the central Greenbone Vulnerability Manager service.
OSP is similar in many ways to GMP (Greenbone Management Protocol): XML-based, stateless and non-permanent connection.
The design supports wrapping arbitrary scanners with same protocol OSP, sharing the core daemon options while adding scanner specific parameters and options.
- Releases
- Installation
- How to write your own OSP Scanner Wrapper
- Support
- Maintainer
- Contributing
- License

All release files are signed with
the Greenbone Community Feed integrity key.
This gpg key can be downloaded at https://www.greenbone.net/GBCommunitySigningKey.asc
and the fingerprint is 8AE4 BE42 9B60 A59B 311C 2E73 9823 FAA6 0ED1 E580
.
OSPD requires Python >= 3.5 along with the following libraries:
- python3-paramiko
- python3-lxml
- python3-defusedxml
You can install ospd from the Python Package Index using pip:
pip install ospd
Alternatively download or clone this repository and install the latest development version:
pip install .
As a core you need to derive from the class OSPDaemon from ospd.py. See the documentation there for the single steps to establish the full wrapper.
See the file doc/INSTALL-ospd-scanner.md about how to register a OSP scanner at the Greenbone Vulnerability Manager which will automatically establish a full GUI integration for the Greenbone Security Assistant (GSA).
There are some online resources about this topic: https://docs.greenbone.net/GSM-Manual/gos-3.1/en/osp.html#how-to-write-your-own-osp-wrapper
For any question on the usage of OSPD please use the Greenbone Community Portal. If you found a problem with the software, please create an issue on GitHub.
This project is maintained by Greenbone Networks GmbH.
Your contributions are highly appreciated. Please create a pull request on GitHub. For bigger changes, please discuss it first in the issues.
For development you should use pipenv to keep you python packages separated in different environments. First install pipenv via pip
pip install --user pipenv
Afterwards run
pipenv install --dev
in the checkout directory of ospd (the directory containing the Pipfile) to install all dependencies including the packages only required for development.
Copyright (C) 2009-2018 Greenbone Networks GmbH
Licensed under the GNU General Public License v2.0 or later.