Downloads a program checked against a fixed fingerprint, and runs itcontent/scripts/zotero-ai-sidebar.js · line 6829const response = await fetch(url, { signal: controller.signal });Reply
A zotero:// link (a web page can open one) can make it install add-ons without asking youcontent/scripts/zotero-ai-sidebar.js · line 2167Services.io.getProtocolHandler("zotero").wrappedJSObject._extensions["zotero://plugin"] = pluginBridgeExtension;Reply
A zotero:// link can make it run code if you approve a promptcontent/scripts/zotero-ai-sidebar.js · line 2123Services.io.getProtocolHandler("zotero").wrappedJSObject._extensions["zotero://ztoolkit-debug"] = debugBridgeExtension;Reply
Watches Zotero's network trafficcontent/scripts/zotero-ai-sidebar.js · line 31003service.registerChannelFilter(filter, 0);Reply
Launches programs on your computercontent/scripts/zotero-ai-sidebar.js · line 216const exec = Zotero?.Utilities?.Internal?.exec;Reply
✓Readable code, uploaded by the project's automated GitHub build
✓Only contacts services we could identify
✓Works with Zotero 10
Then A+
Pass the live test in Zotero 10We install it in a fresh Zotero and record what it does. Every plugin at A is tested.
README badge[](https://zoteroplugins.org/p/zotero-ai-sidebar)Updates itself when the grade changes.
Disagree with a finding?Respond on GitHub from an account that maintains the repository. Your response is published next to the card, with our reply.Respond to the card