You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
CWL is evaluating anthropics/claude-plugins-community as a discovery source for narrowly approved developer-assist capabilities. Existing PR #1036 correctly adds detectors for mixed-script skill identity, prompt-injection directives, exfiltration instructions, and unresolved placeholders on skill/agent manifest surfaces. It does not yet provide a complete admission receipt for a Claude plugin package or marketplace entry.
The upstream catalog may reference third-party repositories, exact refs, local paths, skills, subagents, hooks, commands, MCP servers, package-manager commands, external accounts, and license notices. Anthropic review is upstream evidence only; Noema #545 requires CWL-owned, artifact-bound AppGuardrail evidence before admission or activation.
product-domain truth or formal merge/release approval.
Implement this as the non-duplicative successor to #1036. Do not reimplement #1036's detectors or close it as obsolete; reuse its released rule identities and findings.
Artifact surfaces to inventory and scan
Support a bounded package graph containing, when present:
oversized/decompression-bomb/deep-recursion input and generated-file or vendored-code scope ambiguity;
source-to-artifact mismatch, undeclared executable surface, or license/NOTICE mismatch.
Do not mark every shell command or external connector as malicious. Emit explicit capability and policy findings that Noema can evaluate against a product/role-specific allowlist.
Scan receipt
Emit a bounded, deterministic receipt containing at least:
scan_result=pass means the exact artifact satisfied the exact AppGuardrail policy. It is not Noema admission, product activation, formal review, merge, release, legal approval, or dynamic-sandbox evidence.
The receipt must contain no secret values, raw product data, hidden reasoning, unnecessary personal data, or unbounded plugin text.
TDD acceptance
RED/GREEN fixtures must cover:
one positive minimal pinned plugin;
branch/tag instead of full SHA;
marketplace source/ref/path differing from retrieved artifact;
duplicate JSON members, malformed UTF-8/Unicode and bidi/control concealment;
symlink/archive path traversal and nested submodule without admitted identity;
direct provider key, broad GitHub write, Docker socket and secret-to-network flow;
remote/stdio MCP with and without a complete bounded declaration;
runtime installer and unsigned executable download;
undeclared hook/script appearing after manifest inventory;
license/NOTICE absence or mismatch;
wrong artifact, wrong policy or stale receipt replay;
hostile oversized/deep/large-file-count packages;
deterministic identical receipt for identical source/policy and changed receipt for any source/policy byte change;
SARIF and receipt findings remaining semantically consistent.
Use public metadata or purpose-built fixtures; do not vendor a third-party plugin corpus into AppGuardrail. Production statement/branch coverage and public docstrings remain 100%, with property/fuzz tests on parsers and hostile archives.
No blanket trust in anthropics/*, no silent allowlisting by popularity/category, no live plugin execution in the scanner, no provider credentials, no product runtime installation, no arbitrary network fetch from untrusted package instructions, no weakening central scanners, and no claim that AppGuardrail PASS alone authorizes activation.
Problem
CWL is evaluating
anthropics/claude-plugins-communityas a discovery source for narrowly approved developer-assist capabilities. Existing PR #1036 correctly adds detectors for mixed-script skill identity, prompt-injection directives, exfiltration instructions, and unresolved placeholders on skill/agent manifest surfaces. It does not yet provide a complete admission receipt for a Claude plugin package or marketplace entry.The upstream catalog may reference third-party repositories, exact refs, local paths, skills, subagents, hooks, commands, MCP servers, package-manager commands, external accounts, and license notices. Anthropic review is upstream evidence only; Noema #545 requires CWL-owned, artifact-bound AppGuardrail evidence before admission or activation.
Observed upstream identity at issue creation:
anthropics/claude-plugins-community@a727be1c7bd6064419b6f60d71993a19198adc17.claude-plugin/marketplace.jsonblobeb95bc96ea8434539aeb4cc1cec40abaca6d40aaThese values are observation-scoped and must be refetched and rebound when the source moves.
Canonical boundary
AppGuardrail owns deterministic static analysis, policy findings, SARIF, and an exact-artifact scan receipt. It does not own:
quarantine-sandbox-runtime;macos_utility_packs;Implement this as the non-duplicative successor to #1036. Do not reimplement #1036's detectors or close it as obsolete; reuse its released rule identities and findings.
Artifact surfaces to inventory and scan
Support a bounded package graph containing, when present:
Unknown executable or configuration surfaces must be reported and fail admission until classified; they must not be silently ignored.
Required checks
Source and provenance
Capability inventory
Produce a machine-readable inventory for:
Inventory is evidence, not permission. Undeclared or ambiguous authority fails admission.
Static security findings
Extend the released #1036 rules with package-level findings for at least:
OPENAI_API_KEY,NVIDIA_NIM_API_KEY*,BYTEZ_API_KEY,OPENROUTER_API_KEY, provider/model fallback lists);curl|wgetpiped to a shell, mutable runtime download, unpinned package-manager execution, lifecycle/post-install scripts, unsigned executable download, or dynamic code evaluation;Do not mark every shell command or external connector as malicious. Emit explicit capability and policy findings that Noema can evaluate against a product/role-specific allowlist.
Scan receipt
Emit a bounded, deterministic receipt containing at least:
scan_result=passmeans the exact artifact satisfied the exact AppGuardrail policy. It is not Noema admission, product activation, formal review, merge, release, legal approval, or dynamic-sandbox evidence.The receipt must contain no secret values, raw product data, hidden reasoning, unnecessary personal data, or unbounded plugin text.
TDD acceptance
RED/GREEN fixtures must cover:
Use public metadata or purpose-built fixtures; do not vendor a third-party plugin corpus into AppGuardrail. Production statement/branch coverage and public docstrings remain 100%, with property/fuzz tests on parsers and hostile archives.
Integration and release acceptance
docs/product-technical-gap-baseline.md, threat model, SECURITY, rule documentation, operator runbook, and CHANGELOG updates alongside executable behavior.macos_utility_packsconsumption canary; consumer success never promotes a PR head to release authority.Guardrails
No blanket trust in
anthropics/*, no silent allowlisting by popularity/category, no live plugin execution in the scanner, no provider credentials, no product runtime installation, no arbitrary network fetch from untrusted package instructions, no weakening central scanners, and no claim that AppGuardrail PASS alone authorizes activation.Related: PR #1036;
ContextualWisdomLab/noema#545;ContextualWisdomLab/macos_utility_packs#3.