当我查看MDN Import Maps时,我看到了一个可能的安全漏洞。
我认为这种情况:有人使用任何开源git库中的JS库,该库使用import
。现在有人沿着并劫持了您的本地代码或开源存储库。至少他能够偷偷地在一个小的自定义导入Map,这弯曲的进口到一个外部的恶意来源。
这种情况是否可行,我们能做些什么吗?
我建议使用并清空<script type="importmap"></script>
,因为每个文档只允许一个导入Map。
编辑:
要详细说明可能的攻击场景,请执行以下操作:
假设你是一个非安全Maven的Web开发人员(我们称她为Alice),她使用一些前端框架。他将一些库下载到他的Web服务器上,然后用JS中的import
命令导入。现在,一些恶意的create(我们称他为Bob)攻击了Alice的repo,并偷偷地在她的HTML代码中添加了一个导入Map,这将本地库转换为外部库。爱丽丝可能永远不会注意到这里有什么不对劲。
1条答案
按热度按时间x6h2sr281#
如果有人可以劫持您的本地代码,他们可以在页面中注入任何代码,所以他们不需要导入Map。
如果您的页面正在从受到攻击的外部域加载代码,攻击者也可以注入任何代码,并且同样不需要导入Map。不要从您不信任的域加载代码。