Plugin manifest required
Why it matters
A plugin system that loads plugins by file-system convention with no manifest requirement cannot perform compatibility checking, dependency resolution, or permission enforcement before executing plugin code. The host has no metadata about a plugin's intended capabilities until after it has already run. ISO 25010 maintainability.modularity requires that components declare their dependencies and interfaces; a missing manifest makes every plugin an opaque blob. Security review of what plugins are installed and what they require becomes impossible.
Severity rationale
High because the absence of a required plugin manifest prevents the host from performing any metadata-driven decision — compatibility checking, dependency resolution, or permission scoping — before executing plugin code.
Remediation
Require a plugin.json manifest alongside every plugin entry point. Validate the manifest schema at load time and reject plugins with missing required fields before importing any plugin code.
{
"name": "my-analytics-plugin",
"version": "1.2.0",
"description": "Adds analytics tracking to all pages",
"author": "Jane Developer",
"engines": { "host-api": "^2.0.0" },
"permissions": ["hooks:read", "storage:write"],
"dependencies": {
"base-plugin": "^1.0.0"
}
}
DetectionPro
The detection method for this pattern is part of AuditBuffet Pro.
The full method (what to look for, pass and fail conditions, and how results get reported) ships inside the Plugin / Extension Architecture Audit. The pattern definition, severity rationale, and remediation remain openly licensed under CC-BY-4.0.
External references
- iso-25010:2011 · maintainability.modularity — Modularity — a structured manifest decouples plugin identity and capabilities from plugin code execution
Taxons
History
- 2026-04-18·v1.0.0·Initial import from plugin-extension-architecture·automated