docs: add the security policy, code of conduct, and contributing guide - #56
Open
JustinKovacich wants to merge 1 commit into
Open
JustinKovacich wants to merge 1 commit into
JustinKovacich wants to merge 1 commit into
Conversation
The crate is published, dual-licensed and documented, but an outside contributor arriving at the repository had no disclosure path, no stated conduct expectations, and no description of the feature graph or the test layout. SECURITY.md states what is and is not a vulnerability in a UDS codec. SecurityAccess (0x27) is a seed/key unlock whose strength lives in the ECU's key algorithm, and the services ISO 14229-1:2020 defines for real cryptographic protection - Authentication (0x29) and SecuredDataTransmission (0x84) - are not implemented here, so a report that diagnostics are unauthenticated describes the protocol rather than a defect. Decode robustness on attacker-supplied bytes is the part that is in scope. CONTRIBUTING.md documents the layered feature graph, the three integration tests and what each one guards, and the fuzz targets. It describes the merge behaviour this repository actually has: squash and rebase are disabled, so branch commit subjects are what land on main and what release-plz reads. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Codecov Report✅ All modified and coverable lines are covered by tests. @@ Coverage Diff @@
## main #56 +/- ##
==========================================
- Coverage 90.33% 89.93% -0.40%
==========================================
Files 31 31
Lines 5523 5523
==========================================
- Hits 4989 4967 -22
- Misses 534 556 +22 |
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.
Commit Message Details
Four files an outside contributor expects and this repository did not have:
SECURITY.md,CODE_OF_CONDUCT.md,CONTRIBUTING.md,.github/CODEOWNERS.SECURITY.md is written for a UDS codec specifically rather than as
boilerplate, so reporters can tell a defect from the protocol working as
designed:
SecurityAccess(0x27) is a seed/key unlock, not authentication, and itsstrength lives in the ECU's key algorithm.
Authentication(0x29) andSecuredDataTransmission(0x84) are not implemented here.RequestDownload/RequestUpload/TransferData/RequestFileTransferwriteto the ECU by design; gating who may send them is the ECU's job.
In scope: panics, out-of-bounds reads, unbounded allocation, decodes accepting
frames they should reject, hangs reachable from the wire.
CONTRIBUTING.md documents the layered feature graph (
std→alloc;utoipa/clap→std;utoipa→serde), what each of the threeintegration tests guards, and the fuzz targets. It describes the merge
behaviour the repo actually has:
allow_squash_mergeisfalseand theruleset permits
mergeonly, so branch commit subjects land onmainand feedrelease-plz — not the PR title.
CODE_OF_CONDUCT.md is Contributor Covenant 2.1. Enforcement contact is
envision-dev@microvision.com— flagging for review, since this would bethe first non-author email published in the repo.
CODEOWNERS is
* @luminartech/luv, routing only; the ruleset does notrequire code-owner approval, so nothing about merging changes.
Noticed but not changed
.github/workflows/pr-lint.ymlsays "Squash-merge (see repo settings) uses thePR title as the commit message". That comment is stale — squash merge is
disabled on this repo. Left alone rather than folding a CI change into a docs
PR; worth a follow-up to correct the comment or re-enable squash merge.
I also created the
No Issuelabel, which this repo's ownpr-lint.ymlreferences but which did not exist.
Issue URL
No associated issue — part of an open-source readiness sweep across the public
crates (simple_someip#157, rust_workflow#4/#5, simple_doip#19,
automotive_wire_codec#14). Labelled
No Issue.Testing
pre-commit run --all-filespasses on the branch — 14 hooks, includingmdformat, typos, gitleaks,
cargo fmtandcargo check.to exercise. The
CONTRIBUTING.mdfeature-graph and merge-behaviour claimswere each checked against
Cargo.toml, the repo merge settings(
allow_squash_merge: false) and the ruleset'sallowed_merge_methodsrather than copied from a sibling repo.
🤖 Generated with Claude Code