docs: add a security policy, code of conduct, and code owners - #5
Merged
Merged
Conversation
zheylmun
approved these changes
Sep 11, 2026
This repository publishes a reusable workflow that other repositories call, so a change here runs in their CI. It had no disclosure path at all. SECURITY.md states the two facts that make the repo sensitive: consumers pin the mutable `v1` tag, so re-pointing it changes every consumer's CI with no review in their repository; and the release-plz jobs handle the crates.io registry token and the release-plz app credentials, so a workflow change that misuses them can publish under the organization's name. It also records the current pinning posture - dtolnay/rust-toolchain by SHA, the rest by major-version tag - as context for judging a report about a compromised upstream action, rather than leaving a reporter to infer whether that is deliberate. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
JustinKovacich
force-pushed
the
docs/open-source-health-files
branch
from
September 11, 2026 20:57
963bccc to
0768eb3
Compare
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.
Why this one matters more than the others
This repository publishes the reusable workflow that
simple_doip,uds_protocol,simple_someipandautomotive_wire_codecall call. A changehere executes in their CI. It had no disclosure path at all.
SECURITY.md
States the two facts that make the repo sensitive:
rust-ci.yml@v1, andv1moves. Re-pointing it changes every consumer's CI on their next run — no
action on their part, no review in their repository.
cargo-registry-token,release-plz-app-id,release-plz-app-private-keyand
release-plz-token. A workflow change that misuses those can publishcrate versions under the org's name.
Scope is written for a workflow rather than a library: script/expression
injection, secret exposure to logs or artifacts or caches, over-broad token
permissions, and cache/artifact poisoning. Vulnerabilities in third-party
actions are explicitly out of scope here and directed upstream.
It also records the current pinning posture —
dtolnay/rust-toolchainbycommit SHA, while
actions/checkout,actions/setup-python,actions/cache,Swatinem/rust-cache,taiki-e/install-action,actions/upload-artifactandcodecov/codecov-actionare pinned by movable major-version tag. I've writtenthis as a deliberate trade-off against SHA-pinning churn rather than an
oversight; correct me if that's wrong and it should read as a known gap.
Note on the red check
Pre-commit Checkswill fail on this PR. That is the pre-existingmdformatnit in
CHANGELOG.mdonmain, fixed by #4 — not anything in this branch. Iconfirmed mdformat leaves all three new files untouched. It is not a required
check, and goes green once #4 merges.
Verification
pre-commit run --all-fileson this branch: 12 hooks pass including zizmor,actionlint, typos and gitleaks. The only failure is the
CHANGELOG.mdlinebelonging to #4.
🤖 Generated with Claude Code