registry  /  @kodax-ai/kodax  /  0.7.60

@kodax-ai/kodax@0.7.60

⚠ Under review

KodaX lightweight coding agent - TypeScript implementation with 15 built-in LLM provider aliases, published as a Node-free single-file CLI and SDK

Static Scan Results

scanned 7d ago · by rust-scanner

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

Static reason
High-risk behavior combination matched malicious policy.

Decision evidence

public snapshot
Behavioral surface
Source
ChildProcessCryptoDynamicRequireEnvironmentVarsEvalFilesystemNetwork
Supply chain
HighEntropyStringsMinifiedUrlStrings
ManifestNo manifest risk signals triggered.
scanned 55 file(s), 2.85 MB of source, external domains: 127.0.0.1, api.example.com, evil.com, github.com, www.bing.com
Oversized source lightweight scan
dist/kodax_cli.js2.19 MB file, sampled 256 KB
FilesystemChildProcessEnvironmentVarsDynamicRequireHighEntropyStringsMinified

Source & flagged code

9 flagged · loading source
dist/semantic-worker.jsView file
2var Yn=Object.defineProperty;var a=(O,e)=>Yn(O,"name",{value:e,configurable:!0});var Z=(O,e)=>()=>(O&&(e=O(O=0)),e);var Vn=(O,e)=>{for(var t in e)Yn(O,t,{get:e[t],enumerable:!0})};... L3: `,"utf8"),await is(n,O)}catch(i){throw await be.rm(n,{force:!0}).catch(()=>{}),i}await rs(t,wt.basename(O)).catch(()=>{})}async function rs(O,e){let t=`${e}.`,n=Date.now(),i=await ... L4: `)}let o=0,l=!1,Q=r;for(let c=r;c<O.length;c+=1){let d=O[c]??"";if(o+=oe(d),d.includes("{")&&(l=!0),Q=c,l&&o<=0&&c>r||!l&&c+1>=s)break}let h=l?Q+1:s;return O.slice(r,h).join(`
High
Child Process

Package source references child process execution.

dist/semantic-worker.jsView on unpkg · L2
dist/chunks/chunk-QFCF3GNT.jsView file
223${o}`}i(jw,"tailToBytes");function Ze(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}i(Ze,"escapeXmlContent");function zd(){let e="[Tool Error] /goal f... L224: `)}i(Jd,"toolGetGoal");async function Yd(e,t){let n=qi(t),r=typeof e.objective=="string"?e.objective.trim():"";if(!r)return"[Tool Error] create_goal: missing required parameter `ob... L225: Artifact: ${e.artifactRef}
High
Eval

Package source references dynamic code evaluation.

dist/chunks/chunk-QFCF3GNT.jsView on unpkg · L223
dist/chunks/chunk-2RLIKZOZ.jsView file
11`)}a(jt,"buildInvestigatorPrompt");function Bt(e){let t=Math.max(1,(e.maxAgents??8)-1);return(e.targets&&e.targets.length>0?e.targets:$t).slice(0,t).map((o,i)=>({name:`investigate-... L12: ${s.text}`),rubric:t.rubric??Nt}))).text,findings:o,degraded:i}}a(Ut,"runParallelInvestigation");var je={meta:{name:"parallel-investigation",description:"Fan out read-only investig... L13: `,"utf8"),{name:t,path:r,source:"project",execution:"capability-generated"}}a(en,"saveGeneratedWorkflow");async function Ke(e,t){await ae(e,`${JSON.stringify(t,null,2)}
Medium
Dynamic Require

Package source references dynamic require/import behavior.

dist/chunks/chunk-2RLIKZOZ.jsView on unpkg · L11
dist/chunks/chunk-XULI4U7I.jsView file
211`;)d+=1;continue}if(l==="/"&&f==="*"){for(d+=2;d<e.length&&!(e[d]==="*"&&e[d+1]==="/");)d+=1;d+=2;continue}break}if(e[d]==="]"||e[d]==="}"){r+=1;continue}}t+=c,r+=1}return t}o(im,"... L212: \u2026[truncated]\u2026`;function dm(e,t={}){let r=t.maxToolResultBytes??2048,n=t.maxTranscriptBytes??8192,i=[];for(let s of e){let c=um(s,r);c!==null&&i.push(c)}return fm(i,n)}o(d... L213: # Claude Code Code Bash command prefix detection
Critical
Same File Env Network Execution

A single source file combines environment access, network access, and code or shell execution with blocking evidence.

dist/chunks/chunk-XULI4U7I.jsView on unpkg · L211
Trigger-reachable chain: manifest.main -> dist/index.js -> dist/chunks/chunk-XULI4U7I.js Reachable file contains a blocking source-risk pattern.
Critical
Trigger Reachable Dangerous Capability

A package entrypoint or install-time lifecycle script reaches a source file with blocking dangerous behavior.

dist/chunks/chunk-XULI4U7I.jsView on unpkg
dist/chunks/chunk-4K5BDO7S.jsView file
20L21: `+fu({lineCount:r,byteCount:o,wasLineTruncated:i,wasByteTruncated:a}),lineCount:r,byteCount:o,wasLineTruncated:i,wasByteTruncated:a}}s(uu,"truncateEntrypointContent");function fu(e... L22: `,"utf8"),o}s(Lu,"createSnapshot");async function Nu(e,t,n,r){let o=Qr(t);await Qt(o,{recursive:!0});let i=await Jr(o);if(!Ti(e,i))throw new Error("skill proposal parent directory ... ... L25: `),{updated:!0,record:o}}s(Ki,"updateSkillTrustLedger");import{readdir as Of,readFile as $f,stat as Lf}from"fs/promises";import{join as Nf}from"path";var Ff=1024*1024,Df=new Set(["... L26: `).toLowerCase()}s(Vf,"buildCatalogSearchText");function ao(e,t,n={}){let r=t.trim().toLowerCase(),o=Math.max(1,Math.floor(n.limit??10));return e.filter(i=>!n.kind||i.kind===n.kind... L27: \r ... L29: \r L30: `);if(m<0)return;let h=n.subarray(0,m).toString("utf8").match(/Content-Length:\s*(\d+)/i);if(!h?.[1]){n=Buffer.alloc(0),r.onError(new Error("Malformed Content-Length header from MC... L31: `,"utf8"):t.stdin.write(Jf(u),"utf8")},switchFraming(u){o=u,n=Buffer.alloc(0)},async close(){if(n=Buffer.alloc(0),t){let u=t;t=void 0,r=void 0,d.add(u),u.stdout.removeAllListeners(... ... L35: `:"")+l.map(f=>`data:${f} L
High
Command Output Exfiltration

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

dist/chunks/chunk-4K5BDO7S.jsView on unpkg · L20
dist/chunks/chunk-IJN6ZJVI.jsView file
1Cross-file remote execution chain: dist/chunks/chunk-IJN6ZJVI.js spawns dist/chunks/chunk-QFCF3GNT.js; helper contains network access plus dynamic code execution. L1: // @kodax-ai/kodax — bundled distribution. See docs/ADR.md ADR-022 + ADR-024. L2: import{$ as uc,A as _S,B as ms,Ba as sm,C as Au,Ca as Bu,D as LS,Da as ZS,E as ac,Ea as ew,F as Qp,G as $S,H as Zp,I as ni,J as em,K as cc,L as tm,M as nm,N as OS,O as DS,P as hs,Q... L3: `).length,i={width:n,height:r};return pw.set(e,i),i},"measureText"),gm=LE;import PE from"wrap-ansi";import $E from"cli-truncate";var mw={},OE=o((e,t,n)=>{let r=e+String(t)+String(n... ... L12: `).repeat(N);g&&(O=Qu.dim(O));let G=(nr(a.right,f,"foreground")+` L13: `).repeat(N);S&&(G=Qu.dim(G));let Y=I?nr((T?a.bottomLeft:"")+a.bottom.repeat(A)+(v?a.bottomRight:""),l,"foreground"):void 0;I&&m&&(Y=Qu.dim(Y));let re=w?1:0;D&&r.write(e,t,D,{trans... L14: `.repeat(i)+dM(t,r)}return t},"applyPaddingToText"),ed=o((e,t={})=>{if(t.sk[redacted]&&e.internal_static||e.yogaNode?.getDisplay()===wo.DISPLAY_NONE)return"";let n="";if(e.no... ... L20: `:"",frame:void 0}}let r=new Ms({width:e.yogaNode.getComputedWidth(),height:e.yogaNode.getComputedHeight()});Lw(),bm(e,r,{…
High
Cross File Remote Execution Context

Source spawns a local helper that also contains network and dynamic execution context; review data flow before blocking.

dist/chunks/chunk-IJN6ZJVI.jsView on unpkg · L1
dist/kodax_cli.jsView file
path = dist/kodax_cli.js kind = oversized_source_file sizeBytes = 2292214 magicHex = [redacted]
High
Oversized Source File

Package contains source files above the static scanner size ceiling.

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

Package contains an oversized executable-looking CLI entrypoint.

dist/kodax_cli.jsView on unpkg

Findings

2 Critical5 High5 Medium4 Low
CriticalSame File Env Network Executiondist/chunks/chunk-XULI4U7I.js
CriticalTrigger Reachable Dangerous Capabilitydist/chunks/chunk-XULI4U7I.js
HighChild Processdist/semantic-worker.js
HighEvaldist/chunks/chunk-QFCF3GNT.js
HighCommand Output Exfiltrationdist/chunks/chunk-4K5BDO7S.js
HighCross File Remote Execution Contextdist/chunks/chunk-IJN6ZJVI.js
HighOversized Source Filedist/kodax_cli.js
MediumDynamic Requiredist/chunks/chunk-2RLIKZOZ.js
MediumNetwork
MediumEnvironment Vars
MediumOversized Cli Entrypointdist/kodax_cli.js
MediumStructural Risk Force Deep Review
LowScripts Present
LowFilesystem
LowHigh Entropy Strings
LowUrl Strings