| Version | Status |
|---|---|
| 3.0.x | Supported (security + bug fixes) |
| 2.0.x | Security fixes only |
| 1.x | Unsupported |
| < 1.0 | Unsupported |
When 3.1.0 ships, 3.0.x moves to security-fix-only for six months, then unsupported. 2.0.x receives security fixes until six months after 3.0.0.
| Surface | Status | Removed in |
|---|---|---|
scope: frontmatter alias |
Deprecated in 2.0.0 | 3.0.0 |
jsonschema.RefResolver path |
Deprecated upstream | 2.1.0 |
The scope: → applies_to migrator (tools/migrate-frontmatter.py)
will continue to work through 3.x.
Use GitHub's private vulnerability reporting: https://github.com/j78f88/agent-homebase/security/advisories/new
Please do not open a public issue for security reports.
- A description of the issue and the affected component
(e.g.
init.pytoken substitution, a specific schema, a skill). - The earliest tag/commit you can reproduce on.
- A minimal reproduction (a config file or a substrate snippet is ideal).
- The impact you observed (information leak, arbitrary file write, determinism break, supply-chain risk, etc.).
- Acknowledgement within 7 days.
- A triage decision (accept / wontfix / out-of-scope) within 14 days.
- For accepted reports, a fix or mitigation timeline at triage.
- Credit in the release notes unless you ask otherwise.
- Vulnerabilities in end-user projects that consume this substrate. Those are the adopter's responsibility; the substrate is a set of Markdown instructions, not an executing service.
- Issues that require an attacker who already controls the
contributor's machine (e.g. modifying
.githooks/, editingconfig/project.config.example.ymllocally). - Theoretical prompt-injection findings without a concrete impact path. The project does not execute arbitrary user input.
init.py performs security validation on every config value before
substitution. The build is deterministic: two runs with the same
config must produce byte-identical resolved/ output. The
release CI (.github/workflows/release.yml) enforces this on every
push and tag.