跳转到正文
报告库
用途分类 / 数据分析

Prisma Database Setup Skill 安全审计

作者说它能做什么(原文)

Guides for configuring Prisma with different database providers (PostgreSQL, MySQL, SQLite, MongoDB, etc.). Use when setting up a new project, changing databases, or troubleshooting connection issues. Triggers on "configure postgres", "connect to mysql", "setup mongodb", "sqlite setup".

第三方安全检查结论

发现安全风险

已检查文件
9
发现的风险
5
会不会运行危险命令?检查是否下载程序后直接运行、让他人远程控制电脑,或藏起要运行的命令。发现 1 项风险
低风险

未固定版本的 npm 安装会执行当时解析到的第三方包代码

原文依据:4 处
发现了什么

指南安装 `prisma`、`@prisma/client` 和多个驱动包时没有指定版本,随后运行 Prisma CLI。解析到的版本由当时的注册表和锁文件状态决定,安装生命周期脚本或 CLI 会在开发环境中执行包代码。

为什么需要注意

若依赖发布被入侵、名称解析到意外版本或项目没有受控锁文件,第三方代码可能读取当前进程可访问的文件和环境变量,或修改项目文件。证据并不表明这些包目前恶意。

指南要求安装多个未固定版本的 npm 包,随后运行已安装的 Prisma CLI。安装依赖和执行 CLI 都会信任当时解析到的第三方代码;这是实现数据库配置的正常、已授权流程,但版本漂移风险真实存在。用户可要求作者提供测试过的版本范围、锁文件及安装脚本审查说明。

references/prisma-client-setup.md:5来自说明文档打开原文件
## 1. Install dependencies```bashnpm install prisma --save-devnpm install @prisma/client```
查看另外 3 个位置
references/prisma-client-setup.md:25来自说明文档打开原文件
## 3. Generate Prisma Client```bashnpx prisma generate```Re-run `prisma generate` after every schema change to keep the client in sync.
references/sqlite.md:78来自说明文档打开原文件
For edge compatibility or Turso:1. Install:   ```bash   npm install @prisma/adapter-libsql @libsql/client   ```
references/postgresql.md:65来自说明文档打开原文件
1. Install adapter and driver:   ```bash   npm install @prisma/adapter-pg pg   ```
会不会泄露文件和密钥?检查是否发送含密码或密钥的文件,以及代码里是否直接写了密钥。发现 1 项风险
中风险

MongoDB `db push` 会改变连接目标的索引和约束

原文依据:2 处
发现了什么

指南明确让用户使用 `prisma db push` 同步索引和约束,但没有在该指令处限定开发数据库、要求确认连接目标或先备份。该命令不是只读检查。

为什么需要注意

如果 `DATABASE_URL` 指向生产库或错误集群,执行命令会改变该数据库的结构性规则,可能影响写入验证、唯一性和应用行为。

这是面向 MongoDB 的主动操作说明:`db push` 会把模型定义同步到当前 `DATABASE_URL` 指向的数据库,并可能修改索引和约束。该操作符合数据库设置用途,但此处没有要求确认目标或备份;若环境变量误指生产库,影响会落到该远程数据环境。用户可限制为开发库并要求执行前显示目标。

references/mongodb.md:66来自说明文档打开原文件
## Migrations vs Introspection- **No Migrations**: MongoDB is schema-less. `prisma migrate` commands **do not work**.- **db push**: Use `prisma db push` to sync indexes and constraints.- **db pull**: Use `prisma db pull` to generate schema from existing data (sampling).
查看另外 1 个位置
references/mongodb.md:20来自说明文档打开原文件
```prismadatasource db {  provider = "mongodb"  url      = env("DATABASE_URL")}
会不会删除文件或一直在后台运行?检查是否大范围删除文件、改写磁盘,或设置自动启动。未发现风险
会不会绕过安全保护?检查是否跳过网站安全验证、开放过多文件权限,或取消操作前的确认。发现 2 项风险
中风险

SQL Server 示例关闭了服务器证书验证

原文依据:4 处
发现了什么

连接字符串和适配器示例都设置了 `trustServerCertificate=true`。文档称其用于本地自签名证书,但示例同时启用加密且容易被直接复制到共享、云端或生产配置。

为什么需要注意

如果在不可信网络或非本地环境使用,客户端可能接受冒充 SQL Server 的证书,使数据库凭据和查询数据面临中间人窃取或篡改。

这段代码的正常用途

示例确实信任服务器证书,但连接目标明确为 `localhost`,文档也将该选项限定为本地自签名证书。所示内容不能支持其用于共享、云端或生产环境的说法。若用户把本地示例迁移到远程环境,应要求使用可验证的证书并关闭该选项。

这项判断针对展示的代码和适用条件,不表示风险已经实际发生。
references/sqlserver.md:40来自说明文档打开原文件
## 3. Environment VariableIn `.env`:```envDATABASE_URL="sqlserver://localhost:1433;database=mydb;user=sa;password=Password123;encrypt=true;trustServerCertificate=true"```### Connection String Format```sqlserver://HOST:PORT;database=DB;user=USER;password=PASS;encrypt=true;trustServerCertificate=true```- **encrypt**: Required for Azure (true).- **trustServerCertificate**: True for self-signed certs (local dev).
查看另外 3 个位置
references/sqlserver.md:72来自说明文档打开原文件
   const adapter = new PrismaMssql({     server: 'localhost',     port: 1433,     database: 'mydb',     user: process.env.SQLSERVER_USER,     password: process.env.SQLSERVER_PASSWORD,     options: {       encrypt: true,       trustServerCertificate: true,     },   })
references/sqlserver.md:44来自说明文档打开原文件
```envDATABASE_URL="sqlserver://localhost:1433;database=mydb;user=sa;password=Password123;encrypt=true;trustServerCertificate=true"```
references/sqlserver.md:54来自说明文档打开原文件
- **encrypt**: Required for Azure (true).- **trustServerCertificate**: True for self-signed certs (local dev).
低风险

安装命令没有固定依赖版本

原文依据:5 处
发现了什么

安装命令没有指定依赖版本。同样的命令以后可能下载不同代码,你实际安装的内容可能与这次检查时不同。

为什么需要注意

即使命令和报告没变,以后安装时也可能下载到另一份代码。

该安装步骤未指定 `prisma` 版本,因此实际解析的代码可能随 npm 注册表和锁文件状态而变化。它是配置 Prisma 所需的正常操作,并非恶意证据;但用户可要求作者提供已测试的版本范围,并保留或审核锁文件。

`@prisma/client` 安装也没有固定版本,未来执行时可能得到不同版本及其依赖。安装符合技能用途,但会修改项目依赖并引入第三方代码;用户可要求兼容版本范围和锁文件。

这段证据能说明什么

`npx prisma generate` 本身没有版本参数,但前面的步骤已要求安装本地 `prisma`。若本地依赖存在,npx 通常运行该版本;若不存在,则可能提示下载其他版本。来源未说明锁文件状态或实际解析结果,因此无法仅凭此行确认会安装未固定版本。

这项判断针对展示的代码和适用条件,不表示风险已经实际发生。
SKILL.md:95来自说明文档打开原文件
   ```bash   npm install prisma --save-dev   npm install @prisma/client
查看另外 4 个位置
SKILL.md:93来自说明文档打开原文件
1. Install Prisma CLI and Prisma Client:   ```bash   npm install prisma --save-dev   npm install @prisma/client   ```
SKILL.md:96来自说明文档打开原文件
   npm install prisma --save-dev   npm install @prisma/client   ```
SKILL.md:109来自说明文档打开原文件
   ```bash   npx prisma generate   ```
SKILL.md:107来自说明文档打开原文件
1. Generate Prisma Client:   ```bash   npx prisma generate   ```
会不会误导 AI 或隐藏内容?检查工作说明是否要求 AI 忽略你的指令、干扰检查结果,或夹带看不见的文字。未发现风险
会不会偷偷改推广链接或收款方?检查是否强制替换推广链接或收款对象,同时要求隐瞒更改。发现 1 项风险
低风险

托管数据库命令会更改外部 Prisma 账户并写入本地凭据文件

原文依据:2 处
发现了什么

`prisma init --db` 不只是初始化本地代码;指南说明它会登录 Prisma Data Platform、创建项目和数据库实例,并更新 `.env`。

为什么需要注意

若代理在未确认账户和组织的情况下运行,可能在错误的 Prisma 账户中留下云端项目或消耗组织配额;写入的连接字符串也会成为本地敏感凭据。

命令明确会触发外部账户登录、创建 Prisma 项目和托管数据库,并把连接字符串写入本地 `.env`。这些副作用已被清楚披露且符合“托管数据库设置”的用途,但仍会改变用户账户、可能产生资源,并在磁盘保存凭据。用户可在运行前确认所用账户、计费条件及 `.env` 不会提交到版本库。

references/prisma-postgres.md:9来自说明文档打开原文件
## Setup via CLIYou can provision a Prisma Postgres instance directly via the CLI:```bashprisma init --db```This will:1. Log you into Prisma Data Platform.2. Create a new project and database instance.3. Update your `.env` with the connection string.
查看另外 1 个位置
references/prisma-postgres.md:17来自说明文档打开原文件
This will:1. Log you into Prisma Data Platform.2. Create a new project and database instance.3. Update your `.env` with the connection string.

Skill 逻辑拆解

8 个说明模块

该 Skill 是一组配置指南:它让代理按数据库类型修改 Prisma schema/config、设置包含数据库凭据的环境变量,并安装、生成及实例化 Prisma Client。

查看原文
SKILL.md:55来自说明文档打开原文件
Your configuration shape depends on the provider and Prisma major version:1. **All providers** use **`prisma/schema.prisma`**.2. **Prisma 7 SQL setups** typically use **`prisma.config.ts`** for datasource URLs.3. **MongoDB projects should stay on Prisma 6.x**, keep `url = env("DATABASE_URL")` in the schema, and continue using the classic MongoDB setup.## Driver AdaptersThe standard SQL workflow uses a driver adapter. Choose the adapter and driver for your database and pass the adapter to `PrismaClient`.
SKILL.md:89来自说明文档打开原文件
## Prisma Client Setup (Required)Prisma Client must be installed and generated for any database.1. Install Prisma CLI and Prisma Client:   ```bash   npm install prisma --save-dev   npm install @prisma/client   ```1. Add a generator block (`prisma-client` requires an explicit output path):   ```prisma   generator client {     provider = "prisma-client"     output   = "../generated"   }   ```1. Generate Prisma Client:   ```bash   npx prisma generate   ```

SQL 数据库连接由运行时环境变量传给相应驱动适配器;SQLite/Turso 路径还会读取远程数据库 URL 和认证令牌。

查看原文
references/postgresql.md:70来自说明文档打开原文件
2. Instantiate Prisma Client with the adapter:   ```typescript   import 'dotenv/config'   import { PrismaClient } from '../generated/client'   import { PrismaPg } from '@prisma/adapter-pg'   const adapter = new PrismaPg({ connectionString: process.env.DATABASE_URL })   const prisma = new PrismaClient({ adapter })   ```
references/sqlite.md:85来自说明文档打开原文件
2. Instantiate:   ```typescript   import { PrismaClient } from '../generated/client'   import { PrismaLibSql } from '@prisma/adapter-libsql'   const adapter = new PrismaLibSql({     url: process.env.TURSO_DATABASE_URL,     authToken: process.env.TURSO_AUTH_TOKEN,   })   const prisma = new PrismaClient({ adapter })   ```

MongoDB 被单独限制在 Prisma 6.x,并使用 `prisma-client-js`;文档明确排除了 Prisma 7 的 SQL 适配器流程。

查看原文
references/mongodb.md:3来自说明文档打开原文件
MongoDB projects should stay on the latest Prisma 6.x release. Do not upgrade a MongoDB app to Prisma 7's SQL client path.## Prerequisites- MongoDB 4.2+- Replica Set configured (required for transactions)- Latest Prisma 6.x release, or your team's pinned Prisma 6 version- Node.js 20.19.0+- TypeScript 5.4.0+## 1. Schema ConfigurationUse the standard Prisma 6 MongoDB setup with `prisma-client-js`.
references/mongodb.md:30来自说明文档打开原文件
### Driver AdaptersDo **not** apply the Prisma 7 SQL adapter setup here. MongoDB does not use a SQL `@prisma/adapter-*` package.

托管 Prisma Postgres 的可选 CLI 流程会登录外部平台、创建项目和数据库,并把连接字符串写入本地 `.env`。

查看原文
references/prisma-postgres.md:9来自说明文档打开原文件
## Setup via CLIYou can provision a Prisma Postgres instance directly via the CLI:```bashprisma init --db```This will:1. Log you into Prisma Data Platform.2. Create a new project and database instance.3. Update your `.env` with the connection string.
从这里开始 · 工作说明SKILL.md
prisma-database-setup
连线表示工作说明包含的模块,不是实际运行顺序。点击模块可查看原文。 另有 3 个章节,可在原文件中查看。

文件引用关系图

9 处引用
哪些文件发起引用引用了什么
连线表示真实的文件引用,不是运行顺序。点击节点可高亮相关连线,并查看具体文件和原文位置。虚线表示还有文件需要定位。
文件与检查记录9 个文件

检查范围与遗漏

逐文件查看涉及的内容

下方列出本次涉及的原文范围;纳入检查不代表已查清所有问题。

  • SKILL.md已纳入全文
  • references/cockroachdb.md已纳入全文
  • references/mongodb.md已纳入全文
  • references/mysql.md已纳入全文
  • references/postgresql.md已纳入全文
  • references/prisma-client-setup.md已纳入全文
  • references/prisma-postgres.md已纳入全文
  • references/sqlite.md已纳入全文
  • references/sqlserver.md已纳入全文

这份报告只针对上方版本。我们看了拿到的代码和说明文件,没有实际运行 Skill,也没有检查它另外安装的软件包。因此,这不是“保证安全”的承诺;换了版本或使用环境,结果也可能不同。

  • SKILL.md工作说明
  • references/cockroachdb.md配套文件
  • references/mongodb.md配套文件
  • references/mysql.md配套文件
  • references/postgresql.md配套文件
  • references/prisma-client-setup.md配套文件
  • references/prisma-postgres.md配套文件
  • references/sqlite.md配套文件
  • references/sqlserver.md配套文件

代码和说明中提到的操作

读取密钥或账号配置
SKILL.md:85来自说明文档打开原文件
const adapter = new PrismaPg({ connectionString: process.env.DATABASE_URL })const prisma = new PrismaClient({ adapter })
SKILL.md:117来自说明文档打开原文件
   const adapter = new PrismaPg({ connectionString: process.env.DATABASE_URL })   const prisma = new PrismaClient({ adapter })
references/cockroachdb.md:41来自说明文档打开原文件
In `.env`:
运行命令
SKILL.md:94来自说明文档打开原文件
1. Install Prisma CLI and Prisma Client:   ```bash   npm install prisma --save-dev
SKILL.md:108来自说明文档打开原文件
1. Generate Prisma Client:   ```bash   npx prisma generate
references/cockroachdb.md:54来自说明文档打开原文件
1. Install adapter and driver:   ```bash   npm install @prisma/adapter-pg pg
安装其他软件包
SKILL.md:95来自说明文档打开原文件
   ```bash   npm install prisma --save-dev   npm install @prisma/client
SKILL.md:96来自说明文档打开原文件
   npm install prisma --save-dev   npm install @prisma/client   ```
SKILL.md:109来自说明文档打开原文件
   ```bash   npx prisma generate   ```
读取了多少行
975
文件校验值(用于核对版本)
dccef9cf86b64f2c0907c5b6223b254f8c00e33b2978e7c5c53a17f4fbc51b68