Workflow Rule Manager
The AI review rates the findings as likely false positive, but the risk score (53/100) still counts them.
Analysis record
- Analysed
- 4 days ago
- Version
- v0.0.6
- Artifact
- SHA256 BCC…490
- Source
- Findings (non-IoC)
Is Workflow Rule Manager safe?
Workflow Rule Manager is a JetBrains add-on for managing workflow rules inside the IDE. JetBrains publishes it, and around 300 people have it installed. It declares no special permissions and asks for no host access, and the plugin lists no network endpoints or hardcoded domains.
The scan's only medium-severity items sit in one bundled webview file, widgets/assets/widget-PzqQ8OgQ.js. That file contains a fetch call, logged as NET-FETCH-widgets/assets/widget-PzqQ8OgQ.js-1, and three socket.io client references, including NET-SOCKET_IO-widgets/assets/widget-PzqQ8OgQ.js-37. If those socket references reached a server controlled by someone else, the panel could send your rule contents off the machine. That is what a real finding there would mean.
Nothing in the results shows a destination. No domain, address or endpoint is recorded anywhere, and there are no findings for reading .env files, SSH keys or cloud credentials, which are the things a plugin built to steal from you would go after. The remaining low-severity matches are code-smell rules that fire on minified JavaScript, the same way they fire on almost every compressed bundle. The scanner is matching library names and Node API calls inside a build artifact, not describing behaviour in the plugin.
A rule manager with a webview panel needs a channel to its own backend, and socket.io plus fetch is an ordinary way to build one. Nothing here points at a host you did not choose.
Evidence ledger
Ranked by severity · findings with a source location link to the code viewer
YARA Rule Matches
9 rules| Severity | Rule | Hits | Files | Metadata |
|---|---|---|---|---|
| LOW | postinstall persistence mechanism | 1 | widgets/assets/widget-PzqQ8OgQ.js | - |
| LOW | postinstall crypto operations | 1 | widgets/assets/widget-PzqQ8OgQ.js | - |
| LOW | postinstall file manipulation | 2 | widgets/assets/widget-PzqQ8OgQ.jswidgets/assets/widget-CWiSmnx8.css | - |
| LOW | postinstall registry modification | 1 | widgets/assets/widget-PzqQ8OgQ.js | - |
| LOW | postinstall obfuscation | 2 | widgets/assets/widget-PzqQ8OgQ.jswidgets/assets/widget-CWiSmnx8.css | - |
| LOW | postinstall network communication | 1 | widgets/assets/widget-PzqQ8OgQ.js | - |
| LOW | postinstall system command | 2 | widgets/assets/widget-PzqQ8OgQ.jswidgets/assets/widget-CWiSmnx8.css | - |
| LOW | postinstall file download | 1 | widgets/assets/widget-PzqQ8OgQ.js | - |
| LOW | NoUseWeakRandom | 1 | widgets/assets/widget-PzqQ8OgQ.js | - |
Publisher Evidence
HighJetBrains
Publisher identity, store signals, distribution reach, and warning signals used for context. Treat this as supporting evidence, not a clean bill of health.
12 evidence rows available.
Finding Categories
YARA Rules Matched
9 rules(12 hits)AI Security Report
AI Security Review
Evidence context: threat category none; evidence quality moderate.
Workflow Rule Manager is a JetBrains Marketplace plugin published by JetBrains, version 0.0.6, with 300 reported users. It declares no permissions and no host permissions, and the plugin metadata lists no network endpoints and no hardcoded domains anywhere in the package. What the package does contain is a webview panel under widgets/.
The scan returned four medium-severity network matches, all inside one bundled webview asset, widgets/assets/widget-PzqQ8OgQ.js. Three are socket.io client references (NET-SOCKET_IO-widgets/assets/widget-PzqQ8OgQ.js-37, -38 and -40) and one is a fetch call (NET-FETCH-widgets/assets/widget-PzqQ8OgQ.js-1). A JetBrains plugin that renders a rule interface in an embedded browser typically opens a socket to a server the IDE process runs on localhost, and socket.io is a common library for that channel. The file is minified build output, not hand-written payload code.
Nothing here reads the filesystem in a way that needs justifying. There are no process-spawn findings, no file-read findings and no secret-category findings. The specific targets credential theft would need, such as .env files, SSH keys, .git/config or cloud token files, do not appear anywhere in the results. The twelve low-severity code-smell matches are the standard yield from scanning minified JavaScript: rules in the postinstall_* and credential_* families fire on any Node bundle that mentions fetch, exec, fs or process.env, and they carry no behaviour of their own. The seven info-level items are metadata.
The strongest counterargument is that this is a 0.0.x plugin with a small install base, from a publisher name that is trivial to imitate, shipping a webview that opens a socket. If that socket reached a remote host, a rule manager with workspace visibility could stream project data outward. The counterargument does not survive the evidence: no endpoint, host or address is recorded, the socket.io strings sit in the same bundled asset as an ordinary fetch call, and the scanner logged no IoC hits and no obfuscation findings. A socket.io import with no destination attached is a library reference.
What would change the picture is a network endpoint entry naming a non-JetBrains host, a secret-category finding, or a manifest permission request. None is present. Static inspection cannot see a URL assembled at runtime from configuration, so a runtime check of the webview's outbound connections is the only way to close that gap completely.
Key Reasons
- The only medium-severity findings are a fetch call and socket.io client references inside the minified webview asset widgets/assets/widget-PzqQ8OgQ.js, which matches a webview panel talking to a local IDE backend.
- No secret-category findings exist: nothing in the package reads .env, .ssh, .git/config or cloud credential files.
- No IoC hits, no obfuscation findings, no hardcoded domains and no declared network endpoints accompany the network matches.
- The plugin is published by JetBrains on the JetBrains Marketplace at version 0.0.6, an official first-party listing rather than a re-upload.
- The twelve low-severity code-smell matches are the expected output of scanning minified JavaScript and carry no behavioural detail.
False Positive Considerations
- Minified webview bundle widgets/assets/widget-PzqQ8OgQ.js trips network rules on bundled library names rather than on behaviour.
- Low-severity code-smell rules match generic Node patterns such as fetch, exec, fs and process.env in any compressed bundle.
- High finding counts in widgets/ assets are multiplicative noise from bundled dependencies, not independent signals.
Reviewed 2026-09-29; recommended action: suppress false positive; model confidence 82%.
About This Extension
Frequently Asked Questions
Similar Extensions
Related extensions from the same publisher or marketplace