@7nohe/openapi-react-query-codegen @3.0.4
Vulnerability report · Last retrieved from osv.dev August 29, 2026 at 6:35 AM UTC
OSV ID
MAL-2026-15494
Ecosystem
npm
Summary
The tarball ships a binding.gyp at the package root whose conditions field abuses GYP's Python expression evaluator to walk ().__class__.__base__.__subclasses__() to catch_warnings , retrieve __import__ via _module.__builtins__ , load os , and call os.system('node 3FWCvzduYZg.js') (the command is Unicode-escape-obfuscated). Because a binding.gyp at the package root causes npm install to invoke node-gyp rebuild automatically — even with no lifecycle script declared — this executes shell on every installer during configure. The launched sibling file 3FWCvzduYZg.js is a 5.4 MB blob consisting of a single try{Function(function(a,k){...XOR...}([large int array], key))(...)} construct: an XOR-decoded string passed to Function() and invoked, a loader/dropper shape whose body cannot be inspected without evaluation. The referenced native source ( dog.c ) is absent from the tarball, so the binding.gyp has no legitimate build purpose. package.json declares "files": ["dist"] , but binding.gyp and 3FWCvzduYZg.js sit at the tarball root and are honored regardless — an inclusion gap consistent with smuggled payload added outside the declared publish surface. The package's advertised purpose is a React Query code generator, which requires no native addon and no multi-megabyte obfuscated JS payload.
Source: amazon-inspector (ab8f8efdad9084d2a7c5ae5058ffc18886d68bfe1c676239fd7e0d41342fc700)
Protect your entire dependency tree
Scan your lock files automatically on every PR. Block malicious packages before they reach production.