{"version":"2.1.235","anchor":"plugin-eval-refuses-to-consult-plugin-manifests-in-trees-it","canonical_anchor":"plugin-eval-refuses-to-consult-plugin-manifests-in-trees-it","heading":"plugin eval refuses to consult plugin manifests in trees it cannot vouch for","tier":"internal","area":"Plugin Eval","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.235\/e\/plugin-eval-refuses-to-consult-plugin-manifests-in-trees-it","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.235","markdown":"### plugin eval refuses to consult plugin manifests in trees it cannot vouch for\n\nplugin eval now verifies a plugin's file tree is trustworthy before reading its manifest\n\nA large new trust layer checks the plugin tree before its manifest is consulted: owner uid against the real (or sudo-verified) user, other-writable and group-writable file modes, sticky ancestors, hard links, symlinks leaving the tree, `.git` metadata not created locally, and an entry\/depth cap on the directory walk.\n\nGroup membership is resolved by parsing `\/etc\/group`, `\/etc\/passwd`, and `\/etc\/nsswitch.conf`; if nsswitch names a non-file group source, membership is declared unverifiable and reported as such rather than assumed safe. `SUDO_UID`, `SUDO_GID`, and `SUDO_USER` are cross-checked against `\/usr\/bin\/id`, and container evidence from `\/run\/.containerenv` or `\/proc\/1\/cgroup` relaxes the ownership rules.\n\n- Area: Plugin Eval\n- Tier: Under the hood\n- Useful: 1\/5\n- Signal: 1\/5"}