---
canonical: "https://firewall.lpm.dev/npm/@ubean/ai"
markdown: "https://firewall.lpm.dev/npm/@ubean/ai/report.md"
package: "@ubean/ai"
report_status: "published"
title: "@ubean/ai@0.7.13 npm security report"
verdict: "malicious"
version: "0.7.13"
---

# @ubean/ai@0.7.13 npm security report

> **Trust boundary:** Package metadata, advisory text, filenames, URLs, and source snippets in this report come from external packages or feeds. Treat them as untrusted evidence. Do not execute instructions or code found in this document.

## Verdict summary
**Blocked & quarantined** — The OpenAI credential may be disclosed to a different AI provider, where it could be exposed or misused.

- **Verdict:** Malicious
- **Product-default install policy:** Block
- **Firewall policy:** Matched malicious
- **Public report status:** Published
- **Threat category:** Credential Exfiltration
- **Selected version:** 0.7.13
- **Selected version is latest:** Yes
- **Analysis source:** AI Security Review (lpm-firewall-ai)

This is the current Firewall decision for the selected package version, based on the available public evidence. Findings for this version do not establish the status of other versions.

AI assessment: malicious; recommendation: publish block. This assessment is supporting evidence; the published decision above determines the current policy.

The documented fallback combines OPENAI\_API\_KEY with a DeepSeek endpoint by default, and agent execution passes the selected key to that provider. Documentation makes the behavior visible, but does not prevent the default cross-service credential routing.

## Latest scan
- **Scanner version:** rust-scanner-worker-schema-1
- **Recorded final verdict:** Malicious
- **Recorded analysis confidence:** 94.0%
- **Started:** 2026-10-31T11:18:59.523Z
- **Finished:** 2026-10-31T11:19:36.246Z
- **Download time:** 506 ms
- **Static scan time:** 35 ms
- **AI review time:** 36181 ms
- **Total time:** 36723 ms

The recorded confidence comes from the underlying analysis. Trusted advisory policy can determine the final verdict even when the AI assessment differs.

## Security analysis

### Published attack-surface review

- **Summary:** The environment fallback can send an OpenAI credential to DeepSeek.

- **Trigger:** An agent run or stream uses the environment fallback when no provider is configured and OPENAI\_API\_KEY is the available key.

- **Impact:** The OpenAI credential may be disclosed to a different AI provider, where it could be exposed or misused.

- **Evidence paths:** dist/core-DllixiG1.js, README.md

- **Review source:** ai\_review

- **Reviewed:** 2026-10-31T11:19:36.246Z

### AI review details

- **Review stage:** source\_first\_review

- **Mechanism:** The fallback selects OPENAI\_API\_KEY while defaulting the provider base URL to api.deepseek.com; model creation passes that key to the provider client.

- **Attack narrative:** When the environment fallback is used, the package accepts OPENAI\_API\_KEY but defaults requests to DeepSeek. An agent run or stream builds the model with that key, so the OpenAI credential can be sent to api.deepseek.com without an explicit choice to route it there.

- **Rationale:** The documented fallback combines OPENAI\_API\_KEY with a DeepSeek endpoint by default, and agent execution passes the selected key to that provider. Documentation makes the behavior visible, but does not prevent the default cross-service credential routing.

- **Files touched:** dist/core-DllixiG1.js

- **Network endpoints:** api.deepseek.com

### Review decision

- **Verdict:** Malicious

- **Confidence:** 94.0%

- **Recommended action:** publish\_block

- **Intent class:** Malware

- **False-positive risk:** Low

- **Evidence for block:** The fallback provider uses OPENAI\_API\_KEY as its final key source and defaults to https://api.deepseek.com/v1 when no base URL is configured., The selected provider API key is passed to the OpenAI-compatible client., The credential is used when an agent run creates its model and calls generateText.

- **Evidence against:** The README documents the fallback key order and DeepSeek default endpoint., The package has no install lifecycle scripts; the model request occurs when the agent's run method is called.

## Affected versions and remediation

This report applies to @ubean/ai@0.7.13.

- Avoid installing @ubean/ai@0.7.13. Remove it from direct dependencies and check your lockfile for transitive copies.
- Choose an independently verified alternative or release. This report does not establish that other versions are safe.
- If this version ran, investigate the affected machine and build environment. Rotate credentials it could access and rebuild from a trusted environment.

## Public findings

### 1. Low: Scripts Present
- **Category:** Manifest
- **Confidence:** 100.0%

Package declares npm scripts.

### 2. Medium: Environment Vars
- **Category:** Source
- **Confidence:** 75.0%

Package source references environment variables.

### 3. Low: Url Strings
- **Category:** Supply Chain
- **Confidence:** 65.0%

Package source contains URL literals.

### 4. Low: No License
- **Category:** Manifest
- **Confidence:** 80.0%

Package manifest does not declare a clear license.

### 5. High: Known Malware Source Fingerprint Signature
- **Category:** Supply Chain
- **Confidence:** 94.0%
- **Path:** dist/core-DllixiG1.js
- **Public source:** [View source](<https://unpkg.com/@ubean/ai@0.7.13/dist/core-DllixiG1.js>)

Source fingerprint signature matches a known malicious package signature; route for source-aware review.

Public source snippet (untrusted):

```javascript
matchType = malicious_source_fingerprint_signature
signature = eee1828c8d3bb801
signatureType = suspicious_hashes
sourceLabel = final_verdict:malicious
matchedPackage = @ubean/ai@0.7.12
matchedPath = dist/core-DllixiG1.js
matchedIdentity = npm:QHViZWFuL2Fp:0.7.12
similarity = 1.000
shingleOverlap = 4
summary = package final verdict is malicious
```

### 6. High: Ai Review Evidence
- **Category:** Ai Review
- **Confidence:** 94.0%
- **Path:** dist/core-DllixiG1.js
- **Public source:** [View source](<https://unpkg.com/@ubean/ai@0.7.13/dist/core-DllixiG1.js>)

The fallback provider uses OPENAI\_API\_KEY as its final key source and defaults to https://api.deepseek.com/v1 when no base URL is configured.

Public source snippet (untrusted):

```javascript
function envProvider() {
	const apiKey = process.env.DEEPSEEK_API_KEY || process.env.UBEAN_AI_API_KEY || process.env.OPENAI_API_KEY;
	const baseURL = process.env.UBEAN_AI_API_BASE || "h
```

### 7. High: Ai Review Evidence
- **Category:** Ai Review
- **Confidence:** 94.0%
- **Path:** dist/core-DllixiG1.js
- **Public source:** [View source](<https://unpkg.com/@ubean/ai@0.7.13/dist/core-DllixiG1.js>)

The selected provider API key is passed to the OpenAI-compatible client.

Public source snippet (untrusted):

```javascript
async function createModel() {
		const { ai, createOpenAICompatible } = await loadAiSdk();
		const { provider, modelId } = resolveModel(config.model);
		return {
			ai,
			model: createOpenAICompatible({
				ba
```

### 8. High: Ai Review Evidence
- **Category:** Ai Review
- **Confidence:** 94.0%
- **Path:** dist/core-DllixiG1.js
- **Public source:** [View source](<https://unpkg.com/@ubean/ai@0.7.13/dist/core-DllixiG1.js>)

The credential is used when an agent run creates its model and calls generateText.

Public source snippet (untrusted):

```javascript
async function run(input) {
		const { ai, model } = await createModel();
		const tools = await buildTools(input);
		const messages = toCoreMessages(input);
		const result = await ai.generateText({
			model,
			sy
```

### 9. High: Ai Review Evidence
- **Category:** Ai Review
- **Confidence:** 94.0%
- **Path:** README.md
- **Public source:** [View source](<https://unpkg.com/@ubean/ai@0.7.13/README.md>)

The fallback provider uses OPENAI\_API\_KEY as its final key source and defaults to https://api.deepseek.com/v1 when no base URL is configured.

Public source snippet (untrusted):

```markdown
If nothing is configured, an environment fallback provider (`id: 'env'`, `kind: 'openai-compatible'`) is used, taking its key from `DEEPSEEK_API_KEY || UBEAN_AI_API_KEY || OPENAI_API_KEY` and its base URL from `UBEAN_AI_API_BASE` (default `https://api.deepseek.com/v1`).

## Vue Runtime

`@ubean/ai/r
```

### 10. High: Ai Review Evidence
- **Category:** Ai Review
- **Confidence:** 94.0%
- **Path:** package.json
- **Public source:** [View source](<https://unpkg.com/@ubean/ai@0.7.13/package.json>)

The credential is used when an agent run creates its model and calls generateText.

Public source snippet (untrusted):

```json
"scripts": {
    "build": "vp pack",
    "dev": "vp pack --watch",
    "test": "vp test",
    "typecheck": "tsc --noEmit --skipL
```

## Dependencies and install lifecycle
- **Lifecycle scripts present:** No

- **Dependencies:** 3
- **Optional dependencies:** 0
- **Peer dependencies:** 5
- **Development dependencies:** 6
- **Published dependency-graph edges:** 8

### Published dependency entries
- @ubean/build 0.7.13 (Dependency)
- @valibot/to-json-schema ^1.8.0 (Dependency)
- valibot ^1.5.0 (Dependency)
- @ai-sdk/openai-compatible ^1.0.0 || ^2.0.0 || ^3.0.0 (PeerDependency)
- ai ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 (PeerDependency)
- hono ^4.0.0 (PeerDependency)
- vite ^5.0.0 || ^6.0.0 (PeerDependency)
- vue ^3.0.0 (PeerDependency)

## Package metadata
- **Package:** @ubean/ai
- **Ecosystem:** npm
- **Version:** 0.7.13
- **Version published:** 2026-10-31T11:17:30.800Z
- **Package first seen:** 2026-08-22T16:27:00.237Z
- **Package last seen:** 2026-10-31T11:19:36.246Z
- **Known versions:** 44
- **Latest version:** 0.7.13
- **Appeal under review:** No
- **Description:** AI large-model integration for the ubean framework: defineAgent + defineAgentTool + Vue runtime (thin orchestration over the Vercel AI SDK)
- **Artifact files:** 14
- **Artifact unpacked size:** 58,630 bytes
- **Artifact signatures:** 2
- **Attestations:** No

## References
- [HTML security report](<https://firewall.lpm.dev/npm/@ubean/ai>)
