docs: add SECURITY.md with a private reporting route and explicit scope - #55
Open
stefanwb wants to merge 1 commit into
Open
docs: add SECURITY.md with a private reporting route and explicit scope#55stefanwb wants to merge 1 commit into
stefanwb wants to merge 1 commit into
Conversation
The repository is public and had no security policy and no private intake channel, so the only route available to an outside reporter was a public issue — which is how a finding ends up disclosed badly. Point reporters at GitHub private vulnerability reporting, and set expectations honestly: best-effort maintenance, no bounty, no backports before 1.0, and the image is rebuilt rather than pulled so "upgrade" means rebuild. The scope section is the load-bearing part. It lists the threat-model properties that are documented rather than defective — no egress filtering, runtime code-fetch via npx/pnpm dlx/uvx/tfenv, read-write workspaces without --ro, in-session visibility of opted-in credentials, cross-session persistence in the named volumes, and --yolo as a deliberate mode — and then draws the distinction that actually matters: a documented boundary failing to hold as documented is in scope; the documented boundary itself is not. Also asks reporters to describe the class of problem rather than attach working exploits, and to keep real credentials and transcript content out of reports. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The repository is public and had no security policy and no private intake
channel, so the only route available to an outside reporter was a public
issue — which is how a finding ends up disclosed badly.
Private vulnerability reporting has been enabled on the repository, so the
"Report a vulnerability" button is now live on the Security tab. This adds the
written policy behind it.
What it says
(open an issue asking for a private channel, no details).
impact. Explicitly asks for the class of problem rather than a working
exploit, and asks reporters to keep real credentials, tokens and transcript
content out of reports.
response time, no backports before 1.0, and a note that the image is rebuilt
rather than pulled so "upgrade" means rebuild.
The scope section is the load-bearing part
It lists the threat-model properties that are documented rather than defective
— no egress filtering, runtime code-fetch via
npx/pnpm dlx/uvx/tfenv,read-write workspaces without
--ro, in-session visibility of opted-incredentials, cross-session persistence in the named volumes, and
--yoloas adeliberate mode — then draws the distinction that matters:
That keeps genuine findings welcome while pre-empting a stream of "the
container has network access" reports. Upstream CLI vulnerabilities are routed
to their own projects, and image CVEs to the existing Trivy +
.trivyignoreaccepted-risk process.
Notes for review
AGENTS.mdthisneeds no OpenSpec change.
README.md#install,README.md#threat-model,.trivyignore); CI markdownlint and lychee are bothcontinue-on-errorandlychee runs offline, so the external advisory URL is not fetched.
🤖 Generated with Claude Code