
Авторизованное воспроизведение CVE-2026-27701 / GHSA-xh9w-5859-x97j в рамках исследования безопасности (live-codes/livecodes @ 8017e01): недоверенный заголовок PR интерполируется в блок github-script i18n-update-pull.
Автоматизированный исследовательский артефакт — не вышестоящий проект.
Этот репозиторий — одноразовая лаборатория, созданная автоматизированной системой для магистерской диссертации в Université Laval по воспроизведению опубликованных уязвимостей в рабочих процессах GitHub Actions. Это точный снимок
live-codes/livecodesна коммите8017e0146fc020b8e9ec4115afc6f7b228354e46(2026-02-21), распространяемый под собственной лицензией этого проекта, файл которой включён в этот снимок без изменений.Вышестоящий проект не участвует, никогда не является целью, а изучаемая здесь уязвимость уже публична. Каждый секрет и переменная в этом репозитории — случайно сгенерированное фиктивное значение — никаких реальных учётных данных здесь нет. Ссылки на действия и образы раннеров закреплены на то, чем они были на 2026-02-21; см.
pinning.mdв выводе системы для каждого изменения, внесённого в снимок.Вопросы или возражения: [email protected]
Игровая площадка для кода, которая просто работает!
Богатая функциями, открытая, клиентская игровая площадка для кода для React, Vue, Svelte, Solid, Typescript, Python, Go, Ruby, PHP и 90+ языков/фреймворков.

* Учётная запись GitHub требуется только для функций, использующих интеграцию с GitHub.
... и наслаждайтесь всеми функциями!
Добавьте этот код на свою страницу:
<div id="container"></div>
<script type="module">
import { createPlayground } from 'https://cdn.jsdelivr.net/npm/livecodes';
createPlayground('#container', {
params: {
markdown: '# Hello LiveCodes!',
css: 'h1 {color: dodgerblue;}',
js: 'console.log("Hello, from JS!");',
console: 'open',
},
});
</script>
Ознакомьтесь с документацией о встроенных игровых площадках.
... и всё просто работает!
Подробности см. в полном списке функций.
Пакет разработчика (SDK) предоставляет простой, но мощный интерфейс для встраивания игровых площадок LiveCodes и взаимодействия с ними.
SDK поставляется как лёгкий (менее 5 кб в gzip), npm-пакет без зависимостей, который также доступен через CDN. Его можно использовать для создания игровых площадок с самыми разными конфигурациями и параметрами встраивания. Кроме того, методы SDK позволяют программно взаимодействовать с игровыми площадками и управлять ими во время выполнения.
npm i livecodes
Пример: (открыть в LiveCodes)
import { createPlayground } from 'livecodes';
createPlayground('#container', {
config: {
markup: {
language: 'markdown',
content: '# Hello World!',
},
},
view: 'result',
});
JavaScript SDK не зависит от фреймворков/библиотек. Однако также предоставляются компоненты-обёртки для популярных библиотек (в настоящее время React и Vue). SDK можно использовать в Svelte и Solid напрямую, без обёрток. Поддержка TypeScript обеспечивает типобезопасность и отличный опыт разработчика.
Пример React SDK: (открыть в LiveCodes)
import LiveCodes from 'livecodes/react';
const config = {
markup: {
language: 'markdown',
content: '# Hello World!',
},
};
const Playground = () => <LiveCodes config={config} view="result" />;
export default Playground;
Пример Vue SDK: (открыть в LiveCodes)
<script setup>
import LiveCodes from 'livecodes/vue';
const config = {
markup: {
language: 'markdown',
content: '# Hello World!',
},
};
</script>
<template>
<LiveCodes :config="config" view="result" />
</template>
Кроме того, SDK позволяет создавать ссылки на игровые площадки:
import { getPlaygroundUrl } from 'livecodes';
const url = getPlaygroundUrl({
config: {
markup: {
language: 'markdown',
content: '# Hello World!',
},
},
});
console.log(url);
Подробнее см. в документации SDK.
Полная документация по функциям, началу работы, конфигурации и SDK доступна на:
Документация включает демо, примеры кода, скриншоты, Storybook и типы TypeScript.
Следите за последними изменениями:
Мы приветствуем обратную связь!
Пожалуйста, создайте новый issue или обсуждение.
Для сообщений о безопасности обратитесь к SECURITY.md.
Вы также можете связаться с нами через форму контактов.
Вклад приветствуется и высоко ценится.
Огромная благодарность нашим замечательным участникам! Ваш труд имеет огромное значение!
Пожалуйста, ознакомьтесь с руководством по участию.
LiveCodes использует сервисы, которые любезно предоставлены:
Пакеты, используемые LiveCodes, и их лицензии перечислены здесь.
Лицензия MIT © Hatem Hosny
LiveCodes бесплатен и имеет открытый исходный код. Приложение не содержит рекламы и не требует подписки. Оно допускает неограниченное использование без каких-либо ограничений.
Спонсируя LiveCodes, вы поддержите постоянную разработку и сопровождение проекта, а также поможете гарантировать, что он останется ценным ресурсом для сообщества разработчиков.
Пожалуйста, рассмотрите возможность стать спонсором.