The plugins shown can be altered via the ‘plugins_list’ filter. You can remove any items in the passed array you don’t want to be visible. Altering this list could affect the main site as well. You can check get_current_site() to see if the list is for the main site or something else. Changing the list doesn’t alter current plugin status. Knowledgeable users could still possibly activate a hidden plugin if they know its directory slug. There’s no enforcement mechanism in this filter hook, it simply manages what’s visible.
This of course involves some custom coding. It’s possible there’s an existing plugin that will do this for you, but I’m unaware of such a plugin. For your custom code to work on all sites, it should be made into its own custom plugin which is installed in /wp-content/mu-plugins/ (must-use plugins)