eslint-plugin-vercel-ai-security 1.5.0 → 1.5.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.
Files changed (3) hide show
  1. package/README.md +6 -2
  2. package/package.json +2 -3
  3. package/src/index.js +21 -39
package/README.md CHANGED
@@ -1,7 +1,11 @@
1
1
  <p align="center">
2
- <a href="https://eslint.interlace.tools/?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-vercel-ai-security" target="blank"><img src="https://eslint.interlace.tools/icon-light.svg" alt="Interlace" height="90" /></a>
2
+ <a href="https://eslint.interlace.tools/?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-vercel-ai-security" target="blank"><img src="https://eslint.interlace.tools/logos/interlace.svg" alt="Interlace" height="90" /></a>
3
3
  &nbsp;&nbsp;
4
- <a href="https://eslint.org" target="_blank"><img src="https://eslint.interlace.tools/eslint-logo.svg" alt="ESLint" height="90" /></a>
4
+ <a href="https://vercel.com/docs/ai-sdk" target="_blank"><img src="https://eslint.interlace.tools/logos/vercel.svg" alt="Vercel AI SDK" height="90" /></a>
5
+ &nbsp;&nbsp;
6
+ <a href="https://oxc.rs" target="_blank"><img src="https://eslint.interlace.tools/logos/oxlint.svg" alt="oxlint" height="90" /></a>
7
+ &nbsp;&nbsp;
8
+ <a href="https://eslint.org" target="_blank"><img src="https://eslint.interlace.tools/logos/eslint.svg" alt="ESLint" height="90" /></a>
5
9
  </p>
6
10
 
7
11
  <p align="center">
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eslint-plugin-vercel-ai-security",
3
- "version": "1.5.0",
3
+ "version": "1.5.2",
4
4
  "description": "ESLint plugin for Vercel AI SDK security — detects prompt injection, system-prompt leaks, hardcoded API keys, and unvalidated model output in generateText and streamText.",
5
5
  "type": "commonjs",
6
6
  "main": "./src/index.js",
@@ -83,8 +83,7 @@
83
83
  }
84
84
  },
85
85
  "dependencies": {
86
- "tslib": "^2.3.0",
87
- "@interlace/eslint-devkit": "^1.7.0"
86
+ "@interlace/eslint-devkit": "^1.8.0"
88
87
  },
89
88
  "funding": {
90
89
  "type": "github",
package/src/index.js CHANGED
@@ -1,25 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.configs = exports.plugin = exports.rules = exports.requireAuditLogging = exports.requireErrorHandling = exports.requireRagContentValidation = exports.requireOutputFiltering = exports.noHardcodedApiKeys = exports.requireToolSchema = exports.noDynamicSystemPrompt = exports.requireAbortSignal = exports.requireMaxSteps = exports.requireMaxTokens = exports.requireOutputValidation = exports.requireEmbeddingValidation = exports.noSystemPromptLeak = exports.requireToolConfirmation = exports.noUnsafeOutputHandling = exports.requireRequestTimeout = exports.noTrainingDataExposure = exports.noSensitiveInPrompt = exports.requireValidatedPrompt = void 0;
4
- const require_validated_prompt_1 = require("./rules/require-validated-prompt");
5
- const no_sensitive_in_prompt_1 = require("./rules/no-sensitive-in-prompt");
6
- const no_training_data_exposure_1 = require("./rules/no-training-data-exposure");
7
- const require_request_timeout_1 = require("./rules/require-request-timeout");
8
- const no_unsafe_output_handling_1 = require("./rules/no-unsafe-output-handling");
9
- const require_tool_confirmation_1 = require("./rules/require-tool-confirmation");
10
- const no_system_prompt_leak_1 = require("./rules/no-system-prompt-leak");
11
- const require_embedding_validation_1 = require("./rules/require-embedding-validation");
12
- const require_output_validation_1 = require("./rules/require-output-validation");
13
- const require_max_tokens_1 = require("./rules/require-max-tokens");
14
- const require_max_steps_1 = require("./rules/require-max-steps");
15
- const require_abort_signal_1 = require("./rules/require-abort-signal");
16
- const no_dynamic_system_prompt_1 = require("./rules/no-dynamic-system-prompt");
17
- const require_tool_schema_1 = require("./rules/require-tool-schema");
18
- const no_hardcoded_api_keys_1 = require("./rules/no-hardcoded-api-keys");
19
- const require_output_filtering_1 = require("./rules/require-output-filtering");
20
- const require_rag_content_validation_1 = require("./rules/require-rag-content-validation");
21
- const require_error_handling_1 = require("./rules/require-error-handling");
22
- const require_audit_logging_1 = require("./rules/require-audit-logging");
23
4
  var require_validated_prompt_2 = require("./rules/require-validated-prompt");
24
5
  Object.defineProperty(exports, "requireValidatedPrompt", { enumerable: true, get: function () { return require_validated_prompt_2.requireValidatedPrompt; } });
25
6
  var no_sensitive_in_prompt_2 = require("./rules/no-sensitive-in-prompt");
@@ -59,30 +40,31 @@ Object.defineProperty(exports, "requireErrorHandling", { enumerable: true, get:
59
40
  var require_audit_logging_2 = require("./rules/require-audit-logging");
60
41
  Object.defineProperty(exports, "requireAuditLogging", { enumerable: true, get: function () { return require_audit_logging_2.requireAuditLogging; } });
61
42
  exports.rules = {
62
- 'require-validated-prompt': require_validated_prompt_1.requireValidatedPrompt,
63
- 'no-sensitive-in-prompt': no_sensitive_in_prompt_1.noSensitiveInPrompt,
64
- 'no-training-data-exposure': no_training_data_exposure_1.noTrainingDataExposure,
65
- 'require-request-timeout': require_request_timeout_1.requireRequestTimeout,
66
- 'no-unsafe-output-handling': no_unsafe_output_handling_1.noUnsafeOutputHandling,
67
- 'require-tool-confirmation': require_tool_confirmation_1.requireToolConfirmation,
68
- 'no-system-prompt-leak': no_system_prompt_leak_1.noSystemPromptLeak,
69
- 'require-embedding-validation': require_embedding_validation_1.requireEmbeddingValidation,
70
- 'require-output-validation': require_output_validation_1.requireOutputValidation,
71
- 'require-max-tokens': require_max_tokens_1.requireMaxTokens,
72
- 'require-max-steps': require_max_steps_1.requireMaxSteps,
73
- 'require-abort-signal': require_abort_signal_1.requireAbortSignal,
74
- 'no-dynamic-system-prompt': no_dynamic_system_prompt_1.noDynamicSystemPrompt,
75
- 'require-tool-schema': require_tool_schema_1.requireToolSchema,
76
- 'no-hardcoded-api-keys': no_hardcoded_api_keys_1.noHardcodedApiKeys,
77
- 'require-output-filtering': require_output_filtering_1.requireOutputFiltering,
78
- 'require-rag-content-validation': require_rag_content_validation_1.requireRagContentValidation,
79
- 'require-error-handling': require_error_handling_1.requireErrorHandling,
80
- 'require-audit-logging': require_audit_logging_1.requireAuditLogging,
43
+ get 'require-validated-prompt'() { return require("./rules/require-validated-prompt").requireValidatedPrompt; },
44
+ get 'no-sensitive-in-prompt'() { return require("./rules/no-sensitive-in-prompt").noSensitiveInPrompt; },
45
+ get 'no-training-data-exposure'() { return require("./rules/no-training-data-exposure").noTrainingDataExposure; },
46
+ get 'require-request-timeout'() { return require("./rules/require-request-timeout").requireRequestTimeout; },
47
+ get 'no-unsafe-output-handling'() { return require("./rules/no-unsafe-output-handling").noUnsafeOutputHandling; },
48
+ get 'require-tool-confirmation'() { return require("./rules/require-tool-confirmation").requireToolConfirmation; },
49
+ get 'no-system-prompt-leak'() { return require("./rules/no-system-prompt-leak").noSystemPromptLeak; },
50
+ get 'require-embedding-validation'() { return require("./rules/require-embedding-validation").requireEmbeddingValidation; },
51
+ get 'require-output-validation'() { return require("./rules/require-output-validation").requireOutputValidation; },
52
+ get 'require-max-tokens'() { return require("./rules/require-max-tokens").requireMaxTokens; },
53
+ get 'require-max-steps'() { return require("./rules/require-max-steps").requireMaxSteps; },
54
+ get 'require-abort-signal'() { return require("./rules/require-abort-signal").requireAbortSignal; },
55
+ get 'no-dynamic-system-prompt'() { return require("./rules/no-dynamic-system-prompt").noDynamicSystemPrompt; },
56
+ get 'require-tool-schema'() { return require("./rules/require-tool-schema").requireToolSchema; },
57
+ get 'no-hardcoded-api-keys'() { return require("./rules/no-hardcoded-api-keys").noHardcodedApiKeys; },
58
+ get 'require-output-filtering'() { return require("./rules/require-output-filtering").requireOutputFiltering; },
59
+ get 'require-rag-content-validation'() { return require("./rules/require-rag-content-validation").requireRagContentValidation; },
60
+ get 'require-error-handling'() { return require("./rules/require-error-handling").requireErrorHandling; },
61
+ get 'require-audit-logging'() { return require("./rules/require-audit-logging").requireAuditLogging; },
62
+
81
63
  };
82
64
  exports.plugin = {
83
65
  meta: {
84
66
  name: 'eslint-plugin-vercel-ai-security',
85
- version: '1.5.0',
67
+ version: '1.5.2',
86
68
  },
87
69
  rules: exports.rules,
88
70
  };