Paraquire, или Перестаньте доверять библиотекам
TL; DR
Вместо
var lib = require('untrusted-lib');
предлагается писать где-нибудь
var paraquire = require('paraquire')(module);
и затем
var lib = paraquire('untrusted-lib');
или же
var lib = paraquire('untrusted-lib', {builtin:{https:true}});
Исходный код доступен на гитхабе под LGPLv3.
Кроме того я, не будучи достаточно опытным NodeJS-разработчиком, прошу у сообщества советов и обсуждения.
Читать дальше →
Использование npm — пакетного менеджера NodeJS — сопряжено с проблемами безопасности. Штатными средствами невозможно контролировать права доступа, предоставляемые библиотекам. Вкупе с обилием микромодулей это может привести к непредсказуемым последствиям, часть из уже случившегося описана здесь, и в лучших традициях экосистемы npm я на неё сошлюсь.
Под катом описывается proof-of-concept библиотеки, реализующей механизм загрузки npm-модулей с возможностью установить права подобно тому, как на Android можно выдавать приложению конкретные разрешения.
Вместо
var lib = require('untrusted-lib');
предлагается писать где-нибудь
var paraquire = require('paraquire')(module);
и затем
var lib = paraquire('untrusted-lib');
или же
var lib = paraquire('untrusted-lib', {builtin:{https:true}});
Исходный код доступен на гитхабе под LGPLv3.
Кроме того я, не будучи достаточно опытным NodeJS-разработчиком, прошу у сообщества советов и обсуждения.
Читать дальше →
Источник: Хабрахабр
Похожие новости
- Идеальный кейс внедрения DevSecOps. Так бывает?
- Партнёрское продвижение: почему бизнесу нельзя игнорировать кросс-маркетинг
- Атака Kerberoasting без пароля пользователя — миф, или новая реальность?
- К 2027 году российский рынок LMS-систем вырастет более чем в полтора раза
- Гринч — похититель госэкзаменов
- Процессы ИТ и ИБ
- Проведение фишинг-учений с использованием вредоносных ссылок и HTML-приложений. Часть 1
- Profitbase: От выбора к продажам: как девелоперам внедрить выигрышные инструменты
- Подкаст Стартап-секреты: Стратегия продукта и аналитика: как создаются продукты, которые опираются на рынок и данные
- Вы все еще пишете многопоточку на C++ с ошибками синхронизации?