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 CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  ```bash
8
8
  # Install dependencies (from monorepo root)
9
- pnpm install
9
+ npm install
10
10
 
11
11
  # Build this package
12
12
  nx build eslint-plugin-vercel-ai-security
package/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## [1.3.1] - 2026-02-02
2
+
3
+ This was a version bump only for eslint-plugin-vercel-ai-security to align it with other projects, there were no code changes.
4
+
1
5
  # Changelog
2
6
 
3
7
  All notable changes to `eslint-plugin-vercel-ai-security` will be documented in this file.
package/README.md CHANGED
@@ -16,7 +16,8 @@
16
16
 
17
17
  ## Description
18
18
 
19
- This plugin enforces security best practices for applications using the Vercel AI SDK, specifically targeting prompt injection and data handling vulnerabilities. It ensures that your AI integrations remain secure by validating inputs, outputs, and preventing common pitfalls associated with Large Language Models. By adopting these rules, you can confidently build AI-powered features while maintaining a robust security posture.
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) | [![npm](https://img.shields.io/npm/v/ai.svg?style=flat-square)](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) | [![npm](https://img.shields.io/npm/v/ai.svg?style=flat-square)](https://www.npmjs.com/package/ai) | [![downloads](https://img.shields.io/npm/dt/ai.svg?style=flat-square)](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 | Downloads | Description |
161
- | :--------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------ |
162
- | [`eslint-plugin-secure-coding`](https://www.npmjs.com/package/eslint-plugin-secure-coding) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-secure-coding.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-secure-coding) | General security rules & OWASP guidelines. |
163
- | [`eslint-plugin-pg`](https://www.npmjs.com/package/eslint-plugin-pg) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-pg.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-pg) | PostgreSQL security & best practices. |
164
- | [`eslint-plugin-crypto`](https://www.npmjs.com/package/eslint-plugin-crypto) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-crypto.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-crypto) | NodeJS Cryptography security rules. |
165
- | [`eslint-plugin-jwt`](https://www.npmjs.com/package/eslint-plugin-jwt) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-jwt.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-jwt) | JWT security & best practices. |
166
- | [`eslint-plugin-browser-security`](https://www.npmjs.com/package/eslint-plugin-browser-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-browser-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-browser-security) | Browser-specific security & XSS prevention. |
167
- | [`eslint-plugin-vercel-ai-security`](https://www.npmjs.com/package/eslint-plugin-vercel-ai-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-vercel-ai-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-vercel-ai-security) | Vercel AI SDK security rules. |
168
- | [`eslint-plugin-express-security`](https://www.npmjs.com/package/eslint-plugin-express-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-express-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-express-security) | Express.js security hardening rules. |
169
- | [`eslint-plugin-lambda-security`](https://www.npmjs.com/package/eslint-plugin-lambda-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-lambda-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-lambda-security) | AWS Lambda security best practices. |
170
- | [`eslint-plugin-nestjs-security`](https://www.npmjs.com/package/eslint-plugin-nestjs-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-nestjs-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-nestjs-security) | NestJS security rules & patterns. |
171
- | [`eslint-plugin-import-next`](https://www.npmjs.com/package/eslint-plugin-import-next) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-import-next.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-import-next) | Next-gen import sorting & architecture. |
152
+ | Plugin | Downloads | Description |
153
+ | :--- | :---: | :--- |
154
+ | [`eslint-plugin-secure-coding`](https://www.npmjs.com/package/eslint-plugin-secure-coding) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-secure-coding.svg?style=flat-square)](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) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-pg.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-pg) | PostgreSQL security & best practices. |
156
+ | [`eslint-plugin-crypto`](https://www.npmjs.com/package/eslint-plugin-crypto) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-crypto.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-crypto) | NodeJS Cryptography security rules. |
157
+ | [`eslint-plugin-jwt`](https://www.npmjs.com/package/eslint-plugin-jwt) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-jwt.svg?style=flat-square)](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) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-browser-security.svg?style=flat-square)](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) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-express-security.svg?style=flat-square)](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) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-lambda-security.svg?style=flat-square)](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) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-nestjs-security.svg?style=flat-square)](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) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-mongodb-security.svg?style=flat-square)](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) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-vercel-ai-security.svg?style=flat-square)](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) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-import-next.svg?style=flat-square)](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="300" /></a>
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.0",
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/blob/main/packages/eslint-plugin-vercel-ai-security/README.md",
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": "git+https://github.com/ofri-peretz/eslint.git",
23
+ "url": "https://github.com/ofri-peretz/eslint",
24
24
  "directory": "packages/eslint-plugin-vercel-ai-security"
25
25
  },
26
26
  "bugs": {