aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJose Alonso Cardenas Marquez <acm@FreeBSD.org>2022-08-01 20:41:43 +0000
committerJose Alonso Cardenas Marquez <acm@FreeBSD.org>2022-08-01 20:43:40 +0000
commita3cdb67a6a09e71420daeba04feed14029d1c21a (patch)
tree2641fa3843a5ccbe1e53d25e6350af220a3245d8
parentfc3a761d2cfc293c26264d2fc126914943e2e839 (diff)
downloadports-a3cdb67a6a09e71420daeba04feed14029d1c21a.tar.gz
ports-a3cdb67a6a09e71420daeba04feed14029d1c21a.zip
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
-rw-r--r--security/Makefile1
-rw-r--r--security/py-notus-scanner/Makefile52
-rw-r--r--security/py-notus-scanner/distinfo3
-rw-r--r--security/py-notus-scanner/files/notus_scanner.in38
-rw-r--r--security/py-notus-scanner/files/patch-notus-scanner-cli_parser.py11
-rw-r--r--security/py-notus-scanner/files/patch-notus-scanner_config.py11
-rw-r--r--security/py-notus-scanner/pkg-descr17
-rw-r--r--security/py-notus-scanner/pkg-plist183
8 files changed, 316 insertions, 0 deletions
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