All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Added
owasp:api2:2023-short-lived-access-tokens
to error on OAuth 2.x flows which do not use a refresh token. - Added
owasp:api3:2023-no-unevaluatedProperties
(formatoas3_1
only.) - Added
owasp:api3:2023-constrained-unevaluatedProperties
(formatoas3_1
only.) - Added
owasp:api5:2023-admin-security-unique
. - Added
owasp:api7:2023-concerning-url-parameter
to keep an eye out for URLs being passed as parameters and warn about server-side request forgery. - Added
owasp:api8:2023-no-server-http
which supportsservers
having aurl
which is a relative path. - Added
owasp:api9:2023-inventory-access
to indicate intended audience of every server. - Added
owasp:api9:2023-inventory-environment
to declare intended environment for every server.
- Deleted
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 newowasp: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. - Renamed
owasp:api2:2019-protection-global-unsafe-strict
toowasp:api2:2023-write-restricted
. - Renamed
owasp:api2:2019-protection-global-safe
toowasp:api2:2023-read-restricted
and increased severity frominfo
towarn
. - Renamed
owasp:api2:2019-auth-insecure-schemes
toowasp:api2:2023-auth-insecure-schemes
. - Renamed
owasp:api2:2019-jwt-best-practices
toowasp:api2:2023-jwt-best-practices
. - Renamed
owasp:api2:2019-no-api-keys-in-url
toowasp:api2:2023-no-api-keys-in-url
. - Renamed
owasp:api2:2019-no-credentials-in-url
toowasp:api2:2023-no-credentials-in-url
. - Renamed
owasp:api2:2019-no-http-basic
toowasp:api2:2023-no-http-basic
. - Renamed
owasp:api3:2019-define-error-validation
toowasp:api8:2023-define-error-validation
. - Renamed
owasp:api3:2019-define-error-responses-401
toowasp:api8:2023-define-error-responses-401
. - Renamed
owasp:api3:2019-define-error-responses-500
toowasp:api8:2023-define-error-responses-500
. - Renamed
owasp:api4:2019-rate-limit
toowasp:api4:2023-rate-limit
and added support for the singularRateLimit
header in draft-ietf-httpapi-ratelimit-headers-07. - Renamed
owasp:api4:2019-rate-limit-retry-after
toowasp:api4:2023-rate-limit-retry-after
. - Renamed
owasp:api4:2019-rate-limit-responses-429
toowasp:api4:2023-rate-limit-responses-429
. - Renamed
owasp:api4:2019-array-limit
toowasp:api4:2023-array-limit
. - Renamed
owasp:api4:2019-string-limit
toowasp:api4:2023-string-limit
. - Renamed
owasp:api4:2019-string-restricted
toowasp:api4:2023-string-restricted
and downgraded fromerror
towarn
. - Renamed
owasp:api4:2019-integer-limit
toowasp:api4:2023-integer-limit
. - Renamed
owasp:api4:2019-integer-limit-legacy
toowasp:api4:2023-integer-limit-legacy
. - Renamed
owasp:api4:2019-integer-format
toowasp:api4:2023-integer-format
. - Renamed
owasp:api6:2019-no-additionalProperties
toowasp:api3:2023-no-additionalProperties
and restricted rule to only run theoas3_0
format. - Renamed
owasp:api6:2019-constrained-additionalProperties
toowasp:api3:2023-constrained-additionalProperties
and restricted rule to only run theoas3_0
format. - Renamed
owasp:api7:2023-security-hosts-https-oas2
toowasp:api8:2023-no-scheme-http
. - Renamed
owasp:api7:2023-security-hosts-https-oas3
toowasp:api8:2023-no-server-http
.
- Deleted
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 newowasp: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.