1.7 KiB
1.7 KiB
Renderer Chain Skeleton
This is a non-executable outline. It intentionally omits a working payload.
Preconditions To Validate In A Private Lab
- A private Modrinth project or controlled API fixture can return raw HTML in
project
bodyor versionchangelog. - Lunar Explore renders that content in the packaged launcher.
- The injected frame can access the exposed
window.lunarorwindow.electronpreload bridge from the rendered context. - The main Redux bridge accepts a forged
profiles/addOrUpdateProfileaction. installModpackaccepts the forged profile ID.- Override extraction writes root
overrides/*files to the controlled effective game directory. openExternalLinkreachesshell.openExternalfor a local launcher file URL with a non-restricted initiator.
Non-Executable Flow
- Build a virtual profile object with these properties:
id: fresh local IDtype:modrinthprovider:modrinthstate:virtualuseLunarFeatures: compatible with target Modrinth versionmodrinth.projectId: controlled test projectmodrinth.selectedVersion.versionId: controlled test versionoverrides.gameDirectory: writable test directory
- Send a profile-add action into the main Redux state-sync channel.
- Invoke the Lunar Modrinth install API for that profile ID.
- Confirm the controlled test
.mrpackroot override is written under the chosen game directory. - Invoke the Lunar external-link API with a local
file:URL to the benign launcher file. - Confirm the calculator pop or marker file.
Expected Benign Result
The validation succeeds only if a benign calculator pop or marker file is observed. Do not test with an arbitrary command or payload outside a controlled lab.