Dear QGIS-Developers,

Are there any guidelines from the QGIS project regarding whether a QGIS
plugin is allowed to autonomously install required packages using PIP or
similar tools without manual installation by the user?

While this might seem convenient, I see it as a potential security risk,
especially if the user is not explicitly informed about what is happening
in the background.

One Example:  https://plugins.qgis.org/plugins/StreetSmart/

( I don't intend to blame the author of this plugin. ... it's just an
example because I recently installed this plugin and noticed that it tried
to install additional packages.)

When I installed the plugin it opened two command line windows where no
output/echo was shown to the user, just a black window... so not very
transparent what’s happening.

I had a look at the source code and the plugin uses subprocess to install
packages with pip:

https://github.com/Samsonboadi/StreetSmart/blob/main/street_smart.py#L1005

For one package the plugin only points to a download URL from which a wheel
file is downloaded (a self hosted version of cefpython3, because the one
that can be installed with pip is not compatible to Python 3.12)  :

https://github.com/Samsonboadi/StreetSmart/blob/main/street_smart.py#L90

This makes it challenging for the QGIS project to evaluate if the plugin
can cause a security threat, as the file that gets downloaded might differ
from the one checked before publishing.

>From my perspective, I believe QGIS plugins should at least always ask the
user for consent before installing additional modules, especially when the
modules are downloaded from the internet.

Prompted by this recent experience, I would like to ask you for some
feedback: How do you feel about this topic?

regards,
Thomas
_______________________________________________
QGIS-Developer mailing list
QGIS-Developer@lists.osgeo.org
List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer

Reply via email to