@middy/http-security-headers 6.4.4 → 7.0.0-alpha.1

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 (2) hide show
  1. package/index.js +16 -23
  2. package/package.json +4 -4
package/index.js CHANGED
@@ -7,7 +7,7 @@ const defaults = {
7
7
  // Fetch directives
8
8
  // 'child-src': '', // fallback default-src
9
9
  // 'connect-src': '', // fallback default-src
10
- "default-src": "'none'",
10
+ "default-src": "'none' 'report-sample' 'report-sha256'",
11
11
  // 'font-src':'', // fallback default-src
12
12
  // 'frame-src':'', // fallback child-src > default-src
13
13
  // 'img-src':'', // fallback default-src
@@ -30,7 +30,7 @@ const defaults = {
30
30
  "frame-ancestors": "'none'",
31
31
  "navigate-to": "'none'",
32
32
  // Reporting directives
33
- "report-to": "csp",
33
+ "report-to": "default",
34
34
  // Other directives
35
35
  "require-trusted-types-for": "'script'",
36
36
  "trusted-types": "'none'",
@@ -62,6 +62,7 @@ const defaults = {
62
62
  permissionsPolicy: {
63
63
  // Standard
64
64
  accelerometer: "",
65
+ "all-screens-capture": "",
65
66
  "ambient-light-sensor": "",
66
67
  autoplay: "",
67
68
  battery: "",
@@ -108,30 +109,21 @@ const defaults = {
108
109
  permittedCrossDomainPolicies: {
109
110
  policy: "none", // none, master-only, by-content-type, by-ftp-filename, all
110
111
  },
111
- poweredBy: {
112
- server: "",
113
- },
112
+ poweredBy: true,
114
113
  referrerPolicy: {
115
114
  policy: "no-referrer",
116
115
  },
117
116
  reportingEndpoints: {},
118
117
  reportTo: {
119
118
  maxAge: 365 * 24 * 60 * 60,
120
- // default: '',
121
119
  includeSubdomains: true,
122
- // csp: '',
123
- // permissions: '',
124
- // staple: '',
125
- // xss: ''
126
120
  },
127
121
  strictTransportSecurity: {
128
122
  maxAge: 180 * 24 * 60 * 60,
129
123
  includeSubDomains: true,
130
124
  preload: true,
131
125
  },
132
- xssProtection: {
133
- reportTo: "xss",
134
- },
126
+ xssProtection: false,
135
127
  };
136
128
 
137
129
  const helmet = {};
@@ -260,20 +252,13 @@ helmet.permittedCrossDomainPolicies = (headers, config) => {
260
252
 
261
253
  // https://github.com/helmetjs/hide-powered-by
262
254
  helmet.poweredBy = (headers, config) => {
263
- if (config.server) {
264
- headers["X-Powered-By"] = config.server;
265
- } else {
266
- headers.Server = undefined;
267
- headers["X-Powered-By"] = undefined;
268
- }
255
+ delete headers.Server;
256
+ delete headers["X-Powered-By"];
269
257
  };
270
258
 
271
259
  // https://github.com/helmetjs/x-xss-protection
272
260
  helmetHtmlOnly.xssProtection = (headers, config) => {
273
- let header = "1; mode=block";
274
- if (config.reportTo) {
275
- header += `; report=${config.reportTo}`;
276
- }
261
+ const header = "0";
277
262
  headers["X-XSS-Protection"] = header;
278
263
  };
279
264
 
@@ -305,6 +290,14 @@ const httpSecurityHeadersMiddleware = (opts = {}) => {
305
290
  }
306
291
  }
307
292
  }
293
+ // Clean up headers removals
294
+ const headers = {};
295
+ for (const key of Object.keys(request.response.headers)) {
296
+ if (typeof request.response.headers[key] !== "undefined") {
297
+ headers[key] = request.response.headers[key];
298
+ }
299
+ }
300
+ request.response.headers = headers;
308
301
  };
309
302
  const httpSecurityHeadersMiddlewareOnError = async (request) => {
310
303
  if (request.response === undefined) return;
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@middy/http-security-headers",
3
- "version": "6.4.4",
3
+ "version": "7.0.0-alpha.1",
4
4
  "description": "Applies best practice security headers to responses. It's a simplified port of HelmetJS",
5
5
  "type": "module",
6
6
  "engines": {
7
- "node": ">=20"
7
+ "node": ">=22"
8
8
  },
9
9
  "engineStrict": true,
10
10
  "publishConfig": {
@@ -68,9 +68,9 @@
68
68
  },
69
69
  "gitHead": "7a6c0fbb8ab71d6a2171e678697de9f237568431",
70
70
  "dependencies": {
71
- "@middy/util": "6.4.4"
71
+ "@middy/util": "7.0.0-alpha.1"
72
72
  },
73
73
  "devDependencies": {
74
- "@middy/core": "6.4.4"
74
+ "@middy/core": "7.0.0-alpha.1"
75
75
  }
76
76
  }