{"id":18565045,"url":"https://github.com/greenbone/gvm-tools","last_synced_at":"2025-10-22T21:44:39.287Z","repository":{"id":37735353,"uuid":"103647077","full_name":"greenbone/gvm-tools","owner":"greenbone","description":"Remote control your Greenbone Community Edition or Greenbone Enterprise Appliance","archived":false,"fork":false,"pushed_at":"2025-04-07T11:07:14.000Z","size":4726,"stargazers_count":174,"open_issues_count":7,"forks_count":93,"subscribers_count":18,"default_branch":"main","last_synced_at":"2025-04-13T04:59:53.318Z","etag":null,"topics":["base","gea","gmp","gmp-scripts","greenbone","greenbone-vulnerability-manager","gvm","gvm-cli","gvm-pyshell","gvm-script","omp","openvas","openvas-cli","osp","python","tooling","vulnerability","vulnerability-assessment","vulnerability-management"],"latest_commit_sha":null,"homepage":"https://greenbone.github.io/gvm-tools/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/greenbone.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2017-09-15T10:54:42.000Z","updated_at":"2025-04-09T21:36:28.000Z","dependencies_parsed_at":"2023-09-25T07:14:33.965Z","dependency_job_id":"914e1eb5-5db7-4b4d-a4c2-023d04184403","html_url":"https://github.com/greenbone/gvm-tools","commit_stats":{"total_commits":1752,"total_committers":42,"mean_commits":"41.714285714285715","dds":0.6940639269406392,"last_synced_commit":"e0cff8603bb886406abaa8b07462e0db00bab44f"},"previous_names":[],"tags_count":31,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/greenbone%2Fgvm-tools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/greenbone%2Fgvm-tools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/greenbone%2Fgvm-tools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/greenbone%2Fgvm-tools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/greenbone","download_url":"https://codeload.github.com/greenbone/gvm-tools/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248665756,"owners_count":21142123,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["base","gea","gmp","gmp-scripts","greenbone","greenbone-vulnerability-manager","gvm","gvm-cli","gvm-pyshell","gvm-script","omp","openvas","openvas-cli","osp","python","tooling","vulnerability","vulnerability-assessment","vulnerability-management"],"created_at":"2024-11-06T22:17:30.071Z","updated_at":"2025-10-22T21:44:39.209Z","avatar_url":"https://github.com/greenbone.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Greenbone Logo](https://www.greenbone.net/wp-content/uploads/gb_new-logo_horizontal_rgb_small.png)\n\n# Greenbone Vulnerability Management Tools \u003c!-- omit in toc --\u003e\n[![GitHub releases](https://img.shields.io/github/release-pre/greenbone/gvm-tools.svg)](https://github.com/greenbone/gvm-tools/releases)\n[![PyPI release](https://img.shields.io/pypi/v/gvm-tools.svg)](https://pypi.org/project/gvm-tools/)\n[![code test coverage](https://codecov.io/gh/greenbone/gvm-tools/branch/master/graph/badge.svg)](https://codecov.io/gh/greenbone/gvm-tools)\n[![Build and test](https://github.com/greenbone/gvm-tools/actions/workflows/ci-python.yml/badge.svg)](https://github.com/greenbone/gvm-tools/actions/workflows/ci-python.yml)\n\nThe Greenbone Vulnerability Management Tools `gvm-tools` are a collection of\ntools that help with remote controlling a Greenbone Enterprise Appliance and\nGreenbone Community Edition installations. The tools aid in accessing the\ncommunication protocols GMP (Greenbone Management Protocol) and OSP\n(Open Scanner Protocol).\n\nThis module is comprised of interactive and non-interactive clients.\nThe programming language Python is supported directly for interactive scripting.\nBut it is also possible to issue remote GMP/OSP commands without programming in\nPython.\n\n\n## Table of Contents \u003c!-- omit in toc --\u003e\n- [Documentation](#documentation)\n- [Installation](#installation)\n  - [Requirements](#requirements)\n  - [Version](#version)\n- [Usage](#usage)\n  - [gvm-cli](#gvm-cli)\n    - [Examples](#examples)\n  - [gvm-script](#gvm-script)\n    - [Example script](#example-script)\n    - [More example scripts](#more-example-scripts)\n  - [gvm-pyshell](#gvm-pyshell)\n    - [Example program use](#example-program-use)\n- [Support](#support)\n- [Maintainer](#maintainer)\n- [Contributing](#contributing)\n- [License](#license)\n\n## Documentation\n\nThe documentation for `gvm-tools` can be found at\n[https://greenbone.github.io/gvm-tools/](https://greenbone.github.io/gvm-tools/).\nPlease refer to the documentation for more details as this README just\ngives a short overview.\n\n## Installation\n\nSee the [documentation](https://greenbone.github.io/gvm-tools/install.html)\nfor all supported installation options.\n\n### Requirements\n\nPython 3.9 and later is supported.\n\n### Version\n\nPlease consider to always use the **newest** version of `gvm-tools` and `python-gvm`.\nWe frequently update this projects to add features and keep them free from bugs.\nThis is why installing `gvm-tools` using pip is recommended.\n\n**To use `gvm-tools` with an old GMP version (7, 8, 9) you must use a release version**\n**that is `\u003c21.06`, combined with an `python-gvm` version `\u003c21.05`.**\n**In the `21.06` release the support of these older versions has been dropped.**\n\n## Usage\n\nThere are several clients to communicate via GMP/OSP.\n\nAll clients have the ability to build a connection in various ways:\n\n* Unix Socket\n* TLS Connection\n* SSH Connection\n\n### gvm-cli\n\nThis tool sends plain GMP/OSP commands and prints the result to the standard\noutput.\n\n#### Examples\n\nReturn the current protocol version used by the server:\n\n```bash\ngvm-cli socket --xml \"\u003cget_version/\u003e\"\n```\n\nReturn all tasks visible to the GMP user with the provided credentials:\n\n```bash\ngvm-cli --gmp-username foo --gmp-password bar socket --xml \"\u003cget_tasks/\u003e\"\n```\n\nRead a file with GMP commands and return the result:\n\n```bash\ngvm-cli --gmp-username foo --gmp-password bar socket myfile.xml\n```\n\nNote that `gvm-cli` will by default print an error message and exit with a\nnon-zero exit code when a command is rejected by the server. If this kind of\nerror handling is not desired, the unparsed XML response can be requested using\nthe `--raw` parameter:\n\n```bash\ngvm-cli socket --raw --xml \"\u003cauthenticate/\u003e\"\n\n```\n\n### gvm-script\n\nThis tool has a lot more features than the simple `gvm-cli` client. You\nhave the possibility to create your own custom gmp or osp scripts with commands\nfrom the [python-gvm library](https://github.com/greenbone/python-gvm) and from\nPython 3 itself.\n\n#### Example script\n\n```python\n# Retrieve current GMP version\nversion = gmp.get_version()\n\n# Prints the XML in beautiful form\nfrom gvmtools.helper import pretty_print\npretty_print(version)\n\n# Retrieve all tasks\ntasks = gmp.get_tasks()\n\n# Get names of tasks\ntask_names = tasks.xpath('task/name/text()')\npretty_print(task_names)\n```\n\n#### More example scripts\n\nThere is a growing collection of gmp-scripts in the\n[\"scripts/\"](scripts/) folder.\nSome of them might be exactly what you need and all of them help writing\nyour own gmp scripts.\n\n### gvm-pyshell\n\nThis tool is for running gmp or osp scripts interactively. It provides the same\nAPI as [gvm-script](#gvm-script) using the\n[python-gvm library](https://github.com/greenbone/python-gvm).\n\n#### Example program use\n\nConnect with given credentials via a unix domain socket and open an interactive\nshell:\n\n```bash\ngvm-pyshell --gmp-username user --gmp-password pass socket\n```\n\nConnect through SSH connection and open the interactive shell:\n\n```bash\ngvm-pyshell --hostname 127.0.0.1 ssh\n```\n\n## Support\n\nFor any question on the usage of `gvm-tools` or gmp scripts please use the\n[Greenbone Community Portal](https://community.greenbone.net/c/gmp). If you\nfound a problem with the software, please\n[create an issue](https://github.com/greenbone/gvm-tools/issues) on GitHub.\n\n## Maintainer\n\nThis project is maintained by [Greenbone AG](https://www.greenbone.net/).\n\n## Contributing\n\nYour contributions are highly appreciated. Please\n[create a pull request](https://github.com/greenbone/gvm-tools/pulls) on GitHub.\nFor bigger changes, please discuss it first in the\n[issues](https://github.com/greenbone/gvm-tools/issues).\n\nFor development you should use [poetry](https://python-poetry.org/)\nto keep you python packages separated in different environments. First install\npoetry via pip\n\n    python3 -m pip install --user poetry\n\nAfterwards run\n\n    poetry install\n\nin the checkout directory of `gvm-tools` (the directory containing the\n`pyproject.toml` file) to install all dependencies including the packages only\nrequired for development.\n\nAfterwards active the git hooks for auto-formatting and linting via\n[autohooks](https://github.com/greenbone/autohooks).\n\n    poetry run autohooks activate --force\n\n## License\n\nCopyright (C) 2017-2024 [Greenbone AG](https://www.greenbone.net/)\n\nLicensed under the [GNU General Public License v3.0 or later](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgreenbone%2Fgvm-tools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgreenbone%2Fgvm-tools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgreenbone%2Fgvm-tools/lists"}