@stoplight/spectral-owasp-ruleset
Advanced tools
Changelog
[2.0.0] - 2024-01-23
owasp:api2:2023-short-lived-access-tokens
to error on OAuth 2.x flows which do not use a refresh token.owasp:api3:2023-no-unevaluatedProperties
(format oas3_1
only.)owasp:api3:2023-constrained-unevaluatedProperties
(format oas3_1
only.)owasp:api5:2023-admin-security-unique
.owasp:api7:2023-concerning-url-parameter
to keep an eye out for URLs being passed as parameters and warn about server-side request forgery.owasp:api8:2023-no-server-http
which supports servers
having a url
which is a relative path.owasp:api9:2023-inventory-access
to indicate intended audience of every server.owasp:api9:2023-inventory-environment
to declare intended environment for every server.owasp:api2:2023-protection-global-unsafe
as it allowed for unprotected POST, PATCH, PUT, DELETE and that's always going to be an issue. Use the new owasp:api2:2023-write-restricted
rule which does not allow these operations to ever disable security, or use Spectral overrides if you have an edge case.owasp:api2:2019-protection-global-unsafe-strict
to owasp:api2:2023-write-restricted
.owasp:api2:2019-protection-global-safe
to owasp:api2:2023-read-restricted
and increased severity from info
to warn
.owasp:api2:2019-auth-insecure-schemes
to owasp:api2:2023-auth-insecure-schemes
.owasp:api2:2019-jwt-best-practices
to owasp:api2:2023-jwt-best-practices
.owasp:api2:2019-no-api-keys-in-url
to owasp:api2:2023-no-api-keys-in-url
.owasp:api2:2019-no-credentials-in-url
to owasp:api2:2023-no-credentials-in-url
.owasp:api2:2019-no-http-basic
to owasp:api2:2023-no-http-basic
.owasp:api3:2019-define-error-validation
to owasp:api8:2023-define-error-validation
.owasp:api3:2019-define-error-responses-401
to owasp:api8:2023-define-error-responses-401
.owasp:api3:2019-define-error-responses-500
to owasp:api8:2023-define-error-responses-500
.owasp:api4:2019-rate-limit
to owasp:api4:2023-rate-limit
and added support for the singular RateLimit
header in draft-ietf-httpapi-ratelimit-headers-07.owasp:api4:2019-rate-limit-retry-after
to owasp:api4:2023-rate-limit-retry-after
.owasp:api4:2019-rate-limit-responses-429
to owasp:api4:2023-rate-limit-responses-429
.owasp:api4:2019-array-limit
to owasp:api4:2023-array-limit
.owasp:api4:2019-string-limit
to owasp:api4:2023-string-limit
.owasp:api4:2019-string-restricted
to owasp:api4:2023-string-restricted
and downgraded from error
to warn
.owasp:api4:2019-integer-limit
to owasp:api4:2023-integer-limit
.owasp:api4:2019-integer-limit-legacy
to owasp:api4:2023-integer-limit-legacy
.owasp:api4:2019-integer-format
to owasp:api4:2023-integer-format
.owasp:api6:2019-no-additionalProperties
to owasp:api3:2023-no-additionalProperties
and restricted rule to only run the oas3_0
format.owasp:api6:2019-constrained-additionalProperties
to owasp:api3:2023-constrained-additionalProperties
and restricted rule to only run the oas3_0
format.owasp:api7:2023-security-hosts-https-oas2
to owasp:api8:2023-no-scheme-http
.owasp:api7:2023-security-hosts-https-oas3
to owasp:api8:2023-no-server-http
.owasp:api2:2023-protection-global-unsafe
as it allowed for unprotected POST, PATCH, PUT, DELETE and that's always going to be an issue. Use the new owasp:api2:2023-write-restricted
rule which does not allow these operations to ever disable security, or use Spectral overrides if you have an edge case.