基础信息
项目名称:HandyOrg/HandyControl
项目徽章:
仓库地址:https://github.com/pterodactyl/panel
检测报告地址:https://www.murphysec.com/console/report/1718462934548086784/1718462936028676096
此报告由Murphysec提供
漏洞列表
漏洞名称 | 漏洞类型 | MPS编号 | CVE编号 | 漏洞等级 |
---|---|---|---|---|
lodash node 拒绝服务漏洞 | 拒绝服务 | MPS-2018-7315 | CVE-2018-3721 | 中危 |
mixin-deep 参数注入漏洞 | 参数注入或修改 | MPS-2019-10507 | CVE-2019-10746 | 严重 |
set-value 存在拒绝服务漏洞 | 拒绝服务 | MPS-2019-10508 | CVE-2019-10747 | 中危 |
lodash 存在拒绝服务漏洞 | 拒绝服务 | MPS-2019-1228 | CVE-2018-16487 | 中危 |
lodash 原型污染漏洞 | 拒绝服务 | MPS-2019-8636 | CVE-2019-10744 | 严重 |
lodash | 原型污染 | MPS-2020-15679 | CVE-2020-8203 | 高危 |
Highlightjs 原型污染漏洞 | MAID | MPS-2020-16772 | CVE-2020-26237 | 中危 |
Yargs Y18n 输入原型污染漏洞 | 动态确定对象属性修改的控制不恰当 | MPS-2020-17543 | CVE-2020-7774 | 严重 |
minimist 原型污染漏洞 | 原型污染 | MPS-2020-3516 | CVE-2020-7598 | 中危 |
set-value 原型污染漏洞 | 使用不兼容类型访问资源(类型混淆) | MPS-2021-19479 | CVE-2021-23440 | 严重 |
Hexo 跨站脚本漏洞 | XSS | MPS-2021-21018 | CVE-2021-25987 | 中危 |
lodash 拒绝服务漏洞 | 拒绝服务 | MPS-2021-2574 | CVE-2020-28500 | 中危 |
lodash 命令注入漏洞 | 代码注入 | MPS-2021-2638 | CVE-2021-23337 | 高危 |
nth-check 正则表达式拒绝服务漏洞 | ReDoS | MPS-2021-31847 | CVE-2021-3803 | 高危 |
braces | 拒绝服务 | MPS-2021-3692 | CVE-2018-1109 | 中危 |
marked 存在拒绝服务漏洞 | ReDoS | MPS-2021-37038 | CVE-2022-21680 | 高危 |
marked 存在拒绝服务漏洞 | 过度严格的正则表达式 | MPS-2021-37039 | CVE-2022-21681 | 高危 |
minimist 安全漏洞 | 原型污染 | MPS-2021-38405 | CVE-2021-44906 | 严重 |
npm path-parse 安全漏洞 | 拒绝服务 | MPS-2021-6165 | CVE-2021-23343 | 高危 |
glob-parent | 拒绝服务 | MPS-2021-7827 | CVE-2020-28469 | 高危 |
striptags 安全漏洞 | 使用不兼容类型访问资源(类型混淆) | MPS-2021-8580 | CVE-2021-32696 | 中危 |
Moment.js 正则拒绝服务漏洞 | 拒绝服务 | MPS-2022-11159 | CVE-2022-31129 | 高危 |
ejs | 代码注入 | MPS-2022-13642 | 中危 | |
highlight.js 存在拒绝服务漏洞 | 拒绝服务 | MPS-2022-13759 | 中危 | |
js-yaml | 代码注入 | MPS-2022-13822 | 高危 | |
lodash | 拒绝服务 | MPS-2022-13841 | 高危 | |
lodash | 拒绝服务 | MPS-2022-13842 | 高危 | |
markdown 存在拒绝服务漏洞 | 拒绝服务 | MPS-2022-13852 | 中危 | |
markdown 存在拒绝服务漏洞 | 拒绝服务 | MPS-2022-13853 | 中危 | |
marked 存在拒绝服务漏洞 | 拒绝服务 | MPS-2022-13861 | 中危 | |
marked | 拒绝服务 | MPS-2022-13863 | 中危 | |
marked | ReDoS | MPS-2022-13864 | 中危 | |
nunjucks | 原型污染 | MPS-2022-13939 | 高危 | |
uglify-js | ReDoS | MPS-2022-14112 | 中危 | |
Moment.js 路径遍历漏洞 | 路径遍历 | MPS-2022-3752 | CVE-2022-24785 | 中危 |
decode-uri-component | 拒绝服务 | MPS-2022-56259 | CVE-2022-38900 | 高危 |
moment-timezone 存在命令注入 | 命令注入 | MPS-2022-56430 | 严重 | |
minimatch 资源管理错误漏洞 | 拒绝服务 | MPS-2022-59845 | CVE-2022-3517 | 高危 |
Github ejs 安全漏洞 | 注入 | MPS-2022-8391 | CVE-2022-29078 | 严重 |
ejs 存在服务端模板注入漏洞 | 注入 | MPS-2023-10199 | CVE-2023-29827 | 严重 |
swig 安全漏洞 | 路径遍历 | MPS-2023-3992 | CVE-2023-25345 | 高危 |
fsevents 安全漏洞 | 代码注入 | MPS-2ipy-muq0 | CVE-2023-45311 | 严重 |
nunjucks | XSS | MPS-6s4e-ovci | CVE-2023-2142 | 中危 |
缺陷组件
组件名称 | 版本 | 最小修复版本 | 依赖关系 | 修复建议 |
---|---|---|---|---|
set-value | 2.0.0 | 2.0.1 | 间接依赖 | 建议修复 |
path-parse | 1.0.6 | 1.0.7 | 间接依赖 | 建议修复 |
js-yaml | 3.13.0 | 3.13.1 | 间接依赖 | 建议修复 |
decode-uri-component | 0.2.0 | 0.2.1 | 间接依赖 | 建议修复 |
mixin-deep | 1.3.1 | 1.3.2 | 间接依赖 | 建议修复 |
nth-check | 1.0.2 | 2.0.1 | 间接依赖 | 建议修复 |
moment-timezone | 0.5.23 | 0.5.35 | 间接依赖 | 建议修复 |
y18n | 3.2.1 | 3.2.2 | 间接依赖 | 建议修复 |
swig-templates | 2.0.3 | 间接依赖 | 建议修复 | |
lodash | 4.17.11 | 4.17.21 | 间接依赖 | 建议修复 |
ejs | 2.6.1 | 间接依赖 | 建议修复 | |
nunjucks | 3.2.0 | 3.2.4 | 间接依赖 | 建议修复 |
minimatch | 3.0.4 | 3.0.5 | 间接依赖 | 建议修复 |
glob-parent | 2.0.0 | 5.1.2 | 间接依赖 | 建议修复 |
minimist | 1.2.0 | 1.2.6 | 间接依赖 | 建议修复 |
fsevents | 1.2.7 | 1.2.11 | 间接依赖 | 可选修复 |
marked | 0.3.19 | 4.0.10 | 间接依赖 | 可选修复 |
lodash.merge | 4.6.1 | 4.6.2 | 间接依赖 | 可选修复 |
markdown | 0.5.0 | 间接依赖 | 可选修复 | |
uglify-js | 2.6.0 | 3.14.3 | 间接依赖 | 可选修复 |
striptags | 2.2.1 | 3.2.0 | 间接依赖 | 可选修复 |
braces | 1.8.5 | 2.3.1 | 间接依赖 | 可选修复 |
moment | 2.24.0 | 2.29.4 | 间接依赖 | 可选修复 |
highlight.js | 9.15.6 | 10.4.1 | 间接依赖 | 可选修复 |
hexo | 3.8.0 | 6.0.0 | 直接依赖 | 可选修复 |
许可证风险
许可证类型 | 相关组件 | 许可证风险 |
---|---|---|
MIT | 227 | 低 |
ISC | 22 | 低 |
BSD-2-Clause | 9 | 低 |
BSD-3-Clause | 3 | 低 |
BSD-like | 1 | 低 |
Apache-2.0 | 1 | 低 |
BSD | 1 | 低 |
SBOM清单
组件名称 | 组件版本 | 是否直接依赖 | 仓库 |
---|---|---|---|
fragment-cache | 0.2.1 | 间接依赖 | npm |
lodash.bind | 4.2.1 | 间接依赖 | npm |
unpipe | 1.0.0 | 间接依赖 | npm |
send | 0.16.2 | 间接依赖 | npm |
is-fullwidth-code-point | 1.0.0 | 间接依赖 | npm |
path-parse | 1.0.6 | 间接依赖 | npm |
upper-case | 1.1.3 | 间接依赖 | npm |
markdown | 0.5.0 | 间接依赖 | npm |
hexo-generator-searchdb | 1.0.8 | 直接依赖 | npm |
color-name | 1.1.3 | 间接依赖 | npm |
connect | 3.6.6 | 间接依赖 | npm |
setprototypeof | 1.1.0 | 间接依赖 | npm |
hexo-util | 0.6.3 | 间接依赖 | npm |
atob | 2.1.2 | 间接依赖 | npm |
color-convert | 1.9.3 | 间接依赖 | npm |
source-map-url | 0.4.0 | 间接依赖 | npm |
object-visit | 1.0.1 | 间接依赖 | npm |
domhandler | 2.4.2 | 间接依赖 | npm |
stylus | 0.54.5 | 间接依赖 | npm |
bluebird | 3.5.3 | 间接依赖 | npm |
isexe | 2.0.0 | 间接依赖 | npm |
pascalcase | 0.1.1 | 间接依赖 | npm |
is-descriptor | 0.1.6 | 间接依赖 | npm |
cliui | 3.2.0 | 间接依赖 | npm |
moment-timezone | 0.5.23 | 间接依赖 | npm |
is-accessor-descriptor | 0.1.6 | 间接依赖 | npm |
archy | 1.0.0 | 间接依赖 | npm |
regex-cache | 0.4.4 | 间接依赖 | npm |
basic-auth | 2.0.1 | 间接依赖 | npm |
is-glob | 2.0.1 | 间接依赖 | npm |
lodash.map | 4.6.0 | 间接依赖 | npm |
ncp | 2.0.0 | 间接依赖 | npm |
htmlparser2 | 3.10.1 | 间接依赖 | npm |
object.omit | 2.0.1 | 间接依赖 | npm |
arr-flatten | 1.1.0 | 间接依赖 | npm |
ee-first | 1.1.1 | 间接依赖 | npm |
use | 3.1.1 | 间接依赖 | npm |
window-size | 0.1.4 | 间接依赖 | npm |
cache-base | 1.0.1 | 间接依赖 | npm |
sprintf-js | 1.0.3 | 间接依赖 | npm |
snapdragon-node | 2.1.1 | 直接依赖 | npm |
arr-union | 3.1.0 | 间接依赖 | npm |
mv | 2.1.1 | 间接依赖 | npm |
minimist | 1.2.0 | 间接依赖 | npm |
domutils | 1.5.1 | 间接依赖 | npm |
no-case | 2.3.2 | 间接依赖 | npm |
wrappy | 1.0.2 | 间接依赖 | npm |
class-utils | 0.3.6 | 间接依赖 | npm |
css-select | 1.2.0 | 间接依赖 | npm |
core-js | 1.2.7 | 间接依赖 | npm |
is-data-descriptor | 0.1.4 | 间接依赖 | npm |
filename-regex | 2.0.1 | 间接依赖 | npm |
lcid | 1.0.0 | 间接依赖 | npm |
resolve-url | 0.2.1 | 间接依赖 | npm |
lodash | 4.17.11 | 间接依赖 | npm |
ansi-regex | 2.1.1 | 间接依赖 | npm |
right-align | 0.1.3 | 直接依赖 | npm |
object.pick | 1.3.0 | 间接依赖 | npm |
hexo-log | 0.2.0 | 间接依赖 | npm |
map-cache | 0.2.2 | 间接依赖 | npm |
fresh | 0.5.2 | 间接依赖 | npm |
decamelize | 1.2.0 | 间接依赖 | npm |
hexo-renderer-stylus | 0.3.3 | 直接依赖 | npm |
mscoree.dll | 间接依赖 | ||
os-locale | 1.4.0 | 间接依赖 | npm |
jsonparse | 1.3.1 | 间接依赖 | npm |
lodash.reject | 4.6.0 | 间接依赖 | npm |
nan | 2.13.2 | 间接依赖 | npm |
to-object-path | 0.3.0 | 间接依赖 | npm |
lodash.some | 4.6.0 | 间接依赖 | npm |
micromatch | 2.3.11 | 间接依赖 | npm |
domelementtype | 1.3.1 | 间接依赖 | npm |
to-regex | 3.0.2 | 间接依赖 | npm |
hexo-renderer-ejs | 0.3.1 | 直接依赖 | npm |
hexo-i18n | 0.2.1 | 间接依赖 | npm |
ms | 2.0.0 | 间接依赖 | npm |
wordwrap | 0.0.3 | 间接依赖 | npm |
range-parser | 1.2.0 | 间接依赖 | npm |
opn | 5.5.0 | 间接依赖 | npm |
readdirp | 2.2.1 | 间接依赖 | npm |
is-buffer | 1.1.6 | 间接依赖 | npm |
mkdirp | 0.5.1 | 间接依赖 | npm |
hexo-generator-category | 0.1.3 | 直接依赖 | npm |
hexo | 3.8.0 | 直接依赖 | npm |
binary-extensions | 1.13.1 | 间接依赖 | npm |
warehouse | 2.2.0 | 间接依赖 | npm |
safe-buffer | 5.1.2 | 间接依赖 | npm |
compression | 1.7.4 | 间接依赖 | npm |
hexo-fs | 0.2.3 | 间接依赖 | npm |
encodeurl | 1.0.2 | 间接依赖 | npm |
util-deprecate | 1.0.2 | 间接依赖 | npm |
arr-diff | 2.0.0 | 间接依赖 | npm |
esprima | 4.0.1 | 间接依赖 | npm |
core-util-is | 1.0.2 | 直接依赖 | npm |
which | 1.3.1 | 间接依赖 | npm |
depd | 1.1.2 | 间接依赖 | npm |
snapdragon-util | 3.0.1 | 间接依赖 | npm |
once | 1.4.0 | 间接依赖 | npm |
asap | 2.0.6 | 间接依赖 | npm |
snapdragon | 0.8.2 | 间接依赖 | npm |
etag | 1.8.1 | 间接依赖 | npm |
urix | 0.1.0 | 间接依赖 | npm |
map-visit | 1.0.0 | 间接依赖 | npm |
debug | 2.6.9 | 间接依赖 | npm |
escape-string-regexp | 1.0.5 | 间接依赖 | npm |
hexo-renderer-marked | 0.3.2 | 直接依赖 | npm |
string-width | 1.0.2 | 间接依赖 | npm |
is-plain-object | 2.0.4 | 间接依赖 | npm |
get-value | 2.0.6 | 间接依赖 | npm |
is-number | 2.1.0 | 间接依赖 | npm |
os-homedir | 1.0.2 | 间接依赖 | npm |
supports-color | 5.5.0 | 间接依赖 | npm |
safe-json-stringify | 1.2.0 | 间接依赖 | npm |
cheerio | 0.22.0 | 间接依赖 | npm |
marked | 0.3.19 | 间接依赖 | npm |
union-value | 1.0.0 | 间接依赖 | npm |
strip-ansi | 4.0.0 | 间接依赖 | npm |
uglify-to-browserify | 1.0.2 | 间接依赖 | npm |
nth-check | 1.0.2 | 间接依赖 | npm |
posix-character-classes | 0.1.1 | 直接依赖 | npm |
balanced-match | 1.0.0 | 间接依赖 | npm |
readable-stream | 3.3.0 | 间接依赖 | npm |
nopt | 2.1.2 | 间接依赖 | npm |
tildify | 1.2.0 | 间接依赖 | npm |
extglob | 0.3.2 | 间接依赖 | npm |
nunjucks | 3.2.0 | 间接依赖 | npm |
mime-types | 2.1.22 | 间接依赖 | npm |
browser-fingerprint | 0.0.1 | 间接依赖 | npm |
is-windows | 1.0.2 | 间接依赖 | npm |
hexo-generator-tag | 0.2.0 | 直接依赖 | npm |
define-property | 2.0.2 | 间接依赖 | npm |
ret | 0.1.15 | 间接依赖 | npm |
repeat-string | 1.6.1 | 间接依赖 | npm |
optimist | 0.6.1 | 间接依赖 | npm |
expand-brackets | 0.1.5 | 间接依赖 | npm |
statuses | 1.3.1 | 间接依赖 | npm |
hexo-generator-archive | 0.1.5 | 直接依赖 | npm |
chokidar | 1.7.0 | 间接依赖 | npm |
process-nextick-args | 2.0.0 | 直接依赖 | npm |
js-yaml | 3.13.0 | 间接依赖 | npm |
has-flag | 3.0.0 | 间接依赖 | npm |
bytes | 3.0.0 | 间接依赖 | npm |
amdefine | 1.0.1 | 直接依赖 | npm |
path-is-absolute | 1.0.1 | 间接依赖 | npm |
hexo-bunyan | 1.0.0 | 间接依赖 | npm |
align-text | 0.1.4 | 间接依赖 | npm |
cross-spawn | 4.0.2 | 间接依赖 | npm |
http-errors | 1.6.3 | 间接依赖 | npm |
chalk | 2.4.2 | 间接依赖 | npm |
boolbase | 1.0.0 | 间接依赖 | npm |
escape-html | 1.0.3 | 间接依赖 | npm |
upath | 1.1.2 | 直接依赖 | npm |
swig-templates | 2.0.3 | 间接依赖 | npm |
invert-kv | 1.0.0 | 间接依赖 | npm |
accepts | 1.3.5 | 间接依赖 | npm |
source-map-resolve | 0.5.2 | 间接依赖 | npm |
async-each | 1.0.2 | 间接依赖 | npm |
graceful-fs | 4.1.15 | 间接依赖 | npm |
anymatch | 1.3.2 | 间接依赖 | npm |
yallist | 2.1.2 | 间接依赖 | npm |
vary | 1.1.2 | 间接依赖 | npm |
mime | 1.6.0 | 间接依赖 | npm |
to-regex-range | 2.1.1 | 直接依赖 | npm |
concat-map | 0.0.1 | 间接依赖 | npm |
ejs | 2.6.1 | 间接依赖 | npm |
static-extend | 0.1.2 | 间接依赖 | npm |
unset-value | 1.0.0 | 间接依赖 | npm |
has-values | 1.0.0 | 间接依赖 | npm |
JSONStream | 1.3.5 | 间接依赖 | npm |
nib | 1.1.2 | 间接依赖 | npm |
is-wsl | 1.1.0 | 间接依赖 | npm |
wrap-ansi | 2.1.0 | 间接依赖 | npm |
css-what | 2.1.3 | 间接依赖 | npm |
pretty-hrtime | 1.0.3 | 间接依赖 | npm |
morgan | 1.9.1 | 间接依赖 | npm |
entities | 1.1.2 | 间接依赖 | npm |
fs.realpath | 1.0.0 | 直接依赖 | npm |
center-align | 0.1.3 | 直接依赖 | npm |
uglify-js | 2.6.0 | 间接依赖 | npm |
lodash.defaults | 4.2.0 | 间接依赖 | npm |
lodash.filter | 4.6.0 | 间接依赖 | npm |
array-unique | 0.2.1 | 间接依赖 | npm |
highlight.js | 9.15.6 | 间接依赖 | npm |
serve-static | 1.13.2 | 间接依赖 | npm |
command-exists | 1.2.8 | 直接依赖 | npm |
safe-regex | 1.1.0 | 间接依赖 | npm |
set-value | 2.0.0 | 间接依赖 | npm |
has-value | 1.0.0 | 间接依赖 | npm |
hexo-generator-index | 0.2.1 | 直接依赖 | npm |
finalhandler | 1.1.0 | 间接依赖 | npm |
assign-symbols | 1.0.0 | 间接依赖 | npm |
a-sync-waterfall | 1.0.1 | 间接依赖 | npm |
yargs | 3.32.0 | 间接依赖 | npm |
compressible | 2.0.16 | 间接依赖 | npm |
base | 0.11.2 | 间接依赖 | npm |
hexo-front-matter | 0.2.3 | 间接依赖 | npm |
collection-visit | 1.0.0 | 间接依赖 | npm |
async | 0.2.10 | 间接依赖 | npm |
camel-case | 3.0.0 | 间接依赖 | npm |
is-extendable | 0.1.1 | 间接依赖 | npm |
object-copy | 0.1.0 | 间接依赖 | npm |
argparse | 1.0.10 | 间接依赖 | npm |
longest | 1.0.1 | 间接依赖 | npm |
path-dirname | 1.0.2 | 直接依赖 | npm |
swig-extras | 0.0.1 | 间接依赖 | npm |
for-in | 1.0.2 | 间接依赖 | npm |
has-ansi | 2.0.0 | 直接依赖 | npm |
resolve | 1.10.0 | 间接依赖 | npm |
on-headers | 1.0.2 | 间接依赖 | npm |
node-fingerprint | 0.0.2 | 间接依赖 | npm |
striptags | 2.2.1 | 间接依赖 | npm |
hexo-pagination | 0.0.2 | 间接依赖 | npm |
camelcase | 2.1.1 | 间接依赖 | npm |
y18n | 3.2.1 | 间接依赖 | npm |
utils-merge | 1.0.1 | 间接依赖 | npm |
lodash.assignin | 4.2.0 | 间接依赖 | npm |
mixin-deep | 1.3.1 | 间接依赖 | npm |
parseurl | 1.3.2 | 间接依赖 | npm |
kind-of | 3.2.2 | 间接依赖 | npm |
is-binary-path | 1.0.1 | 间接依赖 | npm |
object-assign | 4.1.1 | 间接依赖 | npm |
html-entities | 1.2.1 | 间接依赖 | npm |
inflight | 1.0.6 | 间接依赖 | npm |
braces | 1.8.5 | 间接依赖 | npm |
hexo-server | 0.3.3 | 直接依赖 | npm |
glob-parent | 2.0.0 | 间接依赖 | npm |
remove-trailing-separator | 1.1.0 | 间接依赖 | npm |
css-parse | 1.7.0 | 间接依赖 | npm |
dom-serializer | 0.1.1 | 间接依赖 | npm |
on-finished | 2.3.0 | 间接依赖 | npm |
normalize-path | 2.1.1 | 间接依赖 | npm |
extend-shallow | 3.0.2 | 间接依赖 | npm |
nanomatch | 1.2.13 | 直接依赖 | npm |
lodash.pick | 4.4.0 | 间接依赖 | npm |
moment | 2.24.0 | 间接依赖 | npm |
is-extglob | 1.0.0 | 间接依赖 | npm |
isobject | 2.1.0 | 间接依赖 | npm |
mime-db | 1.38.0 | 间接依赖 | npm |
split-string | 3.1.0 | 间接依赖 | npm |
pseudomap | 1.0.2 | 间接依赖 | npm |
strip-indent | 2.0.0 | 间接依赖 | npm |
code-point-at | 1.1.0 | 间接依赖 | npm |
inherits | 2.0.3 | 间接依赖 | npm |
number-is-nan | 1.0.1 | 间接依赖 | npm |
lower-case | 1.1.4 | 间接依赖 | npm |
negotiator | 0.6.1 | 间接依赖 | npm |
ansi-styles | 3.2.1 | 间接依赖 | npm |
isarray | 1.0.0 | 间接依赖 | npm |
sax | 0.5.8 | 间接依赖 | npm |
lodash.foreach | 4.5.0 | 间接依赖 | npm |
component-emitter | 1.2.1 | 间接依赖 | npm |
brace-expansion | 1.1.11 | 间接依赖 | npm |
string_decoder | 1.2.0 | 间接依赖 | npm |
lodash.flatten | 4.4.0 | 间接依赖 | npm |
lru-cache | 4.1.5 | 间接依赖 | npm |
parse-glob | 3.0.4 | 间接依赖 | npm |
lodash.merge | 4.6.1 | 间接依赖 | npm |
minimatch | 3.0.4 | 间接依赖 | npm |
through | 2.3.8 | 间接依赖 | npm |
regex-not | 1.0.2 | 间接依赖 | npm |
titlecase | 1.1.3 | 间接依赖 | npm |
decode-uri-component | 0.2.0 | 间接依赖 | npm |
text-table | 0.2.0 | 间接依赖 | npm |
abbrev | 1.1.1 | 间接依赖 | npm |
rimraf | 2.4.5 | 间接依赖 | npm |
lazy-cache | 1.0.4 | 间接依赖 | npm |
lodash.reduce | 4.6.0 | 间接依赖 | npm |
source-map | 0.5.7 | 间接依赖 | npm |
fsevents | 1.2.7 | 间接依赖 | npm |
glob | 6.0.4 | 间接依赖 | npm |
cuid | 1.3.8 | 间接依赖 | npm |
destroy | 1.0.4 | 间接依赖 | npm |