Skip to content

Commit 0de43b8

Browse files
Trim gh token section; warn against SSH auth keys in the container
Condense the token instructions to the minimal required permissions and add a signing-commits section clarifying that only a signing key (SSH or GPG) belongs in the container -- an SSH authentication key grants full account access and would bypass the fine-grained PAT.
1 parent 4d134b0 commit 0de43b8

1 file changed

Lines changed: 20 additions & 26 deletions

File tree

CONTRIBUTOR.md

Lines changed: 20 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -36,29 +36,23 @@ gh auth logout # remove stored credentials
3636

3737
### Creating a token with minimal permissions
3838

39-
Prefer **fine-grained personal access tokens** — they let you grant only the
40-
access you actually need, scoped to a single repository, with a short expiry.
41-
Please generate tokens with the **least privilege** required for your work; avoid
42-
broad "classic" tokens with the full `repo` scope unless there is no alternative.
43-
44-
1. Go to **GitHub → Settings → Developer settings →
45-
[Fine-grained personal access tokens](https://github.com/settings/personal-access-tokens/new)**.
46-
2. Give the token a descriptive name and set the **shortest expiry** that fits
47-
your workflow.
48-
3. Under **Repository access**, choose **Only select repositories** and pick just
49-
`runtimeverification/komet-node` (or your fork) — not "All repositories".
50-
4. Under **Permissions → Repository permissions**, grant only what you need. For a
51-
typical contributor workflow that is:
52-
- **Contents***Read and write* (clone, pull, push branches)
53-
- **Pull requests***Read and write* (open and update PRs)
54-
- **Issues***Read and write* (only if you triage or comment on issues)
55-
56-
`Metadata → Read` is required and is selected automatically. Leave every other
57-
permission at **No access**.
58-
5. Click **Generate token** and copy it — GitHub shows it only once. Paste it into
59-
the `gh auth login` prompt above.
60-
61-
> [!TIP]
62-
> Start with the narrowest set of permissions and add more only if a command
63-
> fails with an authorization error. A token that can do less is a smaller risk
64-
> if it ever leaks.
39+
Create a **fine-grained** personal access token at **GitHub → Settings → Developer
40+
settings → [Fine-grained personal access tokens](https://github.com/settings/personal-access-tokens/new)**
41+
with the least privilege for your work:
42+
43+
- **Repository access***Only select repositories*`runtimeverification/komet-node`
44+
- **Contents***Read and write*
45+
- **Pull requests***Read and write*
46+
- **Issues***Read and write* (only if you triage issues)
47+
48+
`Metadata → Read` is selected automatically; leave everything else at *No access*.
49+
50+
## Signing commits
51+
52+
To sign commits made with `git`, add an SSH or GPG key of type **Signing key** to
53+
your GitHub account.
54+
55+
> [!WARNING]
56+
> Never place an SSH key registered as an **Authentication key** in the container.
57+
> An authentication key grants full account-wide git access and would bypass the
58+
> minimal permissions of your fine-grained PAT. Use a **signing-only** key here.

0 commit comments

Comments
 (0)