eslint-plugin-vercel-ai-security 1.3.0 โ 1.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +1 -1
- package/CHANGELOG.md +4 -0
- package/README.md +57 -68
- package/package.json +3 -3
package/AGENTS.md
CHANGED
package/CHANGELOG.md
CHANGED
package/README.md
CHANGED
|
@@ -16,7 +16,8 @@
|
|
|
16
16
|
|
|
17
17
|
## Description
|
|
18
18
|
|
|
19
|
-
This plugin
|
|
19
|
+
This plugin provides Security rules for Vercel AI SDK usage (prompt injection, data handling).
|
|
20
|
+
By using this plugin, you can proactively identify and mitigate security risks across your entire codebase.
|
|
20
21
|
|
|
21
22
|
## Philosophy
|
|
22
23
|
|
|
@@ -24,19 +25,18 @@ This plugin enforces security best practices for applications using the Vercel A
|
|
|
24
25
|
|
|
25
26
|
## Getting Started
|
|
26
27
|
|
|
27
|
-
- To check out the [guide](https://eslint.interlace.tools/docs/vercel-ai-security), visit [eslint.interlace.tools](https://eslint.interlace.tools). ๐
|
|
28
|
-
- ่ฆๆฅ็ไธญๆ [ๆๅ](https://eslint.interlace.tools/docs/vercel-ai-security), ่ฏท่ฎฟ้ฎ [eslint.interlace.tools](https://eslint.interlace.tools). ๐
|
|
29
|
-
- [๊ฐ์ด๋](https://eslint.interlace.tools/docs/vercel-ai-security) ๋ฌธ์๋ [eslint.interlace.tools](https://eslint.interlace.tools)์์ ํ์ธํ์ค ์ ์์ต๋๋ค. ๐
|
|
30
|
-
- [ใฌใคใ](https://eslint.interlace.tools/docs/vercel-ai-security)ใฏ [eslint.interlace.tools](https://eslint.interlace.tools)ใงใ็ขบ่ชใใ ใใใ ๐
|
|
31
|
-
- Para ver la [guรญa](https://eslint.interlace.tools/docs/vercel-ai-security), visita [eslint.interlace.tools](https://eslint.interlace.tools). ๐
|
|
32
|
-
- ููุงุทูุงุน ุนูู [ุงูุฏููู](https://eslint.interlace.tools/docs/vercel-ai-security)ุ ูู
ุจุฒูุงุฑุฉ [eslint.interlace.tools](https://eslint.interlace.tools). ๐
|
|
28
|
+
- To check out the [guide](https://eslint.interlace.tools/docs/security/plugin-vercel-ai-security), visit [eslint.interlace.tools](https://eslint.interlace.tools). ๐
|
|
29
|
+
- ่ฆๆฅ็ไธญๆ [ๆๅ](https://eslint.interlace.tools/docs/security/plugin-vercel-ai-security), ่ฏท่ฎฟ้ฎ [eslint.interlace.tools](https://eslint.interlace.tools). ๐
|
|
30
|
+
- [๊ฐ์ด๋](https://eslint.interlace.tools/docs/security/plugin-vercel-ai-security) ๋ฌธ์๋ [eslint.interlace.tools](https://eslint.interlace.tools)์์ ํ์ธํ์ค ์ ์์ต๋๋ค. ๐
|
|
31
|
+
- [ใฌใคใ](https://eslint.interlace.tools/docs/security/plugin-vercel-ai-security)ใฏ [eslint.interlace.tools](https://eslint.interlace.tools)ใงใ็ขบ่ชใใ ใใใ ๐
|
|
32
|
+
- Para ver la [guรญa](https://eslint.interlace.tools/docs/security/plugin-vercel-ai-security), visita [eslint.interlace.tools](https://eslint.interlace.tools). ๐
|
|
33
|
+
- ููุงุทูุงุน ุนูู [ุงูุฏููู](https://eslint.interlace.tools/docs/security/plugin-vercel-ai-security)ุ ูู
ุจุฒูุงุฑุฉ [eslint.interlace.tools](https://eslint.interlace.tools). ๐
|
|
33
34
|
|
|
34
35
|
```bash
|
|
35
36
|
npm install eslint-plugin-vercel-ai-security --save-dev
|
|
36
37
|
```
|
|
37
38
|
|
|
38
39
|
## ๐ง Supported AI SDK Functions
|
|
39
|
-
|
|
40
40
|
| Function | Full Coverage |
|
|
41
41
|
| ---------------------- | ------------------------------ |
|
|
42
42
|
| `generateText` | โ
All 19 rules |
|
|
@@ -49,7 +49,6 @@ npm install eslint-plugin-vercel-ai-security --save-dev
|
|
|
49
49
|
---
|
|
50
50
|
|
|
51
51
|
## โ๏ธ Configuration Presets
|
|
52
|
-
|
|
53
52
|
| Preset | Description |
|
|
54
53
|
| :------------ | :--------------------------------------- |
|
|
55
54
|
| `recommended` | Balanced security (7 errors, 7 warnings) |
|
|
@@ -59,7 +58,6 @@ npm install eslint-plugin-vercel-ai-security --save-dev
|
|
|
59
58
|
---
|
|
60
59
|
|
|
61
60
|
## ๐ Test Coverage
|
|
62
|
-
|
|
63
61
|
| Metric | Coverage |
|
|
64
62
|
| ------------- | -------- |
|
|
65
63
|
| **Rules** | 19 |
|
|
@@ -70,7 +68,6 @@ npm install eslint-plugin-vercel-ai-security --save-dev
|
|
|
70
68
|
---
|
|
71
69
|
|
|
72
70
|
## ๐ค AI-Agent Optimized Messages
|
|
73
|
-
|
|
74
71
|
All rule messages follow a structured format optimized for AI coding assistants:
|
|
75
72
|
|
|
76
73
|
```
|
|
@@ -80,44 +77,7 @@ All rule messages follow a structured format optimized for AI coding assistants:
|
|
|
80
77
|
|
|
81
78
|
By providing this structured context (CWE, OWASP, Fix), we enable AI tools to **reason** about the security flaw rather than hallucinating. This allows Copilot/Cursor to suggest the _exact_ correct fix immediately.
|
|
82
79
|
|
|
83
|
-
## Rules
|
|
84
|
-
|
|
85
|
-
**Legend**
|
|
86
|
-
|
|
87
|
-
| Icon | Description |
|
|
88
|
-
| :--: | :----------------------------------------------------------------- |
|
|
89
|
-
| ๐ผ | **Recommended**: Included in the recommended preset. |
|
|
90
|
-
| โ ๏ธ | **Warns**: Set towarn in recommended preset. |
|
|
91
|
-
| ๐ง | **Auto-fixable**: Automatically fixable by the `--fix` CLI option. |
|
|
92
|
-
| ๐ก | **Suggestions**: Providing code suggestions in IDE. |
|
|
93
|
-
| ๐ซ | **Deprecated**: This rule is deprecated. |
|
|
94
|
-
|
|
95
|
-
| Rule | CWE | OWASP | CVSS | Description | ๐ผ | โ ๏ธ | ๐ง | ๐ก | ๐ซ |
|
|
96
|
-
| :---------------------------------------------------------------------------------------------------------------------------- | :-----: | :---: | :--: | :------------------------------------------------------------------------------- | :-: | :-: | :-: | :-: | :-: |
|
|
97
|
-
| [require-validated-prompt](https://eslint.interlace.tools/docs/vercel-ai-security/rules/require-validated-prompt) | CWE-74 | | 9.0 | [require-validated-prompt](./docs/rules/require-validated-prompt.md) | ๐ผ | | | | |
|
|
98
|
-
| [no-sensitive-in-prompt](https://eslint.interlace.tools/docs/vercel-ai-security/rules/no-sensitive-in-prompt) | CWE-200 | | 8.0 | [no-sensitive-in-prompt](./docs/rules/no-sensitive-in-prompt.md) | ๐ผ | | | | |
|
|
99
|
-
| [no-training-data-exposure](https://eslint.interlace.tools/docs/vercel-ai-security/rules/no-training-data-exposure) | CWE-359 | | 7.0 | [no-training-data-exposure](./docs/rules/no-training-data-exposure.md) | ๐ผ | โ ๏ธ | | | |
|
|
100
|
-
| [require-request-timeout](https://eslint.interlace.tools/docs/vercel-ai-security/rules/require-request-timeout) | CWE-400 | | 5.0 | [require-request-timeout](./docs/rules/require-request-timeout.md) | ๐ผ | โ ๏ธ | | | |
|
|
101
|
-
| [no-unsafe-output-handling](https://eslint.interlace.tools/docs/vercel-ai-security/rules/no-unsafe-output-handling) | CWE-94 | | 9.8 | [no-unsafe-output-handling](./docs/rules/no-unsafe-output-handling.md) | ๐ผ | | | | |
|
|
102
|
-
| [require-tool-confirmation](https://eslint.interlace.tools/docs/vercel-ai-security/rules/require-tool-confirmation) | CWE-862 | | 7.0 | [require-tool-confirmation](./docs/rules/require-tool-confirmation.md) | ๐ผ | | | | |
|
|
103
|
-
| [no-system-prompt-leak](https://eslint.interlace.tools/docs/vercel-ai-security/rules/no-system-prompt-leak) | CWE-200 | | 7.5 | [no-system-prompt-leak](./docs/rules/no-system-prompt-leak.md) | ๐ผ | | | | |
|
|
104
|
-
| [require-embedding-validation](https://eslint.interlace.tools/docs/vercel-ai-security/rules/require-embedding-validation) | CWE-20 | | 5.5 | [require-embedding-validation](./docs/rules/require-embedding-validation.md) | | | | ๐ก | |
|
|
105
|
-
| [require-output-validation](https://eslint.interlace.tools/docs/vercel-ai-security/rules/require-output-validation) | CWE-707 | | 5.0 | [require-output-validation](./docs/rules/require-output-validation.md) | | | | ๐ก | |
|
|
106
|
-
| [require-max-tokens](https://eslint.interlace.tools/docs/vercel-ai-security/rules/require-max-tokens) | CWE-770 | | 6.5 | [require-max-tokens](./docs/rules/require-max-tokens.md) | ๐ผ | โ ๏ธ | | | |
|
|
107
|
-
| [require-max-steps](https://eslint.interlace.tools/docs/vercel-ai-security/rules/require-max-steps) | CWE-834 | | 6.5 | [require-max-steps](./docs/rules/require-max-steps.md) | ๐ผ | โ ๏ธ | | | |
|
|
108
|
-
| [require-abort-signal](https://eslint.interlace.tools/docs/vercel-ai-security/rules/require-abort-signal) | CWE-404 | | 4.0 | [require-abort-signal](./docs/rules/require-abort-signal.md) | | | | ๐ก | |
|
|
109
|
-
| [no-dynamic-system-prompt](https://eslint.interlace.tools/docs/vercel-ai-security/rules/no-dynamic-system-prompt) | CWE-74 | | 8.0 | [no-dynamic-system-prompt](./docs/rules/no-dynamic-system-prompt.md) | ๐ผ | | | | |
|
|
110
|
-
| [require-tool-schema](https://eslint.interlace.tools/docs/vercel-ai-security/rules/require-tool-schema) | CWE-20 | | 7.5 | [require-tool-schema](./docs/rules/require-tool-schema.md) | ๐ผ | โ ๏ธ | | | |
|
|
111
|
-
| [no-hardcoded-api-keys](https://eslint.interlace.tools/docs/vercel-ai-security/rules/no-hardcoded-api-keys) | CWE-798 | | 8.5 | [no-hardcoded-api-keys](./docs/rules/no-hardcoded-api-keys.md) | ๐ผ | | | | |
|
|
112
|
-
| [require-output-filtering](https://eslint.interlace.tools/docs/vercel-ai-security/rules/require-output-filtering) | CWE-200 | | 6.5 | [require-output-filtering](./docs/rules/require-output-filtering.md) | ๐ผ | โ ๏ธ | | | |
|
|
113
|
-
| [require-rag-content-validation](https://eslint.interlace.tools/docs/vercel-ai-security/rules/require-rag-content-validation) | CWE-74 | | 6.0 | [require-rag-content-validation](./docs/rules/require-rag-content-validation.md) | ๐ผ | โ ๏ธ | | | |
|
|
114
|
-
| [require-error-handling](https://eslint.interlace.tools/docs/vercel-ai-security/rules/require-error-handling) | CWE-755 | | 5.0 | [require-error-handling](./docs/rules/require-error-handling.md) | | | | ๐ก | |
|
|
115
|
-
| [require-audit-logging](https://eslint.interlace.tools/docs/vercel-ai-security/rules/require-audit-logging) | CWE-778 | | 4.0 | [require-audit-logging](./docs/rules/require-audit-logging.md) | | | | ๐ก | |
|
|
116
|
-
|
|
117
|
-
---
|
|
118
|
-
|
|
119
80
|
## ๐ฆ Compatibility
|
|
120
|
-
|
|
121
81
|
| Package | Version |
|
|
122
82
|
| -------------------- | --------------------------------------------------------------------------------------------------------- |
|
|
123
83
|
| `ai` (Vercel AI SDK) | [](https://www.npmjs.com/package/ai) |
|
|
@@ -127,7 +87,6 @@ By providing this structured context (CWE, OWASP, Fix), we enable AI tools to **
|
|
|
127
87
|
---
|
|
128
88
|
|
|
129
89
|
## ๐ FAQ
|
|
130
|
-
|
|
131
90
|
### What's the difference between this and generic AI security linters?
|
|
132
91
|
|
|
133
92
|
Generic linters guess at patterns. This plugin knows the **exact** Vercel AI SDK API.
|
|
@@ -148,36 +107,66 @@ await generateText({ prompt: internalPrompt });
|
|
|
148
107
|
TypeScript/JavaScript are memory-safe languages. Memory corruption vulnerabilities (buffer overflows, use-after-free, etc.) are not possible in these environments.
|
|
149
108
|
|
|
150
109
|
## ๐ Supported Libraries
|
|
151
|
-
|
|
152
110
|
| Library | npm | Downloads | Detection |
|
|
153
111
|
| -------------------- | ------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | ------------------------------ |
|
|
154
112
|
| `ai` (Vercel AI SDK) | [](https://www.npmjs.com/package/ai) | [](https://www.npmjs.com/package/ai) | Prompt Injection, Data Leakage |
|
|
155
113
|
|
|
114
|
+
## Rules
|
|
115
|
+
|
|
116
|
+
**Legend**
|
|
117
|
+
|
|
118
|
+
| Icon | Description |
|
|
119
|
+
| :---: | :--- |
|
|
120
|
+
| ๐ผ | **Recommended**: Included in the recommended preset. |
|
|
121
|
+
| โ ๏ธ | **Warns**: Set towarn in recommended preset. |
|
|
122
|
+
| ๐ง | **Auto-fixable**: Automatically fixable by the `--fix` CLI option. |
|
|
123
|
+
| ๐ก | **Suggestions**: Providing code suggestions in IDE. |
|
|
124
|
+
| ๐ซ | **Deprecated**: This rule is deprecated. |
|
|
125
|
+
|
|
126
|
+
| Rule | CWE | OWASP | CVSS | Description | ๐ผ | โ ๏ธ | ๐ง | ๐ก | ๐ซ |
|
|
127
|
+
| :--- | :---: | :---: | :---: | :--- | :---: | :---: | :---: | :---: | :---: |
|
|
128
|
+
| [no-dynamic-system-prompt](https://eslint.interlace.tools/docs/security/plugin-vercel-ai-security/rules/no-dynamic-system-prompt) | CWE-74 | | 8.0 | ESLint rule documentation for no-dynamic-system-prompt | ๐ผ | | | | |
|
|
129
|
+
| [no-hardcoded-api-keys](https://eslint.interlace.tools/docs/security/plugin-vercel-ai-security/rules/no-hardcoded-api-keys) | CWE-798 | | 8.5 | ESLint rule documentation for no-hardcoded-api-keys | ๐ผ | | | | |
|
|
130
|
+
| [no-sensitive-in-prompt](https://eslint.interlace.tools/docs/security/plugin-vercel-ai-security/rules/no-sensitive-in-prompt) | CWE-200 | | 8.0 | ESLint rule documentation for no-sensitive-in-prompt | ๐ผ | | | | |
|
|
131
|
+
| [no-system-prompt-leak](https://eslint.interlace.tools/docs/security/plugin-vercel-ai-security/rules/no-system-prompt-leak) | CWE-200 | | 7.5 | ESLint rule documentation for no-system-prompt-leak | ๐ผ | | | | |
|
|
132
|
+
| [no-training-data-exposure](https://eslint.interlace.tools/docs/security/plugin-vercel-ai-security/rules/no-training-data-exposure) | CWE-359 | | 7.0 | ESLint rule documentation for no-training-data-exposure | ๐ผ | โ ๏ธ | | | |
|
|
133
|
+
| [no-unsafe-output-handling](https://eslint.interlace.tools/docs/security/plugin-vercel-ai-security/rules/no-unsafe-output-handling) | CWE-94 | | 9.8 | ESLint rule documentation for no-unsafe-output-handling | ๐ผ | | | | |
|
|
134
|
+
| [require-abort-signal](https://eslint.interlace.tools/docs/security/plugin-vercel-ai-security/rules/require-abort-signal) | CWE-404 | | 4.0 | ESLint rule documentation for require-abort-signal | | | | ๐ก | |
|
|
135
|
+
| [require-audit-logging](https://eslint.interlace.tools/docs/security/plugin-vercel-ai-security/rules/require-audit-logging) | CWE-778 | | 4.0 | ESLint rule documentation for require-audit-logging | | | | ๐ก | |
|
|
136
|
+
| [require-embedding-validation](https://eslint.interlace.tools/docs/security/plugin-vercel-ai-security/rules/require-embedding-validation) | CWE-20 | | 5.5 | ESLint rule documentation for require-embedding-validation | | | | ๐ก | |
|
|
137
|
+
| [require-error-handling](https://eslint.interlace.tools/docs/security/plugin-vercel-ai-security/rules/require-error-handling) | CWE-755 | | 5.0 | ESLint rule documentation for require-error-handling | | | | ๐ก | |
|
|
138
|
+
| [require-max-steps](https://eslint.interlace.tools/docs/security/plugin-vercel-ai-security/rules/require-max-steps) | CWE-834 | | 6.5 | ESLint rule documentation for require-max-steps | ๐ผ | โ ๏ธ | | | |
|
|
139
|
+
| [require-max-tokens](https://eslint.interlace.tools/docs/security/plugin-vercel-ai-security/rules/require-max-tokens) | CWE-770 | | 6.5 | ESLint rule documentation for require-max-tokens | ๐ผ | โ ๏ธ | | | |
|
|
140
|
+
| [require-output-filtering](https://eslint.interlace.tools/docs/security/plugin-vercel-ai-security/rules/require-output-filtering) | CWE-200 | | 6.5 | ESLint rule documentation for require-output-filtering | ๐ผ | โ ๏ธ | | | |
|
|
141
|
+
| [require-output-validation](https://eslint.interlace.tools/docs/security/plugin-vercel-ai-security/rules/require-output-validation) | CWE-707 | | 5.0 | ESLint rule documentation for require-output-validation | | | | ๐ก | |
|
|
142
|
+
| [require-rag-content-validation](https://eslint.interlace.tools/docs/security/plugin-vercel-ai-security/rules/require-rag-content-validation) | CWE-74 | | 6.0 | ESLint rule documentation for require-rag-content-validation | ๐ผ | โ ๏ธ | | | |
|
|
143
|
+
| [require-request-timeout](https://eslint.interlace.tools/docs/security/plugin-vercel-ai-security/rules/require-request-timeout) | CWE-400 | | 5.0 | ESLint rule documentation for require-request-timeout | ๐ผ | โ ๏ธ | | | |
|
|
144
|
+
| [require-tool-confirmation](https://eslint.interlace.tools/docs/security/plugin-vercel-ai-security/rules/require-tool-confirmation) | CWE-862 | | 7.0 | ESLint rule documentation for require-tool-confirmation | ๐ผ | | | | |
|
|
145
|
+
| [require-tool-schema](https://eslint.interlace.tools/docs/security/plugin-vercel-ai-security/rules/require-tool-schema) | CWE-20 | | 7.5 | ESLint rule documentation for require-tool-schema | ๐ผ | โ ๏ธ | | | |
|
|
146
|
+
| [require-validated-prompt](https://eslint.interlace.tools/docs/security/plugin-vercel-ai-security/rules/require-validated-prompt) | CWE-74 | | 9.0 | ESLint rule documentation for require-validated-prompt | ๐ผ | | | | |
|
|
147
|
+
|
|
156
148
|
## ๐ Related ESLint Plugins
|
|
157
149
|
|
|
158
150
|
Part of the **Interlace ESLint Ecosystem** โ AI-native security plugins with LLM-optimized error messages:
|
|
159
151
|
|
|
160
|
-
| Plugin
|
|
161
|
-
|
|
|
162
|
-
| [`eslint-plugin-secure-coding`](https://www.npmjs.com/package/eslint-plugin-secure-coding)
|
|
163
|
-
| [`eslint-plugin-pg`](https://www.npmjs.com/package/eslint-plugin-pg)
|
|
164
|
-
| [`eslint-plugin-crypto`](https://www.npmjs.com/package/eslint-plugin-crypto)
|
|
165
|
-
| [`eslint-plugin-jwt`](https://www.npmjs.com/package/eslint-plugin-jwt)
|
|
166
|
-
| [`eslint-plugin-browser-security`](https://www.npmjs.com/package/eslint-plugin-browser-security)
|
|
167
|
-
| [`eslint-plugin-
|
|
168
|
-
| [`eslint-plugin-
|
|
169
|
-
| [`eslint-plugin-
|
|
170
|
-
| [`eslint-plugin-
|
|
171
|
-
| [`eslint-plugin-
|
|
152
|
+
| Plugin | Downloads | Description |
|
|
153
|
+
| :--- | :---: | :--- |
|
|
154
|
+
| [`eslint-plugin-secure-coding`](https://www.npmjs.com/package/eslint-plugin-secure-coding) | [](https://www.npmjs.com/package/eslint-plugin-secure-coding) | General security rules & OWASP guidelines. |
|
|
155
|
+
| [`eslint-plugin-pg`](https://www.npmjs.com/package/eslint-plugin-pg) | [](https://www.npmjs.com/package/eslint-plugin-pg) | PostgreSQL security & best practices. |
|
|
156
|
+
| [`eslint-plugin-crypto`](https://www.npmjs.com/package/eslint-plugin-crypto) | [](https://www.npmjs.com/package/eslint-plugin-crypto) | NodeJS Cryptography security rules. |
|
|
157
|
+
| [`eslint-plugin-jwt`](https://www.npmjs.com/package/eslint-plugin-jwt) | [](https://www.npmjs.com/package/eslint-plugin-jwt) | JWT security & best practices. |
|
|
158
|
+
| [`eslint-plugin-browser-security`](https://www.npmjs.com/package/eslint-plugin-browser-security) | [](https://www.npmjs.com/package/eslint-plugin-browser-security) | Browser-specific security & XSS prevention. |
|
|
159
|
+
| [`eslint-plugin-express-security`](https://www.npmjs.com/package/eslint-plugin-express-security) | [](https://www.npmjs.com/package/eslint-plugin-express-security) | Express.js security hardening rules. |
|
|
160
|
+
| [`eslint-plugin-lambda-security`](https://www.npmjs.com/package/eslint-plugin-lambda-security) | [](https://www.npmjs.com/package/eslint-plugin-lambda-security) | AWS Lambda security best practices. |
|
|
161
|
+
| [`eslint-plugin-nestjs-security`](https://www.npmjs.com/package/eslint-plugin-nestjs-security) | [](https://www.npmjs.com/package/eslint-plugin-nestjs-security) | NestJS security rules & patterns. |
|
|
162
|
+
| [`eslint-plugin-mongodb-security`](https://www.npmjs.com/package/eslint-plugin-mongodb-security) | [](https://www.npmjs.com/package/eslint-plugin-mongodb-security) | MongoDB security best practices. |
|
|
163
|
+
| [`eslint-plugin-vercel-ai-security`](https://www.npmjs.com/package/eslint-plugin-vercel-ai-security) | [](https://www.npmjs.com/package/eslint-plugin-vercel-ai-security) | Vercel AI SDK security hardening. |
|
|
164
|
+
| [`eslint-plugin-import-next`](https://www.npmjs.com/package/eslint-plugin-import-next) | [](https://www.npmjs.com/package/eslint-plugin-import-next) | Next-gen import sorting & architecture. |
|
|
172
165
|
|
|
173
166
|
## ๐ License
|
|
174
167
|
|
|
175
168
|
MIT ยฉ [Ofri Peretz](https://github.com/ofri-peretz)
|
|
176
169
|
|
|
177
170
|
<p align="center">
|
|
178
|
-
<a href="https://eslint.interlace.tools/docs/vercel-ai-security"><img src="https://eslint.interlace.tools/images/og-ai-security.png" alt="ESLint Interlace Plugin" width="
|
|
179
|
-
</p>
|
|
180
|
-
|
|
181
|
-
<p align="center">
|
|
182
|
-
<a href="https://eslint.interlace.tools/docs/vercel-ai-security"><img src="https://eslint.interlace.tools/images/og-vercel-ai-security.png" alt="ESLint Interlace Plugin" width="300" /></a>
|
|
183
|
-
</p>
|
|
171
|
+
<a href="https://eslint.interlace.tools/docs/security/plugin-vercel-ai-security"><img src="https://eslint.interlace.tools/images/og-vercel-ai-security.png" alt="ESLint Interlace Plugin" width="100%" /></a>
|
|
172
|
+
</p>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "eslint-plugin-vercel-ai-security",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.2",
|
|
4
4
|
"description": "Security-focused ESLint plugin for Vercel AI SDK. SDK-aware rules for generateText, streamText, tools, and streaming patterns with full type knowledge.",
|
|
5
5
|
"type": "commonjs",
|
|
6
6
|
"main": "./src/index.js",
|
|
@@ -17,10 +17,10 @@
|
|
|
17
17
|
},
|
|
18
18
|
"author": "Ofri Peretz <ofriperetzdev@gmail.com>",
|
|
19
19
|
"license": "MIT",
|
|
20
|
-
"homepage": "https://github.com/ofri-peretz/eslint/
|
|
20
|
+
"homepage": "https://github.com/ofri-peretz/eslint/tree/main/packages/eslint-plugin-vercel-ai-security#readme",
|
|
21
21
|
"repository": {
|
|
22
22
|
"type": "git",
|
|
23
|
-
"url": "
|
|
23
|
+
"url": "https://github.com/ofri-peretz/eslint",
|
|
24
24
|
"directory": "packages/eslint-plugin-vercel-ai-security"
|
|
25
25
|
},
|
|
26
26
|
"bugs": {
|