Installations
npm install next-secure-headers
Score
99.3
Supply Chain
100
Quality
75.4
Maintenance
100
Vulnerability
100
License
Releases
v2.2.0 - Support navigation directives for CSP
Published on 25 Feb 2021
v2.1.0 - Support chain-case styles in CSP directives
Published on 26 Dec 2020
v2.0.0 - Support static pages
Published on 08 Aug 2020
v1.0.1
Published on 13 Dec 2019
v1.0.0 - Initial public release
Published on 04 Dec 2019
Developer
jagaapple
Developer Guide
Module System
CommonJS
Min. Node Version
>=10.0.0
Typescript Support
No
Node Version
12.20.0
NPM Version
7.0.15
Statistics
316 Stars
139 Commits
13 Forks
6 Watching
3 Branches
3 Contributors
Updated on 21 Nov 2024
Languages
TypeScript (91.94%)
JavaScript (8.06%)
Total Downloads
Cumulative downloads
Total Downloads
5,817,597
Last day
-10.6%
8,229
Compared to previous day
Last week
2.2%
47,052
Compared to previous week
Last month
16.2%
182,188
Compared to previous month
Last year
-9.5%
1,785,490
Compared to previous year
Daily Downloads
Weekly Downloads
Monthly Downloads
Yearly Downloads
next-secure-headers
⛑️ Sets secure response headers for Next.js. 🌻
1// /next.config.js 2 3module.exports = { 4 async headers() { 5 return [{ 6 source: "/(.*)", 7 headers: createSecureHeaders({ 8 contentSecurityPolicy: { 9 directives: { 10 defaultSrc: "'self'", 11 styleSrc: ["'self'", "https://stackpath.bootstrapcdn.com"], 12 }, 13 }, 14 forceHTTPSRedirect: [true, { maxAge: 60 * 60 * 24 * 4, includeSubDomains: true }], 15 referrerPolicy: "same-origin", 16 }) 17 }]; 18 }, 19};
Table of Contents
- Table of Contents
- Features
- Quick Start
- Rules
- API
- Recipes
- Contributing to next-secure-headers
- License
Features
FEATURES | WHAT YOU CAN DO |
---|---|
⚛️ Designed for Next.js | Use for next.config.js or page components in /pages |
✨ Default applied rules | Help your project even if you don't have knowledge |
🎩 Type Safe | You can use with TypeScript |
Why use next-secure-headers instead of Helmet?
next-secure-headers is a similar to Helmet, which sets HTTP response headers related to security for Express.js.
Next.js supports to be used in Node.js frameworks such as Express.js. So you can use Helmet with your Next.js project if you create a custom server, but the Next.js development team does not recommend a custom server. Also, they are working to implement in order to be possible to use Next.js without a custom server. In fact, Next.js 9 supports Dynamic Routing, so we don't need to build a custom server in order to implement it using such as next-routes, which requires a custom server.
1// /next.config.js 2const { createSecureHeaders } = require("next-secure-headers"); 3 4module.exports = { 5 async headers() { 6 return [{ source: "/(.*)", headers: createSecureHeaders() }]; 7 }, 8};
If you want to use Helmet, it requires to use a custom server against a recommended way. To solve this problem, next-secure-headers
was born. next-secure-headers is built for Next.js project so that you can specify any headers in next.config.js
or page
components.
next-secure-headers vs Helmet
The following are rules next-secure-headers has and Helmet has. next-secure-headers is inspired by Helmet, but it doesn't have some rules for some reason.
next-secure-headers | Helmet | Comment | |
---|---|---|---|
Strict-Transport-Security | forceHTTPSRedirect | hsts | |
X-Frame-Options | frameGuard | frameguard | |
X-Download-Options | noopen | ieNoOpen | |
X-Content-Type-Options | nosniff | noSniff | |
X-XSS-Protection | xssProtection | xssFilter | |
Content-Security-Policy | contentSecurityPolicy | contentSecurityPolicy | |
Expect-CT | expectCT | expectCt | |
Referrer-Policy | referrerPolicy | referrerPolicy | |
X-DNS-Prefetch-Control | - | dnsPrefetchControl | This has privacy implications but this improves performance. |
Feature-Policy | - | featurePolicy | Feature Policy improves security but it is working draft yet. |
X-Powered-By | - | hidePoweredBy | Next.js supports to remove this header in next.config.js . |
Related to cache | - | nocache | As Helmet said, caching has lots of benefits. |
X-Permitted-Cross-Domain-Policies | - | crossdomain | Adobe Flash is one of old web technologies. |
Quick Start
Requirements
- npm or Yarn
- Node.js 10.0.0 or higher
- Next.js 8.0.0 or higher
Installation
1$ npm install -D next-secure-headers
If you are using Yarn, use the following command.
1$ yarn add -D next-secure-headers
❗️ For
withSecureHeaders
. If you want to usewithSecureHeaders
, you have to install without-D
option (i.e., installing asdependencies
notdevDependencies
).
Setup
There are two ways to specify headers.
One is to use createSecureHeaders
in next.config.js
, and another is to use withSecureHeaders
in page components.
Use createSecureHeaders
in next.config.js
(RECOMMENDED)
❗️ Next.js 9.5 or higher is required.
headers
function has been supported since Next.js 9.5, so you have to use Next.js 9.5 or higher if you want to use this way.
🤔 For Next.js 10 and I18n routes. If your project uses Next.js 10 and built-in I18n routes, and you want to apply rules for all pages, you have to specify
"/:path*"
tosource
property instead of"/(.*)"
. Conversely, if your project doesn't use I18n routes even if using Next.js 10, you have to specify"/(.*)"
instead. These limitations are maybe bugs in Next.js .
This way uses createSecureHeaders
function and a built-in header configuration way by Next.js.
This is not required any servers, can be used in static pages, and can retain Automatic Static Optimization.
If your project does not use any servers (using static pages or SSG) or you have just created a Next.js project, I recommend retaining static pages and adopting this way.
Import createSecureHeaders
from next-secure-headers and use it in headers
async function in next.config.js
.
1// /next.config.js 2const { createSecureHeaders } = require("next-secure-headers"); 3 4module.exports = { 5 async headers() { 6 return [{ source: "/(.*)", headers: createSecureHeaders() }]; 7 }, 8};
By default, next-secure-headers applies some rules. If you want to enable or disable rules, you can give options to the first argument of the function.
1module.exports = { 2 async headers() { 3 return [{ 4 source: "/(.*)", 5 headers: createSecureHeaders({ 6 contentSecurityPolicy: { 7 directives: { 8 defaultSrc: "'self'", 9 styleSrc: ["'self'", "https://stackpath.bootstrapcdn.com"], 10 }, 11 }, 12 forceHTTPSRedirect: [true, { maxAge: 60 * 60 * 24 * 4, includeSubDomains: true }], 13 referrerPolicy: "same-origin", 14 }), 15 }]; 16 }, 17};
Also, you can configure different headers by URLs following the official documents.
Use withSecureHeaders
in page components
❗️ Servers are required. This way requires any servers because
withSecureHeaders
usesgetServerSideProps
of Next.js.
Use an exported function for your Next.js application in /pages/_app.tsx
. Also, you can use in any page components in
/pages/xxx.tsx
instead.
1// /pages/_app.tsx 2import { withSecureHeaders } from "next-secure-headers"; 3 4class Application extends App { 5 ... 6} 7 8export default withSecureHeaders()(Application);
By default, next-secure-headers applies some rules. If you want to enable or disable rules, you can give options to the first argument of the function.
1export default withSecureHeaders({ 2 contentSecurityPolicy: { 3 directives: { 4 defaultSrc: "'self'", 5 styleSrc: ["'self'", "https://stackpath.bootstrapcdn.com"], 6 }, 7 }, 8 forceHTTPSRedirect: [true, { maxAge: 60 * 60 * 24 * 4, includeSubDomains: true }], 9 referrerPolicy: "same-origin", 10})(Application);
Rules
forceHTTPSRedirect
1{ 2 forceHTTPSRedirect: boolean | [true, Partial<{ maxAge: number; includeSubDomains: boolean; preload: boolean }>]; 3}
Default Value | MDN |
---|---|
[true, { maxAge: 63072000 }] | https://developer.mozilla.org/docs/Web/HTTP/Headers/Strict-Transport-Security |
This is to set "Strict-Transport-Security (HSTS)" header and it's to prevent man-in-the-middle attacks during redirects from HTTP to HTTPS. To enable this is highly recommended if you use HTTPS (SSL) on your servers.
You can give true
if you want to enable this rule, or you can specify options by giving [true, OPTION_OBJECT]
. By default,
this sets max-age
to two years (63,072,000 seconds).
frameGuard
1{ 2 frameGuard: false | "deny" | "sameorigin" | ["allow-from", { uri: string | URL }]; 3}
Default Value | MDN |
---|---|
"deny" | https://developer.mozilla.org/docs/Web/HTTP/Headers/X-Frame-Options |
This is to set "X-Frame-Options" header and it's to prevent clickjacking attacks. "deny"
is highly recommended if you don't
use frame elements such as iframe
.
noopen
1{ 2 noopen: false | "noopen"; 3}
Default Value | MDN |
---|---|
"noopen" | https://developer.mozilla.org/docs/Web/HTTP/Headers/X-Download-Options |
This is to set "X-Download-Options" header and it's to prevent to open downloaded files automatically for IE8+ (MIME Handling attacks).
nosniff
1{ 2 nosniff: false | "nosniff"; 3}
Default Value | MDN |
---|---|
"nosniff" | https://developer.mozilla.org/docs/Web/HTTP/Headers/X-Content-Type-Options |
This is to set "X-Content-Type-Options" header and it's to prevent MIME Sniffing attacks.
xssProtection
1{ 2 xssProtection: false | "sanitize" | "block-rendering" | ["report", { uri: string | URL }]; 3}
Default Value | MDN |
---|---|
"sanitize" | https://developer.mozilla.org/docs/Web/HTTP/Headers/X-XSS-Protection |
This is to set "X-XSS-Protection" header and it's to prevent XSS attacks.
If you specify "sanitize"
, this sets the header to "1"
and browsers will sanitize unsafe area. If you specify
"block-rendering"
, this sets the header to "1; mode=block"
and browsers will block rendering a page. "X-XSS-Protection"
blocks many XSS attacks, but Content Security Policy is recommended to use compared to this.
contentSecurityPolicy
1{ 2 contentSecurityPolicy: 3 | false 4 | { 5 directives: 6 & Partial<{ 7 childSrc: string | string[]; 8 connectSrc: string | string[]; 9 defaultSrc: string | string[]; 10 fontSrc: string | string[]; 11 frameSrc: string | string[]; 12 imgSrc: string | string[]; 13 manifestSrc: string | string[]; 14 mediaSrc: string | string[]; 15 prefetchSrc: string | string[]; 16 objectSrc: string | string[]; 17 scriptSrc: string | string[]; 18 scriptSrcElem: string | string[]; 19 scriptSrcAttr: string | string[]; 20 styleSrc: string | string[]; 21 styleSrcElem: string | string[]; 22 styleSrcAttr: string | string[]; 23 workerSrc: string | string[]; 24 }> 25 & Partial<{ 26 baseURI: string | string[]; 27 pluginTypes: string | string[]; 28 sandbox: 29 | true 30 | "allow-downloads-without-user-activation" 31 | "allow-forms" 32 | "allow-modals" 33 | "allow-orientation-lock" 34 | "allow-pointer-lock" 35 | "allow-popups" 36 | "allow-popups-to-escape-sandbox" 37 | "allow-presentation" 38 | "allow-same-origin" 39 | "allow-scripts" 40 | "allow-storage-access-by-user-activation" 41 | "allow-top-navigation" 42 | "allow-top-navigation-by-user-activation"; 43 }> 44 & Partial<{ 45 formAction: string | string[]; 46 frameAncestors: string | string[]; 47 navigateTo: string | string[]; 48 reportURI: string | URL | (string | URL)[]; 49 reportTo: string; 50 }>; 51 reportOnly?: boolean; 52 }; 53}
Default Value | MDN |
---|---|
false | https://developer.mozilla.org/docs/Web/HTTP/Headers/Content-Security-Policy |
This is to set "Content-Security-Policy" or "Content-Security-Policy-Report-Only" header and it's to prevent to load and execute non-allowed resources.
If you give true to reportOnly
, this sets "Content-Security-Policy-Report-Only" to value instead of "Content-Security-Policy".
Also you can specify directives using chain-case names such as child-src
instead of childSrc
.
❗️ When setting
frameAncestors
:X-Frame-Options takes priority. Section "Relation to X-Frame-Options" of the CSP Spec says: "If a resource is delivered with a policy that includes a directive named frame-ancestors and whose disposition is "enforce", then the X-Frame-Options header MUST be ignored", but Chrome 40 & Firefox 35 ignore the frame-ancestors directive and follow the X-Frame-Options header instead.Therefore, if setting
frameAncestors
you should setframeGuard
tofalse
.
expectCT
1{ 2 expectCT: boolean | [true, Partial<{ maxAge: number; enforce: boolean; reportURI: string | URL }>]; 3}
Default Value | MDN |
---|---|
false | https://developer.mozilla.org/docs/Web/HTTP/Headers/Expect-CT |
This is to set "Expect-CT" header and it's to tell browsers to expect Certificate Transparency.
referrerPolicy
1{ 2 referrerPolicy: 3 | false 4 | "no-referrer" | "no-referrer-when-downgrade" | "origin" | "origin-when-cross-origin" | "same-origin" | "strict-origin" | "strict-origin-when-cross-origin" 5 | ("no-referrer" | "no-referrer-when-downgrade" | "origin" | "origin-when-cross-origin" | "same-origin" | "strict-origin" | "strict-origin-when-cross-origin")[]; 6}
Default Value | MDN |
---|---|
false | https://developer.mozilla.org/docs/Web/HTTP/Headers/Referrer-Policy |
This is to set "Referrer-Policy" header and it's to prevent to be got referrer by other servers. You can specify one or more values for legacy browsers which does not support a specific value.
API
createSecureHeaders
1import { createSecureHeaders } from "next-secure-headers"; 2 3createSecureHeaders({ referrerPolicy: "same-origin" }); 4// [ 5// { 6// key: "Referrer-Policy", 7// value: "same-origin", 8// }, 9// ]
createSecureHeaders
is a function to return headers as object following a format like { key, value }
.
1createSecureHeaders(OPTIONS);
The first argument accepts options for rules.
withSecureHeaders
1import { withSecureHeaders } from "next-secure-headers"; 2 3export default withSecureHeaders({ referrerPolicy: "same-origin" })(Page);
withSecureHeaders
is a HOC to specify headers using getServerSideProps
. You can use this function for application
( /pages/_app.tsx
) and page components ( /pages/xxx.tsx
). THIS IS NOT AVAILBLE IN next.config.js
.
1withSecureHeaders(OPTIONS)(APPLICATION_OR_COMPONENT);
The first argument accepts options for rules, and the argument of the returned function accepts application or page components. The returned value is a new React component.
createHeadersObject
1import { createHeadersObject } from "next-secure-headers"; 2 3createHeadersObject({ referrerPolicy: "same-origin" }); 4// { 5// "Referrer-Policy": "same-origin", 6// }
createHeadersObject
is a function to return headers as object.
1createHeadersObject(OPTIONS);
The first argument accepts options for rules.
Recipes
How to remove X-Powered-By header
In general, X-Powered-By HTTP response header should be removed from response headers because it helps hackers to get the server information.
next-secure-headers does not support to remove X-Powered-By header, but Next.js supports to do.
1// next.config.js 2module.exports = { 3 poweredByHeader: false, 4};
If you give false to poweredByHeader
in next.config.js
, Next.js removes the header from response headers.
Overrides headers in a specific page using withSecureHeaders
1// /pages/_app.tsx 2export default withSecureHeaders({ referrerPolicy: "same-origin" })(Application); 3 4// /pages/about.tsx 5export default withSecureHeaders({ referrerPolicy: "no-referrer-when-downgrade" })(Page); 6// But actually the server responds "same-origin"...
next-secure-headers does not support to override response headers in child page components because of being restricted by Next.js architecture.
1// /config/secure-headers.ts 2import { withSecureHeaders } from "next-secure-headers"; 3 4export const secureHeadersDefaultOption: Parameters<typeof withSecureHeaders>[0] = { 5 referrerPolicy: "same-origin", 6}; 7 8// /pages/_app.tsx 9import { secureHeadersDefaultOption } from "../config/secure-headers"; 10 11export default withSecureHeaders(secureHeadersDefaultOption)(Application); 12 13// /pages/about.tsx 14export default withSecureHeaders({ 15 ...secureHeadersDefaultOption, 16 referrerPolicy: "no-referrer-when-downgrade", 17})(Page);
To solve this, you should define the option as one module, then you should import and merge the object.
Contributing to next-secure-headers
Bug reports and pull requests are welcome on GitHub at https://github.com/jagaapple/next-secure-headers. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.
Please read Contributing Guidelines before development and contributing.
License
The library is available as open source under the terms of the MIT License.
Copyright 2020 Jaga Apple. All rights reserved.
No vulnerabilities found.
Reason
no dangerous workflow patterns detected
Reason
no binaries found in the repo
Reason
license file detected
Details
- Info: project has a license file: LICENSE:0
- Info: FSF or OSI recognized license: MIT License: LICENSE:0
Reason
Found 2/8 approved changesets -- score normalized to 2
Reason
dependency not pinned by hash detected -- score normalized to 1
Details
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build-and-test.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/jagaapple/next-secure-headers/build-and-test.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build-and-test.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/jagaapple/next-secure-headers/build-and-test.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build-and-test.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/jagaapple/next-secure-headers/build-and-test.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build-and-test.yml:48: update your workflow using https://app.stepsecurity.io/secureworkflow/jagaapple/next-secure-headers/build-and-test.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build-and-test.yml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/jagaapple/next-secure-headers/build-and-test.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build-and-test.yml:55: update your workflow using https://app.stepsecurity.io/secureworkflow/jagaapple/next-secure-headers/build-and-test.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build-and-test.yml:77: update your workflow using https://app.stepsecurity.io/secureworkflow/jagaapple/next-secure-headers/build-and-test.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build-and-test.yml:79: update your workflow using https://app.stepsecurity.io/secureworkflow/jagaapple/next-secure-headers/build-and-test.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build-and-test.yml:84: update your workflow using https://app.stepsecurity.io/secureworkflow/jagaapple/next-secure-headers/build-and-test.yml/main?enable=pin
- Info: 0 out of 9 GitHub-owned GitHubAction dependencies pinned
- Info: 1 out of 1 npmCommand dependencies pinned
Reason
0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0
Reason
detected GitHub workflow tokens with excessive permissions
Details
- Warn: no topLevel permission defined: .github/workflows/build-and-test.yml:1
- Info: no jobLevel write permissions found
Reason
no effort to earn an OpenSSF best practices badge detected
Reason
security policy file not detected
Details
- Warn: no security policy file detected
- Warn: no security file to analyze
- Warn: no security file to analyze
- Warn: no security file to analyze
Reason
project is not fuzzed
Details
- Warn: no fuzzer integrations found
Reason
SAST tool is not run on all commits -- score normalized to 0
Details
- Warn: 0 commits out of 30 are checked with a SAST tool
Reason
92 existing vulnerabilities detected
Details
- Warn: Project is vulnerable to: GHSA-67hx-6x53-jw92
- Warn: Project is vulnerable to: GHSA-6chw-6frg-f759
- Warn: Project is vulnerable to: GHSA-v88g-cgmw-v5xw
- Warn: Project is vulnerable to: GHSA-whgm-jr23-g3j9
- Warn: Project is vulnerable to: GHSA-93q8-gq69-wqmw
- Warn: Project is vulnerable to: GHSA-grv7-fg5c-xmjg
- Warn: Project is vulnerable to: GHSA-x9w5-v3q2-3rhw
- Warn: Project is vulnerable to: GHSA-w8qv-6jwh-64r5
- Warn: Project is vulnerable to: GHSA-mh2h-6j8q-x246
- Warn: Project is vulnerable to: GHSA-5q88-cjfq-g2mh / GHSA-xp63-6vf5-xf3v
- Warn: Project is vulnerable to: GHSA-pxg6-pf52-xh8x
- Warn: Project is vulnerable to: GHSA-3xgq-45jj-v275
- Warn: Project is vulnerable to: GHSA-gxpj-cx7g-858c
- Warn: Project is vulnerable to: GHSA-w573-4hg7-7wgq
- Warn: Project is vulnerable to: GHSA-vh7m-p724-62c2
- Warn: Project is vulnerable to: GHSA-r9p9-mrjm-926w
- Warn: Project is vulnerable to: GHSA-434g-2637-qmqr
- Warn: Project is vulnerable to: GHSA-49q7-c7j4-3p7m
- Warn: Project is vulnerable to: GHSA-977x-g7h5-7qgw
- Warn: Project is vulnerable to: GHSA-f7q4-pwc6-w24p
- Warn: Project is vulnerable to: GHSA-fc9h-whq2-v747
- Warn: Project is vulnerable to: GHSA-8r6j-v8pm-fqw3
- Warn: Project is vulnerable to: MAL-2023-462
- Warn: Project is vulnerable to: GHSA-ww39-953v-wcq6
- Warn: Project is vulnerable to: GHSA-765h-qjxv-5f44
- Warn: Project is vulnerable to: GHSA-f2jv-r9rf-7988
- Warn: Project is vulnerable to: GHSA-43f8-2h32-f4cj
- Warn: Project is vulnerable to: GHSA-qqgx-2p2h-9c37
- Warn: Project is vulnerable to: GHSA-896r-f27r-55mw
- Warn: Project is vulnerable to: GHSA-9c47-m6qq-7p4h
- Warn: Project is vulnerable to: GHSA-6c8f-qphg-qjgp
- Warn: Project is vulnerable to: GHSA-76p3-8jx3-jpfq
- Warn: Project is vulnerable to: GHSA-3rfm-jhwj-7488
- Warn: Project is vulnerable to: GHSA-hhq3-ff78-jv3g
- Warn: Project is vulnerable to: GHSA-p6mc-m468-83gw
- Warn: Project is vulnerable to: GHSA-29mw-wpgm-hmr9
- Warn: Project is vulnerable to: GHSA-35jh-r3h4-6jhm
- Warn: Project is vulnerable to: GHSA-952p-6rrq-rcjv
- Warn: Project is vulnerable to: GHSA-f8q6-p94x-37v3
- Warn: Project is vulnerable to: GHSA-vh95-rmgr-6w4m / GHSA-xvch-5gv4-984h
- Warn: Project is vulnerable to: GHSA-fq77-7p7r-83rj
- Warn: Project is vulnerable to: GHSA-vxf5-wxwp-m7g9
- Warn: Project is vulnerable to: GHSA-25mp-g6fv-mqxx
- Warn: Project is vulnerable to: GHSA-c59h-r6p8-q9wc
- Warn: Project is vulnerable to: GHSA-w7rc-rwvf-8q5r
- Warn: Project is vulnerable to: GHSA-r683-j2x4-v87g
- Warn: Project is vulnerable to: GHSA-5fw9-fq32-wv5p
- Warn: Project is vulnerable to: GHSA-hj48-42vr-x3v9
- Warn: Project is vulnerable to: GHSA-9wv6-86v2-598j
- Warn: Project is vulnerable to: GHSA-566m-qj78-rww5
- Warn: Project is vulnerable to: GHSA-hwj9-h5mp-3pm3
- Warn: Project is vulnerable to: GHSA-7fh5-64p2-3v2j
- Warn: Project is vulnerable to: GHSA-hrpp-h998-j3pp
- Warn: Project is vulnerable to: GHSA-p8p7-x288-28g6
- Warn: Project is vulnerable to: GHSA-c2qf-rxjj-qqgw
- Warn: Project is vulnerable to: GHSA-m6fv-jmcg-4jfg
- Warn: Project is vulnerable to: GHSA-h9rv-jmmf-4pgx
- Warn: Project is vulnerable to: GHSA-hxcc-f52p-wc94
- Warn: Project is vulnerable to: GHSA-g4rg-993r-mgx7
- Warn: Project is vulnerable to: GHSA-vx3p-948g-6vhq
- Warn: Project is vulnerable to: GHSA-3jfq-g458-7qm9
- Warn: Project is vulnerable to: GHSA-r628-mhmh-qjhw
- Warn: Project is vulnerable to: GHSA-9r2w-394v-53qc
- Warn: Project is vulnerable to: GHSA-5955-9wpr-37jh
- Warn: Project is vulnerable to: GHSA-qq89-hq3f-393p
- Warn: Project is vulnerable to: GHSA-f5x3-32g6-xq36
- Warn: Project is vulnerable to: GHSA-4wf5-vphf-c2xc
- Warn: Project is vulnerable to: GHSA-jgrx-mgxx-jf9v
- Warn: Project is vulnerable to: GHSA-72xf-g2v4-qvf3
- Warn: Project is vulnerable to: GHSA-wr3j-pwj9-hqq6
- Warn: Project is vulnerable to: GHSA-j8xg-fqg3-53r7
- Warn: Project is vulnerable to: GHSA-6fc8-4gx4-v693
- Warn: Project is vulnerable to: GHSA-3h5v-q93c-6h6q
- Warn: Project is vulnerable to: GHSA-c4w7-xm78-47vh
- Warn: Project is vulnerable to: GHSA-p9pc-299p-vxgp
- Warn: Project is vulnerable to: GHSA-257v-vj4p-3w2h
- Warn: Project is vulnerable to: GHSA-7gc6-qh9x-w6h8
- Warn: Project is vulnerable to: GHSA-4gmj-3p3h-gm8h
- Warn: Project is vulnerable to: GHSA-qrpm-p2h7-hrv2
- Warn: Project is vulnerable to: GHSA-9gr3-7897-pp7m
- Warn: Project is vulnerable to: GHSA-fmvm-x8mv-47mj
- Warn: Project is vulnerable to: GHSA-g77x-44xx-532m
- Warn: Project is vulnerable to: GHSA-gp95-ppv5-3jc5
- Warn: Project is vulnerable to: GHSA-54xq-cgqr-rpm3
- Warn: Project is vulnerable to: GHSA-wpg7-2c88-r8xv
- Warn: Project is vulnerable to: GHSA-7r28-3m3f-r2pr
- Warn: Project is vulnerable to: GHSA-r8j5-h5cx-65gg
- Warn: Project is vulnerable to: GHSA-x56p-c8cg-q435
- Warn: Project is vulnerable to: GHSA-rp65-9cf3-cjxr
- Warn: Project is vulnerable to: GHSA-cwx2-736x-mf6w
- Warn: Project is vulnerable to: GHSA-v39p-96qg-c8rf
- Warn: Project is vulnerable to: GHSA-8v63-cqqc-6r2c
Score
3
/10
Last Scanned on 2024-11-25
The Open Source Security Foundation is a cross-industry collaboration to improve the security of open source software (OSS). The Scorecard provides security health metrics for open source projects.
Learn More