registry  /  @cat-factory/server  /  0.113.3

@cat-factory/server@0.113.3

Runtime-neutral HTTP layer for the Agent Architecture Board: the Hono controllers, middleware (auth/authz/CORS/error), request helpers and the gateway seams shared by every deployment facade (Cloudflare Worker, Node service).

AI Security Review

scanned 2h ago · by lpm-firewall-ai

No confirmed malicious package attack surface was found. The distributed code is a runtime HTTP library that calls configured integrations only when host application routes/services invoke it.

Static reason
One or more suspicious static signals were detected.
Trigger
A host application explicitly mounts controllers and receives authenticated runtime requests.
Impact
Can act through host-supplied integrations, but no unconsented collection, persistence, foreign agent-control mutation, or remote payload execution is established.
Mechanism
Configured OAuth, GitHub, web-search, LLM-proxy, and runner-service integration.
Rationale
The scanner signals map to ordinary controller, encoding, network, and application-runner code. Static inspection found no install-time execution or concrete malicious behavior, so the package is clean under the stated boundary.
Evidence
package.jsondist/index.jsdist/crypto/encoding.jsdist/modules/tasks/TaskSourceController.jsdist/modules/llmProxy/LlmProxyController.jsdist/modules/webSearch/upstreams.jsdist/agents/RunnerJobClient.js
Network endpoints3
api.search.brave.com/res/v1/web/searchlinear.appapi.linear.app/oauth/token

Decision evidence

public snapshot
AI called this Clean at 94.0% confidence as Benign with low false-positive risk.
Evidence for block
  • `dist/modules/llmProxy/LlmProxyController.js` makes runtime `fetch` requests to configured LLM upstreams.
  • `dist/agents/RunnerJobClient.js` dispatches/polls configured runner transports for application jobs.
  • `dist/github/FetchGitHubClient.js` uses GitHub API requests for explicit repository operations.
Evidence against
  • `package.json` defines no `preinstall`, `install`, `postinstall`, or `prepare` lifecycle hook.
  • `dist/index.js` is an export barrel; inspection found no import-time execution.
  • Dynamic-syntax matches are local methods named `require`/`import`, not CommonJS or dynamic module loading.
  • No `child_process`, filesystem, `vm`, `eval`, `Function`, native binary, or package-local installer was found.
  • `dist/crypto/encoding.js` only encodes/decodes data and parses supplied PEM material; it contains no secret.
  • No code mutates `.claude`, Codex, Cursor, MCP, or other AI-agent control-surface configuration.
Behavioral surface
Source
ChildProcessDynamicRequireFilesystemNetwork
Supply chain
HighEntropyStringsUrlStrings
Manifest
NoLicense
scanned 149 file(s), 1000 KB of source, external domains: accounts.google.com, api.github.com, api.linear.app, api.search.brave.com, github.com, linear.app, oauth2.googleapis.com, www.googleapis.com

Source & flagged code

13 flagged · loading source
dist/crypto/encoding.d.tsView file
7patternName = private_key_rsa severity = critical line = 7 matchedText = * (`----...CS#1
Critical
Critical Secret

Package contains a critical-looking secret pattern.

dist/crypto/encoding.d.tsView on unpkg · L7
7patternName = private_key_rsa severity = critical line = 7 matchedText = * (`----...CS#1
Critical
Secret Pattern

RSA private key in dist/crypto/encoding.d.ts

dist/crypto/encoding.d.tsView on unpkg · L7
8patternName = private_key_rsa severity = critical line = 8 matchedText = * (`----... via
Critical
Secret Pattern

RSA private key in dist/crypto/encoding.d.ts

dist/crypto/encoding.d.tsView on unpkg · L8
dist/modules/tasks/TaskSourceController.jsView file
188return unavailable(c); L189: const task = await tasks.importService.import(param(c, 'workspaceId'), sourceParam(c), c.req.valid('json').ref); L190: return c.json(task, 201);
Medium
Dynamic Require

Package source references dynamic require/import behavior.

dist/modules/tasks/TaskSourceController.jsView on unpkg · L188
dist/crypto/encoding.jsView file
30patternName = private_key_rsa severity = critical line = 30 matchedText = * (`----...CS#1
Critical
Secret Pattern

RSA private key in dist/crypto/encoding.js

dist/crypto/encoding.jsView on unpkg · L30
31patternName = private_key_rsa severity = critical line = 31 matchedText = * (`----... via
Critical
Secret Pattern

RSA private key in dist/crypto/encoding.js

dist/crypto/encoding.jsView on unpkg · L31
dist/config/problems.jsView file
132patternName = private_key_rsa severity = critical line = 132 matchedText = remedy: ...t.',
Critical
Secret Pattern

RSA private key in dist/config/problems.js

dist/config/problems.jsView on unpkg · L132
214patternName = private_key_rsa severity = critical line = 214 matchedText = throw pr... ` +
Critical
Secret Pattern

RSA private key in dist/config/problems.js

dist/config/problems.jsView on unpkg · L214
216patternName = private_key_rsa severity = critical line = 216 matchedText = 'and use....');
Critical
Secret Pattern

RSA private key in dist/config/problems.js

dist/config/problems.jsView on unpkg · L216
218patternName = private_key_rsa severity = critical line = 218 matchedText = if (!/--...)) {
Critical
Secret Pattern

RSA private key in dist/config/problems.js

dist/config/problems.jsView on unpkg · L218
219patternName = private_key_rsa severity = critical line = 219 matchedText = throw pr... ` +
Critical
Secret Pattern

RSA private key in dist/config/problems.js

dist/config/problems.jsView on unpkg · L219
dist/github/GitHubAppAuth.d.tsView file
17patternName = private_key_rsa severity = critical line = 17 matchedText = /** App .... */
Critical
Secret Pattern

RSA private key in dist/github/GitHubAppAuth.d.ts

dist/github/GitHubAppAuth.d.tsView on unpkg · L17
dist/github/GitHubAppAuth.jsView file
156patternName = private_key_rsa severity = critical line = 156 matchedText = "the Git... " +
Critical
Secret Pattern

RSA private key in dist/github/GitHubAppAuth.js

dist/github/GitHubAppAuth.jsView on unpkg · L156

Findings

12 Critical2 Medium5 Low
CriticalCritical Secretdist/crypto/encoding.d.ts
CriticalSecret Patterndist/crypto/encoding.d.ts
CriticalSecret Patterndist/crypto/encoding.d.ts
CriticalSecret Patterndist/crypto/encoding.js
CriticalSecret Patterndist/crypto/encoding.js
CriticalSecret Patterndist/config/problems.js
CriticalSecret Patterndist/config/problems.js
CriticalSecret Patterndist/config/problems.js
CriticalSecret Patterndist/config/problems.js
CriticalSecret Patterndist/config/problems.js
CriticalSecret Patterndist/github/GitHubAppAuth.d.ts
CriticalSecret Patterndist/github/GitHubAppAuth.js
MediumDynamic Requiredist/modules/tasks/TaskSourceController.js
MediumNetwork
LowScripts Present
LowFilesystem
LowHigh Entropy Strings
LowUrl Strings
LowNo License