Skip to content
vetkitChecksChangelogDocumentation

vetkit.js.electron.open-external-untrusted

shell.openExternal is called with a URL that is not checked first. Web content can make the app open file: or custom-protocol URLs, which can execute programs on the user's machine.

Last updated:

Suite: Security

javascript, typescript

shell.openExternal is called with a URL that is not checked first. Web content can make the app open file: or custom-protocol URLs, which can execute programs on the user's machine.

Category: SECURITY · Engine rule severity: WARNING

How to fix it

Parse the URL and only open it when its protocol is https: (or http:/mailto: as needed), ideally against a host allow-list.

References

Source: packages/engine/rules/sast/javascript.yml.

Generated from shipped rule definitions at build time. Matching is a review signal, not proof of exploitability. “generic” denotes text matching, not complete language or framework coverage. Runtime configuration and available tools affect whether a rule runs.