Paranoid
Paranoid is an optional behavior that locks mise down more to make it harder for a bad actor to compromise your system. These are settings that I personally do not use on my own system because I find the behavior too restrictive for the benefits.
Paranoid mode can be enabled with either MISE_PARANOID=1
or a setting:
mise settings set paranoid 1
Config files
Normally mise
will make sure some config files are "trusted" before loading them. This will prompt you to confirm that you want to load the file, e.g.:
$ mise install
mise ~/src/mise/.tool-versions is not trusted. Trust it [y/n]?
Generally only potentially dangerous config files are checked such as files that use templates (which can execute arbitrary code) or that set env vars. Under paranoid, however, all config files must be trusted first.
Also, in normal mode, a config file only needs to be trusted a single time. In paranoid, the contents of the file are hashed to check if the file changes. If you change your config file, you'll need to trust it again.
Community plugins
Community plugins can not be directly installed via short-name under paranoid. You can install plugins that are either core, maintained by the mise team, or plugins that mise has marked as "first-party"—meaning plugins developed by the same team that builds the tool the plugin installs.
Other than that, say for "shfmt", you'll need to specify the full git repo to install:
mise plugin install shfmt https://github.com/luizm/asdf-shfmt
Unlike in normal mode where mise plugin install shfmt
would be sufficient.
Always uses HTTPS
Some endpoints in mise are fetched over HTTP such as checking for the latest mise version and pulling version lists of tools. These are not security risks and a malicious actor injecting false data would not introduce a security risk. Normally mise uses HTTP because loading the TLS module takes about 10ms and this affects commonly used commands so it is a noticeably delay. In paranoid mode, all endpoints will be fetched over HTTPS.
More?
If you have suggestions for more that could be added to paranoid, please let me know.