Skip to content

Commit fc17267

Browse files
committed
Add SECURITY.md, PR and issue templates with private vuln reporting
1 parent 921c98b commit fc17267

5 files changed

Lines changed: 130 additions & 0 deletions

File tree

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
---
2+
name: Bug report
3+
about: Report a bug in crudauth
4+
title: ''
5+
labels: bug
6+
assignees: ''
7+
---
8+
9+
**Describe the bug**
10+
A clear and concise description of what's wrong.
11+
12+
**Reproduce**
13+
A minimal, self-contained example.
14+
15+
```python
16+
# your code here
17+
```
18+
19+
**Expected vs actual**
20+
What you expected to happen, and what actually happened (include the full error/traceback).
21+
22+
**Environment**
23+
- crudauth version:
24+
- Python version:
25+
- FastAPI / SQLAlchemy / Pydantic versions:
26+
- Transport(s) and backend (e.g. session + bearer, memory or redis):
27+
28+
**Additional context**
29+
Anything else that helps.
30+
31+
> Found a security vulnerability? Do not file it here. See [SECURITY.md](../../SECURITY.md).

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
blank_issues_enabled: false
2+
contact_links:
3+
- name: Report a security vulnerability
4+
url: https://github.com/benavlabs/crudauth/security/advisories/new
5+
about: Report privately via a GitHub Security Advisory, or email igor@benav.io. Do not open a public issue.
6+
- name: Questions and discussion (Discord)
7+
url: https://discord.com/invite/TEmPs22gqB
8+
about: Ask questions and chat with the community.
9+
- name: Documentation
10+
url: https://benavlabs.github.io/crudauth
11+
about: Read the docs before filing an issue.
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
---
2+
name: Feature request
3+
about: Suggest an idea for crudauth
4+
title: ''
5+
labels: enhancement
6+
assignees: ''
7+
---
8+
9+
**Problem**
10+
What are you trying to do that's hard or impossible today?
11+
12+
**Proposed solution**
13+
What you'd like to happen.
14+
15+
**Alternatives considered**
16+
Other approaches you've thought about, and why they fall short.
17+
18+
**Additional context**
19+
Anything else, including how it fits crudauth's transport-agnostic model.

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
## Description
2+
3+
What does this PR do, and why?
4+
5+
## Changes
6+
7+
-
8+
9+
Link any related issues or PRs.
10+
11+
## Checklist
12+
13+
- [ ] `uv run ruff check crudauth tests` passes
14+
- [ ] `uv run mypy crudauth tests --config-file pyproject.toml` passes
15+
- [ ] `uv run pytest` passes
16+
- [ ] Added or updated tests for the change (if applicable)
17+
- [ ] Updated the docs if behavior changed (if applicable)
18+
- [ ] Kept imports pointing inward per [crudauth/ARCHITECTURE.md](../crudauth/ARCHITECTURE.md)
19+
20+
## Notes
21+
22+
Anything reviewers should know.

SECURITY.md

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# Security Policy
2+
3+
## Supported versions
4+
5+
crudauth is pre-1.0. During this phase only the latest release receives security fixes.
6+
Always run the latest version.
7+
8+
| Version | Supported |
9+
| -------------- | ------------- |
10+
| Latest release | Yes |
11+
| Older releases | No |
12+
13+
## Reporting a vulnerability
14+
15+
Please report security issues privately. Do not open a public issue for a vulnerability.
16+
17+
Use either channel:
18+
19+
- Email: **igor@benav.io**
20+
- GitHub Security Advisory: https://github.com/benavlabs/crudauth/security/advisories/new
21+
22+
Include whatever you have: a description, steps to reproduce, the impact, the affected
23+
version, and a suggested fix if you have one.
24+
25+
## What to expect
26+
27+
- Acknowledgment within 48 hours.
28+
- A status update within a week.
29+
- A fix timeline based on severity, critical issues first.
30+
- Coordinated disclosure once a fix is released, with credit if you want it.
31+
32+
## Scope
33+
34+
crudauth is an authentication library, so its security behavior is the product. Reports
35+
about the auth surface are especially welcome:
36+
37+
- session and CSRF handling
38+
- bearer-token signing, scope handling, and revocation
39+
- login lockout and rate limiting
40+
- OAuth `state` handling and redirect safety
41+
- password storage and verification
42+
- registration field gating (mass-assignment)
43+
- timing and user-enumeration properties of the login path
44+
45+
Some properties are documented as irreducible by design (for example, a holder of a correct
46+
password can still infer that an account is disabled). If you are unsure whether something
47+
counts, report it anyway.

0 commit comments

Comments
 (0)