Do not open a public issue.
Use GitHub private vulnerability reporting on this repository (Security → Report a vulnerability), or email security@usable.dev.
Please include the affected version or commit, what an attacker can achieve, reproduction steps, and any suggested fix. Redact real credentials — describe the shape of a value rather than including it.
We aim to acknowledge within 3 business days, give an initial assessment within 10, and coordinate disclosure once a fix is available. We will credit you unless you prefer otherwise.
- credentials, private identifiers, or customer data present in the package or Git history
- skill instructions that can be manipulated into unauthorized actions
- prompt injection paths that survive the documented mitigations
- release, tagging, or CI weaknesses allowing artifact tampering
- an incorrect or malicious MCP endpoint in
mcp.json - misleading security documentation
- vulnerabilities in the Usable service itself — report to security@usable.dev separately
- vulnerabilities in agent clients — report to that client's vendor
- model behavior that ignores instructions absent a concrete exploit path; prompt text is documented as not being an enforcement boundary
- missing hardening that the Agent Plugins specification does not define and that we document
as absent (see
docs/threat-model.md)
- no executable code, dependencies, or install hooks in the release archive
- no credentials anywhere in the repository or artifacts
- exactly two network destinations:
usable.devandauth.flowcore.io - releases built from a path allowlist, from protected tags, with published SHA-256 checksums
What it does not guarantee is listed plainly in the threat model. Agent Plugins 1.0.0 provides no trust model, and schema conformance is not a safety property.
shasum -a 256 -c usable-agent-plugin-<version>.tar.gz.sha256On mismatch: do not extract, and report it. Also confirm that mcp.json points at
https://usable.dev/api/mcp and nowhere else.
Maintainer procedure:
- Delete the affected release and tag; keep the audit trail.
- Publish a security advisory naming affected versions.
- Rotate any implicated CI credentials.
- Publish a patched release with a fresh checksum.
- Update
CHANGELOG.mdanddocs/supported-clients.md.
User procedure:
- Uninstall the affected version.
- Revoke the OAuth grant in your Usable account settings.
- Clear stored credentials from your client.
- Install the patched release and verify its checksum.
- Review your Usable workspace for unexpected writes.
- grant
fragments.readandworkspace.readonly, unless you need the capture skill - never grant
fragments.delete— no shipped skill requires it - pin an exact version and verify checksums
- read
skills/**/*.mdbefore enabling; it is all plain Markdown - keep your client's tool-approval prompts enabled