pytest-rhiza is a runtime dependency of every rhiza-managed repository's test environment.
Anything entering this package's dependency closure propagates into all of them, which is the
same reason the audit and license gates run on every push rather than weekly. A private
route for reporting a vulnerability follows from that: a finding here is a finding in every
consumer at once, and a public issue is the wrong place to say so first.
Use GitHub's private vulnerability reporting: open a report. It is private to the maintainers, and it is the preferred route because the discussion, the fix and the advisory stay attached to the same record.
Please do not open a public issue for a suspected vulnerability. For anything that is not a vulnerability — a failing check, a false positive, a gate that misreads a repository — a normal issue is right and welcome.
Expect an acknowledgement within 7 days. This is a small project maintained on a best-effort basis; if a report goes unanswered past that, please escalate by opening a public issue that says a private report is outstanding, without the details.
Fixes land on the latest release. There are no maintenance branches for older lines: the
package is small, and consumers pin it as a single version, so the supported version is
whatever main most recently tagged.
| Version | Supported |
|---|---|
| Latest release | Yes |
| Anything earlier | No — upgrade |
The package's own code and its declared dependency closure:
- the checks under
pytest_rhiza.checksand the fixtures inpytest_rhiza.plugin; - the private helpers, in particular
_process(it spawns child processes) and_fences(it parses README content thatchecks/test_readme_validationthen executes); - the three runtime dependencies, and anything they pull in.
Two things are deliberately not vulnerabilities in this package:
- A check executing content from the repository under test.
test_readme_validationruns thepythonfences in a consumer's ownREADME.md, andscripts/gates.pyruns the command lines in this repository's. Both are by design and documented where they happen; the trust boundary is the repository's own reviewed content, the same boundarypytestitself crosses when it imports aconftest.py. A way to cross it from outside that content — an injection through a path, an environment variable, or a manifest value — is in scope and worth reporting. - Findings in a consumer repository that this package's checks report. Those are the checks working.
The version, the Python version, and a minimal repository layout that reproduces it. The
suite's subject fixture in tests/conftest.py builds throwaway repositories for exactly
this purpose, and a failing case written against it is the fastest possible path to a fix.