git: a3cdb67a6a09 - main - security/py-notus-scanner: New port: scanner for creating results from local security checks
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 01 Aug 2022 20:43:49 UTC
The branch main has been updated by acm:
URL: https://cgit.FreeBSD.org/ports/commit/?id=a3cdb67a6a09e71420daeba04feed14029d1c21a
commit a3cdb67a6a09e71420daeba04feed14029d1c21a
Author: Jose Alonso Cardenas Marquez <acm@FreeBSD.org>
AuthorDate: 2022-08-01 20:41:43 +0000
Commit: Jose Alonso Cardenas Marquez <acm@FreeBSD.org>
CommitDate: 2022-08-01 20:43:40 +0000
security/py-notus-scanner: New port: scanner for creating results from local security checks
Notus Scanner detects vulnerable products in a system environment. The scanning
method is to evaluate internal system information. It does this very fast and
even detects currently inactive products because it does not need to interact
with each of the products.
To report about vulnerabilities, Notus Scanner receives collected system
information on the one hand and accesses the vulnerability information from the
feed service on the other. Both input elements are in table form: the system
information is specific to each environment and the vulnerability information
is specific to each system type.
Notus Scanner integrates into the Greenbone Vulnerability Management framework
which allows to let it scan entire networks within a single task. Any
vulnerability test in the format of .notus files inside the Greenbone Feed will
be considered and automatically matched with the scanned environments.
WWW: https://github.com/greenbone/notus-scanner
---
security/Makefile | 1 +
security/py-notus-scanner/Makefile | 52 ++++++
security/py-notus-scanner/distinfo | 3 +
security/py-notus-scanner/files/notus_scanner.in | 38 +++++
.../files/patch-notus-scanner-cli_parser.py | 11 ++
.../files/patch-notus-scanner_config.py | 11 ++
security/py-notus-scanner/pkg-descr | 17 ++
security/py-notus-scanner/pkg-plist | 183 +++++++++++++++++++++
8 files changed, 316 insertions(+)
diff --git a/security/Makefile b/security/Makefile
index 71912c4cde54..dc829c07a61e 100644
--- a/security/Makefile
+++ b/security/Makefile
@@ -902,6 +902,7 @@
SUBDIR += py-netbox-secretstore
SUBDIR += py-netmiko
SUBDIR += py-noiseprotocol
+ SUBDIR += py-notus-scanner
SUBDIR += py-ntlm-auth
SUBDIR += py-oauth2client
SUBDIR += py-oauthlib
diff --git a/security/py-notus-scanner/Makefile b/security/py-notus-scanner/Makefile
new file mode 100644
index 000000000000..ed6b56109bb0
--- /dev/null
+++ b/security/py-notus-scanner/Makefile
@@ -0,0 +1,52 @@
+PORTNAME= notus-scanner
+DISTVERSION= 22.4.0
+DISTVERSIONPREFIX= v
+CATEGORIES= security python
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= acm@FreeBSD.org
+COMMENT= scanner for creating results from local security checks
+
+LICENSE= AGPLv3
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}poetry2setup>0:devel/py-poetry2setup@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}packaging>0:devel/py-packaging@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}paho-mqtt>0:net/py-paho-mqtt@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}psutil>=0:sysutils/py-psutil@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}python-gnupg>0:security/py-python-gnupg@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}tomli>0:textproc/py-tomli@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}sentry-sdk>0:devel/py-sentry-sdk@${PY_FLAVOR} \
+ mosquitto:net/mosquitto
+
+USE_GITHUB= yes
+GH_ACCOUNT= greenbone
+GH_PROJECT= ${PORTNAME}
+
+USES= python:3.8+
+USE_PYTHON= distutils
+
+NO_ARCH= yes
+
+USERS= gvm
+GROUPS= ${USERS}
+
+USE_RC_SUBR= ${PORTNAME:S/-/_/}
+SUB_LIST= PYTHON_CMD=${PYTHON_CMD}
+
+post-patch:
+ ${REINPLACE_CMD} -i "" -e 's|%%LOCALBASE%%|${LOCALBASE}|g' ${WRKSRC}/notus/scanner/cli/parser.py
+ ${REINPLACE_CMD} -i "" -e 's|/etc/openvas/gnupg|/var/lib/openvas/gnupg|g' \
+ ${WRKSRC}/notus/scanner/loader/gpg_sha_verifier.py
+ @${RM} ${WRKSRC}/notus/scanner/cli/parser.py.orig
+ @${RM} ${WRKSRC}/notus/scanner/config.py.orig
+
+pre-configure:
+ @cd ${WRKSRC} && poetry2setup > ${WRKSRC}/setup.py
+
+post-install:
+ @${MKDIR} ${STAGEDIR}/var/run/notus-scanner
+ @${MKDIR} ${STAGEDIR}/var/lib/openvas/plugins/notus/products
+ @${MKDIR} ${STAGEDIR}/var/lib/notus
+
+.include <bsd.port.mk>
diff --git a/security/py-notus-scanner/distinfo b/security/py-notus-scanner/distinfo
new file mode 100644
index 000000000000..0befc4468c81
--- /dev/null
+++ b/security/py-notus-scanner/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1659327504
+SHA256 (greenbone-notus-scanner-v22.4.0_GH0.tar.gz) = 59dba47adc1f580682df0619f55361e7343a5692402b95b673b3d8cc19f67884
+SIZE (greenbone-notus-scanner-v22.4.0_GH0.tar.gz) = 290692
diff --git a/security/py-notus-scanner/files/notus_scanner.in b/security/py-notus-scanner/files/notus_scanner.in
new file mode 100644
index 000000000000..766cce64254c
--- /dev/null
+++ b/security/py-notus-scanner/files/notus_scanner.in
@@ -0,0 +1,38 @@
+#!/bin/sh
+
+# PROVIDE: notus_scanner
+# REQUIRE: NETWORKING
+# KEYWORD: shutdown
+#
+# Configuration settings for ospd_openvas in /etc/rc.conf:
+#
+# notus_scanner_enable: run notus_scanner service (default=NO)
+# notus_scanner_pidfile: path to notus_scanner pid file
+# notus_scanner_config: path to notus_scanner configuration file
+# notus_scanner_flags: additional flags for notus_scanner server
+#
+
+. /etc/rc.subr
+
+name=notus_scanner
+rcvar=notus_scanner_enable
+
+load_rc_config ${name}
+
+export PATH="${PATH}:/usr/local/bin:/usr/local/sbin"
+
+: ${notus_scanner_enable:=NO}
+: ${notus_scanner_pidfile="/var/run/notus-scanner/notus-scanner.pid"}
+: ${notus_scanner_config="/usr/local/etc/gvm/notus-scanner.toml"}
+: ${notus_scanner_flags=""}
+: ${notus_scanner_user="gvm"}
+
+notus_scanner_group="gvm"
+
+pidfile=${notus_scanner_pidfile}
+
+command=/usr/local/bin/notus-scanner
+command_interpreter="%%PYTHON_CMD%%"
+command_args="--pid-file ${pidfile} --config ${notus_scanner_config} --log-file /var/log/gvm/notus-scanner.log ${notus_scanner_flags}"
+
+run_rc_command "$1"
diff --git a/security/py-notus-scanner/files/patch-notus-scanner-cli_parser.py b/security/py-notus-scanner/files/patch-notus-scanner-cli_parser.py
new file mode 100644
index 000000000000..5b9a28e1b67b
--- /dev/null
+++ b/security/py-notus-scanner/files/patch-notus-scanner-cli_parser.py
@@ -0,0 +1,11 @@
+--- notus/scanner/cli/parser.py 2022-07-31 23:45:49.051030000 -0500
++++ notus/scanner/cli/parser.py 2022-07-31 23:46:07.662584000 -0500
+@@ -29,7 +29,7 @@
+
+ logger = logging.getLogger(__name__)
+
+-DEFAULT_CONFIG_FILE = "/etc/gvm/notus-scanner.toml"
++DEFAULT_CONFIG_FILE = "%%LOCALBASE%%/etc/gvm/notus-scanner.toml"
+ DEFAULT_USER_CONFIG_FILE = "~/.config/notus-scanner.toml"
+
+
diff --git a/security/py-notus-scanner/files/patch-notus-scanner_config.py b/security/py-notus-scanner/files/patch-notus-scanner_config.py
new file mode 100644
index 000000000000..568f81d1ce68
--- /dev/null
+++ b/security/py-notus-scanner/files/patch-notus-scanner_config.py
@@ -0,0 +1,11 @@
+--- notus/scanner/config.py 2022-07-31 23:42:08.386733000 -0500
++++ notus/scanner/config.py 2022-07-31 23:43:46.513394000 -0500
+@@ -35,7 +35,7 @@
+ DEFAULT_LOG_LEVEL = "INFO"
+ DEFAULT_MQTT_BROKER_ADDRESS = "localhost"
+ DEFAULT_MQTT_BROKER_PORT = 1883
+-DEFAULT_PID_FILE = "/run/notus-scanner/notus-scanner.pid"
++DEFAULT_PID_FILE = "/var/run/notus-scanner/notus-scanner.pid"
+
+ _CONFIG = (
+ (
diff --git a/security/py-notus-scanner/pkg-descr b/security/py-notus-scanner/pkg-descr
new file mode 100644
index 000000000000..da6e25be710c
--- /dev/null
+++ b/security/py-notus-scanner/pkg-descr
@@ -0,0 +1,17 @@
+Notus Scanner detects vulnerable products in a system environment. The scanning
+method is to evaluate internal system information. It does this very fast and
+even detects currently inactive products because it does not need to interact
+with each of the products.
+
+To report about vulnerabilities, Notus Scanner receives collected system
+information on the one hand and accesses the vulnerability information from the
+feed service on the other. Both input elements are in table form: the system
+information is specific to each environment and the vulnerability information
+is specific to each system type.
+
+Notus Scanner integrates into the Greenbone Vulnerability Management framework
+which allows to let it scan entire networks within a single task. Any
+vulnerability test in the format of .notus files inside the Greenbone Feed will
+be considered and automatically matched with the scanned environments.
+
+WWW: https://github.com/greenbone/notus-scanner
diff --git a/security/py-notus-scanner/pkg-plist b/security/py-notus-scanner/pkg-plist
new file mode 100644
index 000000000000..b411615950de
--- /dev/null
+++ b/security/py-notus-scanner/pkg-plist
@@ -0,0 +1,183 @@
+bin/notus-scan-start
+bin/notus-scanner
+bin/notus-subscriber
+%%PYTHON_SITELIBDIR%%/notus/scanner/__init__.py
+%%PYTHON_SITELIBDIR%%/notus/scanner/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/notus/scanner/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/notus/scanner/__pycache__/__version__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/notus/scanner/__pycache__/__version__%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/notus/scanner/__pycache__/config%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/notus/scanner/__pycache__/config%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/notus/scanner/__pycache__/daemon%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/notus/scanner/__pycache__/daemon%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/notus/scanner/__pycache__/errors%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/notus/scanner/__pycache__/errors%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/notus/scanner/__pycache__/scanner%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/notus/scanner/__pycache__/scanner%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/notus/scanner/__pycache__/utils%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/notus/scanner/__pycache__/utils%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/notus/scanner/__version__.py
+%%PYTHON_SITELIBDIR%%/notus/scanner/cli/__init__.py
+%%PYTHON_SITELIBDIR%%/notus/scanner/cli/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/notus/scanner/cli/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/notus/scanner/cli/__pycache__/parser%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/notus/scanner/cli/__pycache__/parser%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/notus/scanner/cli/parser.py
+%%PYTHON_SITELIBDIR%%/notus/scanner/config.py
+%%PYTHON_SITELIBDIR%%/notus/scanner/daemon.py
+%%PYTHON_SITELIBDIR%%/notus/scanner/errors.py
+%%PYTHON_SITELIBDIR%%/notus/scanner/loader/__init__.py
+%%PYTHON_SITELIBDIR%%/notus/scanner/loader/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/notus/scanner/loader/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/notus/scanner/loader/__pycache__/gpg_sha_verifier%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/notus/scanner/loader/__pycache__/gpg_sha_verifier%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/notus/scanner/loader/__pycache__/json%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/notus/scanner/loader/__pycache__/json%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/notus/scanner/loader/__pycache__/loader%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/notus/scanner/loader/__pycache__/loader%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/notus/scanner/loader/gpg_sha_verifier.py
+%%PYTHON_SITELIBDIR%%/notus/scanner/loader/json.py
+%%PYTHON_SITELIBDIR%%/notus/scanner/loader/loader.py
+%%PYTHON_SITELIBDIR%%/notus/scanner/messages/__init__.py
+%%PYTHON_SITELIBDIR%%/notus/scanner/messages/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/notus/scanner/messages/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/notus/scanner/messages/__pycache__/message%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/notus/scanner/messages/__pycache__/message%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/notus/scanner/messages/__pycache__/result%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/notus/scanner/messages/__pycache__/result%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/notus/scanner/messages/__pycache__/start%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/notus/scanner/messages/__pycache__/start%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/notus/scanner/messages/__pycache__/status%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/notus/scanner/messages/__pycache__/status%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/notus/scanner/messages/message.py
+%%PYTHON_SITELIBDIR%%/notus/scanner/messages/result.py
+%%PYTHON_SITELIBDIR%%/notus/scanner/messages/start.py
+%%PYTHON_SITELIBDIR%%/notus/scanner/messages/status.py
+%%PYTHON_SITELIBDIR%%/notus/scanner/messaging/__init__.py
+%%PYTHON_SITELIBDIR%%/notus/scanner/messaging/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/notus/scanner/messaging/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/notus/scanner/messaging/__pycache__/mqtt%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/notus/scanner/messaging/__pycache__/mqtt%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/notus/scanner/messaging/__pycache__/publisher%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/notus/scanner/messaging/__pycache__/publisher%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/notus/scanner/messaging/__pycache__/subscriber%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/notus/scanner/messaging/__pycache__/subscriber%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/notus/scanner/messaging/mqtt.py
+%%PYTHON_SITELIBDIR%%/notus/scanner/messaging/publisher.py
+%%PYTHON_SITELIBDIR%%/notus/scanner/messaging/subscriber.py
+%%PYTHON_SITELIBDIR%%/notus/scanner/models/__init__.py
+%%PYTHON_SITELIBDIR%%/notus/scanner/models/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/notus/scanner/models/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/notus/scanner/models/__pycache__/advisory%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/notus/scanner/models/__pycache__/advisory%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/notus/scanner/models/__pycache__/vulnerability%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/notus/scanner/models/__pycache__/vulnerability%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/notus/scanner/models/advisory.py
+%%PYTHON_SITELIBDIR%%/notus/scanner/models/packages/__init__.py
+%%PYTHON_SITELIBDIR%%/notus/scanner/models/packages/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/notus/scanner/models/packages/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/notus/scanner/models/packages/__pycache__/deb%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/notus/scanner/models/packages/__pycache__/deb%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/notus/scanner/models/packages/__pycache__/ebuild%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/notus/scanner/models/packages/__pycache__/ebuild%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/notus/scanner/models/packages/__pycache__/package%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/notus/scanner/models/packages/__pycache__/package%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/notus/scanner/models/packages/__pycache__/rpm%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/notus/scanner/models/packages/__pycache__/rpm%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/notus/scanner/models/packages/deb.py
+%%PYTHON_SITELIBDIR%%/notus/scanner/models/packages/ebuild.py
+%%PYTHON_SITELIBDIR%%/notus/scanner/models/packages/package.py
+%%PYTHON_SITELIBDIR%%/notus/scanner/models/packages/rpm.py
+%%PYTHON_SITELIBDIR%%/notus/scanner/models/vulnerability.py
+%%PYTHON_SITELIBDIR%%/notus/scanner/scanner.py
+%%PYTHON_SITELIBDIR%%/notus/scanner/tools/__init__.py
+%%PYTHON_SITELIBDIR%%/notus/scanner/tools/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/notus/scanner/tools/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/notus/scanner/tools/__pycache__/scanstart%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/notus/scanner/tools/__pycache__/scanstart%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/notus/scanner/tools/__pycache__/subscriber%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/notus/scanner/tools/__pycache__/subscriber%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/notus/scanner/tools/scanstart.py
+%%PYTHON_SITELIBDIR%%/notus/scanner/tools/subscriber.py
+%%PYTHON_SITELIBDIR%%/notus/scanner/utils.py
+%%PYTHON_SITELIBDIR%%/tests/__init__.py
+%%PYTHON_SITELIBDIR%%/tests/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/tests/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/tests/__pycache__/test_config%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/tests/__pycache__/test_config%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/tests/__pycache__/test_verifier%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/tests/__pycache__/test_verifier%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/tests/cli/__init__.py
+%%PYTHON_SITELIBDIR%%/tests/cli/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/tests/cli/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/tests/cli/__pycache__/test_cli_parser%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/tests/cli/__pycache__/test_cli_parser%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/tests/cli/test_cli_parser.py
+%%PYTHON_SITELIBDIR%%/tests/fakespecifier_os.notus
+%%PYTHON_SITELIBDIR%%/tests/loader/__init__.py
+%%PYTHON_SITELIBDIR%%/tests/loader/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/tests/loader/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/tests/loader/__pycache__/test_gpg%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/tests/loader/__pycache__/test_gpg%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/tests/loader/__pycache__/test_json%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/tests/loader/__pycache__/test_json%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/tests/loader/emptyos.notus
+%%PYTHON_SITELIBDIR%%/tests/loader/euleros_v2.0sp1.notus
+%%PYTHON_SITELIBDIR%%/tests/loader/invalid_package.notus
+%%PYTHON_SITELIBDIR%%/tests/loader/test_gpg.py
+%%PYTHON_SITELIBDIR%%/tests/loader/test_json.py
+%%PYTHON_SITELIBDIR%%/tests/messages/__init__.py
+%%PYTHON_SITELIBDIR%%/tests/messages/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/tests/messages/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/tests/messages/__pycache__/test_message%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/tests/messages/__pycache__/test_message%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/tests/messages/__pycache__/test_result%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/tests/messages/__pycache__/test_result%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/tests/messages/__pycache__/test_start%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/tests/messages/__pycache__/test_start%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/tests/messages/__pycache__/test_status%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/tests/messages/__pycache__/test_status%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/tests/messages/test_message.py
+%%PYTHON_SITELIBDIR%%/tests/messages/test_result.py
+%%PYTHON_SITELIBDIR%%/tests/messages/test_start.py
+%%PYTHON_SITELIBDIR%%/tests/messages/test_status.py
+%%PYTHON_SITELIBDIR%%/tests/messaging/__init__.py
+%%PYTHON_SITELIBDIR%%/tests/messaging/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/tests/messaging/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/tests/messaging/__pycache__/test_mqtt%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/tests/messaging/__pycache__/test_mqtt%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/tests/messaging/test_mqtt.py
+%%PYTHON_SITELIBDIR%%/tests/models/__init__.py
+%%PYTHON_SITELIBDIR%%/tests/models/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/tests/models/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/tests/models/__pycache__/test_advisory%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/tests/models/__pycache__/test_advisory%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/tests/models/__pycache__/test_vulnerability%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/tests/models/__pycache__/test_vulnerability%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/tests/models/packages/__init__.py
+%%PYTHON_SITELIBDIR%%/tests/models/packages/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/tests/models/packages/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/tests/models/packages/__pycache__/test_deb%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/tests/models/packages/__pycache__/test_deb%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/tests/models/packages/__pycache__/test_ebuild%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/tests/models/packages/__pycache__/test_ebuild%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/tests/models/packages/__pycache__/test_package%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/tests/models/packages/__pycache__/test_package%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/tests/models/packages/__pycache__/test_rpm%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/tests/models/packages/__pycache__/test_rpm%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/tests/models/packages/gentoo_examples.txt
+%%PYTHON_SITELIBDIR%%/tests/models/packages/test_deb.py
+%%PYTHON_SITELIBDIR%%/tests/models/packages/test_ebuild.py
+%%PYTHON_SITELIBDIR%%/tests/models/packages/test_package.py
+%%PYTHON_SITELIBDIR%%/tests/models/packages/test_rpm.py
+%%PYTHON_SITELIBDIR%%/tests/models/test_advisory.py
+%%PYTHON_SITELIBDIR%%/tests/models/test_vulnerability.py
+%%PYTHON_SITELIBDIR%%/tests/test_config.py
+%%PYTHON_SITELIBDIR%%/tests/test_verifier.py
+@dir(gvm,gvm,750) /var/run/notus-scanner
+@dir(gvm,gvm,750) /var/lib/openvas/plugins/notus/products
+@dir(gvm,gvm,750) /var/lib/openvas/plugins/notus
+@dir(gvm,gvm,750) /var/lib/notus
+@dir /var/lib/openvas/plugins
+@dir /var/lib/openvas
+@dir /var/lib