registry  /  @sanity/ailf  /  7.27.1

@sanity/ailf@7.27.1

AI Literacy Framework - Evaluation tool for Sanity documentation

Static Scan Results

scanned 8d ago · by rust-scanner

Static analysis flagged 14 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
ChildProcessCryptoDynamicRequireEnvironmentVarsEvalFilesystemNetworkShell
Supply chain
HighEntropyStringsUrlStrings
ManifestNo manifest risk signals triggered.
scanned 604 file(s), 3.30 MB of source, external domains: admin.sanity.io, ailf-api.sanity.build, api.anthropic.com, api.github.com, api.openai.com, docs.example.com, drive.google.com, duckduckgo.com, github.com, hooks.slack.com, json-schema.org, llmstxt.org, mcp.sanity.io, r.jina.ai, raw.githubusercontent.com, sanity-io.slack.com, sanity.io, slack.com, www.googleapis.com, www.promptfoo.dev, www.sanity.io, your-mcp-server.example.com

Source & flagged code

6 flagged · loading source
bin/ailf.jsView file
14import { existsSync } from "fs" L15: import { execFileSync } from "child_process" L16: import { dirname, resolve } from "path"
High
Child Process

Package source references child process execution.

bin/ailf.jsView on unpkg · L14
9* 2. **Production** (npm install) — imports the compiled dist/cli.js directly. L10: * This is the path when installed via `npx @sanity/ailf-eval` or L11: * `pnpm add @sanity/ailf-eval`. ... L14: import { existsSync } from "fs" L15: import { execFileSync } from "child_process" L16: import { dirname, resolve } from "path"
High
Runtime Package Install

Package source invokes a package manager install command at runtime.

bin/ailf.jsView on unpkg · L9
77process.env.AILF_CALLER_CWD = callerCwd L78: await import(jsDist) L79: } else {
Medium
Dynamic Require

Package source references dynamic require/import behavior.

bin/ailf.jsView on unpkg · L77
dist/pipeline/compiler/mode-handlers/mcp-server/schema-validator.jsView file
13* Promptfoo runs a multiline `javascript` assertion via L14: * `new Function("output", "context", "process", body)` — a sandbox with no L15: * module scope and no `require` (see the bridge in `./assertions.ts`). So the
Low
Eval

Package source references a known benign dynamic code generation pattern.

dist/pipeline/compiler/mode-handlers/mcp-server/schema-validator.jsView on unpkg · L13
dist/adapters/task-sources/repo-schemas.d.tsView file
305patternName = generic_password severity = medium line = 305 matchedText = password...rd";
Medium
Secret Pattern

Hardcoded password in dist/adapters/task-sources/repo-schemas.d.ts

dist/adapters/task-sources/repo-schemas.d.tsView on unpkg · L305
1057patternName = generic_password severity = medium line = 1057 matchedText = password...rd";
Medium
Secret Pattern

Hardcoded password in dist/adapters/task-sources/repo-schemas.d.ts

dist/adapters/task-sources/repo-schemas.d.tsView on unpkg · L1057

Findings

3 High6 Medium5 Low
HighChild Processbin/ailf.js
HighShell
HighRuntime Package Installbin/ailf.js
MediumDynamic Requirebin/ailf.js
MediumNetwork
MediumEnvironment Vars
MediumStructural Risk Force Deep Review
MediumSecret Patterndist/adapters/task-sources/repo-schemas.d.ts
MediumSecret Patterndist/adapters/task-sources/repo-schemas.d.ts
LowScripts Present
LowEvaldist/pipeline/compiler/mode-handlers/mcp-server/schema-validator.js
LowFilesystem
LowHigh Entropy Strings
LowUrl Strings