silmaril-security/silmaril-vscode-firewall
v0.3.1Apache-2.0
Silmaril Firewall protection for VS Code Local and Copilot agent harnesses.
Changelog
0.3.1 - Unreleased
- Keep the submitted-prompt registration for VS Code Local, while shared Copilot submitted-prompt callbacks return without classification.
- Register
userPromptTransformed, classify its exact model-facing bytes, and replace a Block candidate only through boundedmodifiedTransformedPrompt. - Preserve transformed content in Warn and Shadow and record transformed Warn delivery as unsupported.
- Correlate validated shared Copilot sessions through
conversationIdand add transformed-prompt identities based on the native event, timestamp, original prompt hash, and transformed prompt hash without changing other identities. - Set the conservative source target and security-admission floor to VS Code 1.145.2. It is not a qualified supported floor or a claim that 1.145.2 is the earliest possible upstream version. Signed 1.141.1 lacks the required transformed-prompt and post-tool replacement contracts.
- Require the synthetic native-QA launcher to select and verify ephemeral in-memory secret storage. Private profile directories do not isolate the macOS Keychain; this test-only correction does not change the plugin runtime.
- Make native QA portable across macOS hosts with a fresh owned synthetic profile, credential-free child environment, preflight-only default, and an explicit one-launch human workflow for normal trust and Extensions UI setup.
- Record that the exact signed 1.145.2 native matrix failed. The built-in Local
route blocked the main malicious prompt and denied pre-tool execution, but a
native title-generation request sent the blocked prompt before
UserPromptSubmit, and the raw post-tool result reached the next dummy model request. The Local post-tool contract only appends block/context, and the signed host starts that async append without awaiting it. - Keep the shared transformed-prompt and post-tool
modifiedResultcontracts source-only and unqualified until a supported shared Agent Host route proves them. Preserve strict all-provider/title and post-tool-poison oracles; do not publish candidate 0.3.1 on the failed native evidence. - Require the four-case native core to prove exact shared callback metadata:
copilot/userPromptTransformed,copilot/preToolUse, andcopilot/postToolUse, each at its required cardinality. Local, missing, mixed, or wrong-event callbacks cannot satisfy shared-route acceptance. - Scope any native QA
passto that four-case core. Receipts keep full release qualification incomplete, batch/resume unsupported, and native Warn/Shadow unassessed; source preflight cannot verify the native shared route. Candidate 0.3.1 remains not qualified for publication.
The published 0.3.0 release remains immutable. Handler fixtures and loopback checks do not establish native qualification.