Is SVG Gobbler safe?
SVG Gobbler sends SVG markup to a remote cloud function when converting to JSX, and transmits a usage counter to the same endpoint on each gobble action.
When a user opens the SVG-to-JSX (SVGR) preview panel, the extension POSTs the full SVG source along with the user's SVGR configuration to a Google Cloud Function hosted by the developer. Separately, each time the gobble action runs, the extension sends a count of collected SVGs to the same endpoint — a fire-and-forget request that also carries the user's IP address in network headers.
Who publishes itRoss Moody - no other listings under this identity, 2 shared hostnames
Ross Moody - no other listings under this identity, 2 shared hostnames
What this publisher told the store about itself, and the other listings that told it the same thing.
Shared hosts - 2 hostnames
Hostnames hardcoded in this extension that few other listings call. That can mean one operator behind both, and it can equally mean a small shared vendor, so it is context rather than a conclusion. Hosts that many listings call are left out: they are services, not connections.
AI-generated. Findings may contain errors. Those marked Verified have been manually reviewed.
Publishers can request a review.
Findings
SVGR Preview Sends Full SVG Content to Remote Cloud Function
Opening the SVGR tab sends the complete SVG source, embedded metadata included, to a developer-run Google Cloud Function for server-side conversion.
Traffic showed a POST to us-west2-svg-gobbler.cloudfunctions.net, returning JSX.
- Severity
- Medium unwanted
- Type
- Unexpected
- CWE
- CWE-200
- Source
- Dynamic sandbox
You open the SVGR tab in the SVG Gobbler extension panel.
The extension sends the full SVG markup and your SVGR configuration to a developer-operated Google Cloud Function.
Conversion runs on a remote server, not locally in your browser.
200 OK, cloud function returned JSX component code (confirmed during dynamic analysis)
- Content-Type
- application/json
{ "type": "svgr", "payload": { "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><title>DA_VERIFY_MPBM_12345</title><path d=\"M12 2L2 7l10 5 10-5-10-5zM2 17l10 5 10-5M2 12l10 5 10-5\"/></svg>", "config": { "icon": false, "typescript": false, "titleProp": false, "ref": false, "memo": false }, "state": { "name": "MyIcon", "componentName": "MyIcon" } }}- Full SVG source<svg xmlns="http://www.w3.org/2000/svg"><title>My Brand Icon</title><path d="M12 2L2 7..."/></svg>
The complete SVG markup, including embedded metadata like title elements, IDs, and creator annotations from tools such as Figma or Sketch.
- SVGR configuration{"icon":false,"typescript":false,"titleProp":true,"ref":false,"memo":false}
Your current SVGR settings, including whether to generate TypeScript, add a title prop, use forwardRef, and other transform options.
- Component nameMyBrandIcon
The React component name you entered for the output, sent as part of the SVGR state.
SVGR upload hook, index-BzvAbczI.js lines 81322-81362
const useSvgrPreview = () => { const [loading, setLoading] = useState(false); const { dispatch, state: { currentString: svgString, preview } } = useAppState(); useEffect(() => { setLoading(true); (async () => { const payload = { type: "svgr", payload: { svg: svgString, // full SVG markup from active tab config: preview.svgr.config, state: preview.svgr.state } }; try { const result = await ( await fetch(ENDPOINTS.svgr, { // us-west2-svg-gobbler.cloudfunctions.net body: JSON.stringify(payload), headers: { "Content-Type": "application/json" }, method: "POST" }) ).text(); dispatch({ payload: result, type: "set-svgr-result" }); } catch (err) { console.error(err); dispatch({ payload: `😥 ${i18n("details_svgr_error")}`, type: "set-svgr-result" }); } setLoading(false); })(); }, [svgString, dispatch, preview.svgr.config, preview.svgr.state]); return { loading };};- us-west2-svg-gobbler.cloudfunctions.net
Google Cloud Functions endpoint run by the SVG Gobbler developer. Receives full SVG markup and config, converts to JSX server-side, returns output.
Where it sends data
Destinations our analysis observed SVG Gobbler contacting. Sending data somewhere is not a finding on its own - an extension that syncs your settings has to talk to its own server - but it is where your data can go, and who else it goes to.
- us-west2-svg-gobbler.cloudfunctions.net
SVG Gobbler sends data to us-west2-svg-gobbler.cloudfunctions.net. One other extension we have analysed sends data here.