Security fixes target the current main branch and the latest tagged Studio
release.
Use GitHub's private Report a vulnerability flow for this repository. Do not open a public issue for path traversal, arbitrary file access, token bypass, unsafe publish, or private-data exposure.
Include the affected commit, operating system, Python version, a minimal synthetic reproduction, and impact. Do not include personal or locally modified game assets, layouts, account data, credentials, character names, or an unredacted Wine path. A report may point to an already tracked bundle file by repository path without reattaching it.
The Studio binds to 127.0.0.1, uses an unguessable process-local API token,
checks the request Host and any supplied Origin, and applies a 10 MiB request
limit. It is a local development server, not a hardened multi-user web service.
Do not expose it through a reverse proxy, container port publish, SSH remote
forward, or non-loopback bind.
File operations are deliberately narrow:
- game reads come from the selected skin and layout, plus only missing
top-level manifest XML inherited from the
defaultskin during capture; - Studio reads come from the selected local skin and layout workspaces;
- XML access is limited to top-level regular
.xmlfiles; - game writes target only the allowlisted
uifiles/plazmic-uioruifiles/AYA_Legendsdirectory and one selected existing top-levelUI_*.ini; - source and target symlinks are rejected; and
- existing targets are backed up before replacement, with rollback on a partial publish failure.
Packaged Studio workspaces live under the current user's local application-data
directory unless PLAZMIC_UI_DATA_DIR explicitly selects another root. Release
binaries contain no game files or user data. The release UI packages are
separate archives and contain no personal character layouts or user data.
Aya's reviewed generic layout template is not character data.
The project does not patch the game, inject code, automate gameplay, synthesize input, access credentials, or change gameplay state.
If private data is committed or attached publicly:
- Remove public access to the affected artifact immediately.
- Revoke and rotate any exposed credential immediately; history cleanup does not make an exposed credential safe again.
- Preserve a private incident record with the affected paths and commits.
- For committed sensitive data, use GitHub's supported removal process to purge only affected objects and references, coordinate cached clones and forks, and preserve unrelated repository history.
- Publish a reviewed follow-up that restores the repository hygiene gate.
- Notify affected users when exposure extends beyond the reporter.