AnyPS5 is a GPL-2.0 project on GitHub with roughly 18.1k stars, 1.4k forks, 96 open issues and about 465 open pull requests. It is not an AI security story. It matters here for two practical reasons: its contributing rules explicitly ask authors to disclose AI assistance, and its build and run path is the kind a coding agent might be asked to execute on your machine.
This post summarizes what the project says about itself, what its AI policy asks of contributors, and what that means if you review pull requests that may be agent-written or if you let an agent build and run a repo like this. Every project fact below comes from the repository's README, CONTRIBUTING.md, pull request template and docs/dev/BUILD.md. explainx.ai has not audited the code, and this post does not tell you how to obtain game files.
TL;DR: AnyPS5 and AI-assisted contributions
| Question | Answer |
|---|---|
| What is it? | A relinker that converts PS5 executables into native Linux or Windows binaries, plus implementations of PS5 system PRX libraries |
| Does it emulate? | README: no emulation layer or separate runtime process |
| What is the AI policy? | Disclose whether AI assisted the change; the author is responsible for every line |
| Is the project AI-written? | Not verified, and not claimed here |
| What should an agent user watch? | Submodule fetches, a CMake-time FFmpeg download, and running converted binaries |
| Can agent tooling stop any of it? | Only partly. Hook-based tools can log and block some agent commands; none of them is a sandbox |
What AnyPS5 actually is
According to the README, AnyPS5 is a tool for automatically porting PS5 executables to Linux and Windows. It works as a relinker that converts an executable into the target system's native format, together with implementations of the system PRX libraries written for dynamic linking. There is no emulation layer and no separate runtime process.
Two other mechanisms are worth knowing about:
- Shader recompiler: it emits SPIR-V. Output is validated with SPIRV-Tools when the project is built with
ANYPS5_ENABLE_SPIRV_TOOLS. - Failure behavior: the README says "Unsupported or unexpected states strictly throw
std::runtime_error", which is printed to stderr before the process terminates.
On performance, the README names one example: the 2D platformer Dreaming Sarah, which it says runs at a stable 60 fps on a GTX 1050 Ti with an i5-7500. That is one data point from the maintainers, not a broad compatibility claim. The README points to docs/user/COMPATIBILITY.md for tested titles and known issues, and its progress badge counts only functions declared so far in core/libs/prx, so the percentage is expected to grow.
The README disclaimer states the project "is intended for interoperability, research, preservation, and compatibility purposes" and "does not include, distribute, or require copyrighted software, firmware, cryptographic keys, or proprietary libraries." It also says users are responsible for how any binaries they use were obtained. Legal questions about that are outside this post.
What the contribution rules say about AI
CONTRIBUTING.md contains one AI-specific rule, two sentences long:
"Say whether the change was written with AI assistance. The author of the pull request is responsible for every line of it."
The pull request template turns that into a checklist item, "AI-assisted: yes / no". Around it sit rules that make any change, human or agent-written, cheaper to review:
- One topic per branch, based on current
main; follow-ups go in a new PR. - Confirm no open PR already implements the same functions.
- Run the tests and describe what you tested, including the OS and title or homebrew used.
- Shader instruction semantics changes must cite a hardware measurement or an exact reference such as an ISA section, or a file from LLVM, ACO or Mesa.
- Changes must be generic, not specific to one title.
- Unimplemented paths must throw
NotImplemented_nid_no_patch, and silent stubs must be listed in the technical debt document. - New third-party code must be a submodule built from source.
- A Conventions check must pass; run
python3 tools/check_conventions.py --base origin/mainlocally first.
What the documents do not say is how many pull requests were AI-assisted, or what happens when someone answers the checkbox inaccurately. Disclosure is self-reported. It helps a reviewer decide how carefully to read; it is not verification.
Reviewing a high-volume project when some PRs may be agent-written
With around 465 open pull requests, most reviewers will triage rather than read everything line by line. The rules above are a reasonable template for that, because they push the checking toward things a reviewer can verify rather than things they have to trust.
Read the disclosure as a risk signal, not a verdict
An "AI-assisted: yes" answer tells you to look for the usual failure modes of generated code: plausible-looking functions that were never exercised, invented API behavior, and tests that assert what the code does rather than what it should do. "No" is not a guarantee either. The policy's second sentence, that the author owns every line, is the part that does the real work: it puts accountability on a named person regardless of how the code was produced.
Prefer requirements that produce evidence
Several of AnyPS5's rules force evidence into the PR: a description of what was tested and on which OS and title, a cited source for shader semantics, a local conventions check. Those are hard to satisfy by confident prose alone. If you maintain a project that receives agent-written PRs, evidence requirements scale better than detection of AI authorship.
Watch for dependency and build changes
The template's rule that new third-party code must be a submodule built from source is a supply-chain control: it keeps added code visible in the diff and in .gitmodules. In any busy repository, a small change to a build file, submodule pointer or download URL deserves more scrutiny than its line count suggests. For how these paths get abused in practice, see our coverage of the TeamPCP open-source supply chain case and the Bumblebee supply chain security scanner.
Reviewers are also exposed to hostile content inside the repo itself; see indirect prompt injection for how text an agent reads can steer what it does.
If you let an agent build or run a repo like this
This is the half of the topic that matters most for agent users. Suppose you tell a coding agent, "clone AnyPS5 and get it building." According to docs/dev/BUILD.md, here is what that involves.
| Step | What happens | Why it matters for an agent |
|---|---|---|
git submodule update --init --recursive | Fetches submodule code from the network | Third-party code arrives that you did not read |
| CMake configure | Downloads FFmpeg binaries unless FFMPEG_PREBUILT_DIR is set | A network download of prebuilt binaries at configure time |
cmake --build build --parallel and the libs target | Compiles the project and the PRX libraries | Arbitrary build logic runs with your user's permissions |
| Running a converted game | Executes a native binary | Native code with the same access as your account |
The docs also describe a relinker-only mode (-DANYPS5_RELINKER_ONLY=ON) that avoids most third-party dependencies, and say the BUILD.md does not describe standalone build scripts: everything runs through Git, CMake and the compiler toolchain. That is a smaller surface than many projects, but the full build still fetches code.
Practical guardrails
- Use a disposable environment. A VM, container or throwaway user account limits what a build or a converted binary can reach. Do not build in a directory next to your
.envfiles or SSH keys. - Pin and inspect fetches. Look at
.gitmodulesbefore the agent runs the submodule update. Where the docs allow it, prefer a prebuilt directory you have checked over a configure-time download. - Keep credentials out of the agent's environment. A build does not need your cloud tokens, and neither does the agent on this task.
- Treat converted binaries as untrusted code. The README's
std::runtime_errorbehavior is about unsupported states in the converted program. It is not a security boundary and it says nothing about what a given binary does. - Review the commands, not only the result. If your agent harness supports hooks, log or gate
curl,git submodule,cmakeand anything run from a build directory. See what an agent harness is.
What agent tooling can and cannot do here
Stated plainly, so you do not over-trust any single control:
- Recording and flagging is not sandboxing. Seeing the
git,cmakeand shell commands an agent ran during a build is useful, but it does not isolate the processes those commands start. - Hook-based enforcement is limited. It can deny matching tool calls in agents that honor hooks. It is not a kernel sandbox, and it is only as strong as the policy behind it.
- Scans are not semantic review. Heuristic checks on skills and MCP configs do not review a relinked executable or a diff. See the MCP security guide for what static checks do and do not cover.
If you want a layer that stops an agent before it runs a dangerous command, AgentBeam is the agent security platform from the explainx.ai team built for that. Use it alongside, not instead of, a disposable build environment.
Frequently asked questions
What is AnyPS5?
AnyPS5 is a GPL-2.0 open-source project that automatically ports PS5 executables to Linux and Windows. Per its README it is a relinker plus implementations of PS5 system PRX libraries for dynamic linking, with no emulation layer or separate runtime process.
Is AnyPS5 written by AI?
explainx.ai has not verified that, and this post does not claim it. The project only requires pull request authors to state whether a change was written with AI assistance. How often that applies is not reported in the README or CONTRIBUTING.md.
What does AnyPS5 require for AI-assisted contributions?
CONTRIBUTING.md says to "Say whether the change was written with AI assistance" and that "The author of the pull request is responsible for every line of it." The pull request template adds an "AI-assisted: yes / no" checklist item.
Is it safe to let a coding agent build a repository like AnyPS5?
Only with care. The full build runs git submodule update --init --recursive and its CMake configuration may download FFmpeg binaries, so an agent will fetch third-party code from the network. Use a disposable environment, review what is fetched, and withhold credentials the task does not need.
Can tooling stop an agent from doing something risky during a build?
Partly. Hook-based tools can record and block certain agent commands, such as destructive shell calls or credential exposure, but they do not sandbox the processes the agent starts and they do not analyze the contents of a binary or a pull request. A disposable VM or container is what contains the build.
Related reading
- Indirect prompt injection in AI agents
- MCP security guide 2026
- TeamPCP open-source supply chain case
- Bumblebee supply chain security scanner
- What is an agent harness
- AI agent security platforms 2026
Project details reflect the AnyPS5 repository as of October 9, 2026. Star, fork, issue and pull request counts change daily, and the documentation may be updated after this post.
Update, October 9, 2026: New explainer on how the relinker, system libraries and shader path work, and what runs today: How AnyPS5 runs PS5 games natively on PC.
