registry  /  qlogicagent  /  2.17.10

qlogicagent@2.17.10

XiaozhiClaw Agent CLI — subprocess architecture (JSON-RPC over stdio)

Static Scan Results

scanned 3h ago · by rust-scanner

Static analysis flagged 20 finding(s) at 72.0% confidence. This version is warn-only unless an AI or security-team review confirms malicious behavior.

Static reason
One or more suspicious static signals were detected.

Decision evidence

public snapshot
Behavioral surface
Source
ChildProcessDynamicRequireEnvironmentVarsFilesystemNativeBindingsNetworkShell
Supply chain
HighEntropyStringsMinifiedObfuscatedUrlStrings
Manifest
NoLicense
scanned 9 file(s), 2.36 MB of source, external domains: www.pinecone.io
Oversized source lightweight scan
dist/cli.js4.74 MB file, sampled 256 KB
EnvironmentVarsObfuscatedHighEntropyStringsMinified

Source & flagged code

11 flagged · loading source
dist/index.jsView file
618`)}function moe(){return Mb(new hs(kS),new si(20,Ds),new Ra(Ds))}function wO(t,e){let n=Db(new hs(kS),new si(20,Ds),new _l({protectedHeadExchanges:1,protectedTailMessages:8,summari... L619: `),error:P.details?.error}}catch(w){return{result:"",error:w instanceof Error?w.message:String(w)}}}},createAgentRunner:Do,tools:this.toolCatalog.getToolManifest(),taskStore:this.t... L620: `)}var Ha=t=>(e,n,r,o)=>{let i=r?{...r,async:!1}:{async:!1},s=e._zod.run({value:n,issues:[]},i);if(s instanceof Promise)throw new br;if(s.issues.length){let a=new(o?.Err??t)(s.issu...
High
Child Process

Package source references child process execution.

dist/index.jsView on unpkg · L618
417L418: ${f}`}))}if(c.length===0)return t;let d=[...t],p=-1;for(let m=0;m<d.length;m++)d[m].role==="system"&&(p=m);return d.splice(p+1,0,...c),d}function Ob(t,e,n=$b){if(e.size===0)return{... L419: `);function xD(t){Lk.lastIndex=0;let e=null;for(let r=Lk.exec(t);r;r=Lk.exec(t))e=r;if(!e)return null;let n={start:e.index,end:e.index+e[0].length};try{let r=JSON.parse(e[1]);if(!r...
High
Shell

Package source references shell execution.

dist/index.jsView on unpkg · L417
417L418: ${f}`}))}if(c.length===0)return t;let d=[...t],p=-1;for(let m=0;m<d.length;m++)d[m].role==="system"&&(p=m);return d.splice(p+1,0,...c),d}function Ob(t,e,n=$b){if(e.size===0)return{... L419: `);function xD(t){Lk.lastIndex=0;let e=null;for(let r=Lk.exec(t);r;r=Lk.exec(t))e=r;if(!e)return null;let n={start:e.index,end:e.index+e[0].length};try{let r=JSON.parse(e[1]);if(!r...
High
Same File Env Network Execution

A single source file combines environment access, network access, and code or shell execution; review context before blocking.

dist/index.jsView on unpkg · L417
680L681: `)}f.write("payload.value = newResult;"),f.write("return payload;");let v=f.compile();return(S,w)=>v(m,S,w)},i,s=Os,a=!Ns.jitless,l=a&&_S.value,d=e.catchall,p;t._zod.parse=(m,f)=>{... L682: L683: Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let s of t.seen.entries()){let a=s[1];if(e===s[0]){i(s);continue}if(t.external){let l=t.exter... L684: `);a=m.pop()||"";for(let f of m){let g=f.trim();if(g)try{let h=JSON.parse(g);s.enqueue(h)}catch(h){console.error("Failed to parse JSON message:",g,h)}}}let l=a.trim();if(l)try{let ... L685: `,c=t.getWriter();try{await c.write(n.encode(a))}finally{c.releaseLock()}}});return{readable:o,writable:i}}function Ei(t){return t??{}}function _F(t){let e=Promise.reject(t);return... L686: ${t?.data?.details??""}`;return/\b(auth(?:entication|orization)?|login|log in|api key|apikey|token|credential|provider|configured|configuration|setup|sign in)\b/i.test(e)}function ... L687: `),n=e.match(/^---\n[\s\S]*?^version:\s*(\S+)/m),r=e.match(/^---\n[\s\S]*?^description:\s*(.+)/m),o=e.match(/^---\n[\s\S]*?^category:\s*(.+)/m),i=e.match(/^---\n[\s\S]*?^author:\s*...
High
Command Output Exfiltration

Source combines command execution, command-output handling, and outbound requests; review data flow before blocking.

dist/index.jsView on unpkg · L680
1var w9=Object.defineProperty;var FM=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,n)=>(typeof require<"u"?require:e)[n]}):t)(function(t){if(typeof require<"u"... L2: `),l=null;for(let p=0;p<Math.min(c.length,tr.HEADER_LINES);p++){let m=c[p].trim();if(!(!m||m.startsWith("#")||m.startsWith("---"))){l=m.slice(0,150);break}}let d=mte(o);return{file... ... L11: L12: `)}var tr,r0=Oe(()=>{"use strict";tr={MAX_SCAN_FILES:100,MAX_SELECTED:5,MAX_FILE_BYTES:4096,MAX_TOTAL_BYTES:20*1024,MIN_SCORE:.2,HEADER_LINES:10,RECENCY_DAYS:7,RECENCY_BOOST:.15}})... L13: ... L29: Respond ONLY with a JSON array (or empty array [] if nothing worth extracting): L30: [{"text": "...", "category": "personal_fact|preference|event|lesson", "importance": 0.5-0.9, "eventDate": "YYYY-MM-DD or null"}]`});function nr(){return{surfacedPaths:new Set,sessi... L31: CREATE TABLE IF NOT EXISTS memories ( ... L187: LIMIT ? L188: `).all(o,n,r).map(s=>({id:s.id,text:s.text,score:Math.min(1,s.fts_score*.1+s.importance*.5),category:s.category,importance:s.importance,metadata:{tags:JSON.parse(s.tags||"[]"),crea... L189: SELECT id, text, category, importance, tags, created_at, access_count, embedding ...
High
Obfuscated Payload Loader

Source contains an obfuscator-style string-array loader that reconstructs and executes hidden code.

dist/index.jsView on unpkg · L1
1var w9=Object.defineProperty;var FM=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,n)=>(typeof require<"u"?require:e)[n]}):t)(function(t){if(typeof require<"u"... L2: `),l=null;for(let p=0;p<Math.min(c.length,tr.HEADER_LINES);p++){let m=c[p].trim();if(!(!m||m.startsWith("#")||m.startsWith("---"))){l=m.slice(0,150);break}}let d=mte(o);return{file... ... L29: Respond ONLY with a JSON array (or empty array [] if nothing worth extracting): L30: [{"text": "...", "category": "personal_fact|preference|event|lesson", "importance": 0.5-0.9, "eventDate": "YYYY-MM-DD or null"}]`});function nr(){return{surfacedPaths:new Set,sessi... L31: CREATE TABLE IF NOT EXISTS memories ( ... L417: L418: ${f}`}))}if(c.length===0)return t;let d=[...t],p=-1;for(let m=0;m<d.length;m++)d[m].role==="system"&&(p=m);return d.splice(p+1,0,...c),d}function Ob(t,e,n=$b){if(e.size===0)return{... L419: `);function xD(t){Lk.lastIndex=0;let e=null;for(let r=Lk.exec(t);r;r=Lk.exec(t))e=r;if(!e)return null;let n={start:e.index,end:e.index+e[0].length};try{let r=JSON.parse(e[1]);if(!r... ... L618: `)}function moe(){return Mb(new hs(kS),new si(20,Ds),new Ra(Ds))}function wO(t,e){let n=Db(new hs(kS),
High
Remote Agent Bridge

Source exposes local file and command tools to a remote model endpoint.

dist/index.jsView on unpkg · L1
599L600: Return a brief summary of what you consolidated, updated, or pruned. If nothing changed (memories are already tight), say so.`}var YN=0;async function Cre(t,e={}){let n={...eO,...e... L601: `+w.join(`
Medium
Dynamic Require

Package source references dynamic require/import behavior.

dist/index.jsView on unpkg · L599
1var w9=Object.defineProperty;var FM=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,n)=>(typeof require<"u"?require:e)[n]}):t)(function(t){if(typeof require<"u"... L2: `),l=null;for(let p=0;p<Math.min(c.length,tr.HEADER_LINES);p++){let m=c[p].trim();if(!(!m||m.startsWith("#")||m.startsWith("---"))){l=m.slice(0,150);break}}let d=mte(o);return{file... ... L11: L12: `)}var tr,r0=Oe(()=>{"use strict";tr={MAX_SCAN_FILES:100,MAX_SELECTED:5,MAX_FILE_BYTES:4096,MAX_TOTAL_BYTES:20*1024,MIN_SCORE:.2,HEADER_LINES:10,RECENCY_DAYS:7,RECENCY_BOOST:.15}})... L13: ... L29: Respond ONLY with a JSON array (or empty array [] if nothing worth extracting): L30: [{"text": "...", "category": "personal_fact|preference|event|lesson", "importance": 0.5-0.9, "eventDate": "YYYY-MM-DD or null"}]`});function nr(){return{surfacedPaths:new Set,sessi... L31: CREATE TABLE IF NOT EXISTS memories ( ... L187: LIMIT ? L188: `).all(o,n,r).map(s=>({id:s.id,text:s.text,score:Math.min(1,s.fts_score*.1+s.importance*.5),category:s.category,importance:s.importance,metadata:{tags:JSON.parse(s.tags||"[]"),crea... L189: SELECT id, text, category, importance, tags, created_at, access_count, embedding ...
Medium
Install Persistence

Source writes installer persistence such as shell profile or service configuration.

dist/index.jsView on unpkg · L1
dist/qlogicagent.cmdView file
path = dist/qlogicagent.cmd kind = build_helper sizeBytes = 34 magicHex = [redacted]
Medium
Ships Build Helper

Package ships non-JavaScript build or shell helper files.

dist/qlogicagent.cmdView on unpkg
dist/cli.jsView file
path = dist/cli.js kind = oversized_source_file sizeBytes = 4966736 magicHex = [redacted]
High
Oversized Source File

Package contains source files above the static scanner size ceiling.

dist/cli.jsView on unpkg
path = dist/cli.js kind = oversized_cli_entrypoint sizeBytes = 4966736 magicHex = [redacted]
Medium
Oversized Cli Entrypoint

Package contains an oversized executable-looking CLI entrypoint.

dist/cli.jsView on unpkg

Findings

8 High7 Medium5 Low
HighChild Processdist/index.js
HighShelldist/index.js
HighSame File Env Network Executiondist/index.js
HighCommand Output Exfiltrationdist/index.js
HighObfuscated Payload Loaderdist/index.js
HighRemote Agent Bridgedist/index.js
HighObfuscated
HighOversized Source Filedist/cli.js
MediumDynamic Requiredist/index.js
MediumNetwork
MediumEnvironment Vars
MediumInstall Persistencedist/index.js
MediumShips Build Helperdist/qlogicagent.cmd
MediumOversized Cli Entrypointdist/cli.js
MediumStructural Risk Force Deep Review
LowScripts Present
LowFilesystem
LowHigh Entropy Strings
LowUrl Strings
LowNo License