webdav
CLAUDE.md5.9k starsChanged 2 months agoMITView on GitHub
Guidance for Claude when working in this repository (hacdias/webdav). Advisory state lives on GitHub and is driven with the gh CLI: triage → draft → published, plus closed. Reports are routed as per SECURITY.md; only 5.x is supported. Always pull the published and remaining triage sets too, to dedup against. Read the source at HEAD and reproduce the claim; a failing makeTestServer case is better evidence than reading the matcher. Reach one verdict per advisory: Common traps: Record per advisory:…
We split this CLAUDE.md into the rules it gives an agent
3 rules. About 0 are common, 1 is distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 21
Always pull the published and remaining triage sets too, to dedup against.
- Very specific: line 25
Read the source at HEAD and reproduce the claim.
- Very specific: line 35
"Incomplete fix of a prior advisory.": Read the original fix commit and confirm the specific sibling path is still unguarded.
≈ “Common” is an estimate: at least 1 in 5 of the 25,680 CLAUDE.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
CLAUDE.md
Guidance for Claude when working in this repository (hacdias/webdav).
Handling security advisories
Advisory state lives on GitHub and is driven with the gh CLI: triage → draft → published, plus closed. Reports are routed as per SECURITY.md; only 5.x is supported.
1. Fetch
# List by state (also: published, draft, closed)
gh api '/repos/hacdias/webdav/security-advisories?state=triage&per_page=100' \
--jq '.[] | {ghsa_id, severity, summary, state}'
# Full report for one advisory
gh api /repos/hacdias/webdav/security-advisories/GHSA-xxxx-xxxx-xxxx \
--jq '.summary, "---", .description'Always pull the published and remaining triage sets too, to dedup against.
2. Verify — do NOT trust the report text
Read the source at HEAD and reproduce the claim; a failing makeTestServer case is better evidence than reading the matcher. Reach one verdict per advisory:
- CONFIRMED — defect exists at HEAD. Quote the exact
file:line. - FIXED — already patched; find the fix commit and the release carrying it.
- FALSE / NOT APPLICABLE — claim is wrong, or targets a different project.
- NOT EXPLOITABLE — pattern exists but no code path reaches the precondition.
- DUPLICATE — of a published advisory, or of another triage advisory.
Common traps:
- "Incomplete fix of a prior advisory." Read the original fix commit and confirm the specific sibling path is still unguarded.
GHSA-chxv-mvjv-f92jalready cleans paths innewRequestand matches trailing-slash rules against the bare collection. - Wrong project. Confirm the cited files, symbols, and options exist here — reports sometimes describe a fork or another WebDAV server.
- Containment vs authorization.
golang.org/x/net/webdavappliesslashCleanand keeps requests inside the served root, so "traversal out ofdirectory" is usually not the defect. The real class is the authorization layer disagreeing with the filesystem layer about which file a request names. - No
users:means no authentication, by design — it warns at startup. Not a vulnerability, but it changes the privilege precondition. - Overlapping reports. Several triage advisories may share one root cause: consolidate into one, close the rest as duplicates.
Record per advisory: verdict, file:line evidence, preconditions (default config? needs directories:? platform-specific? auth required?), disposition.
3. Severity
Set a CVSS v3.1 vector — GitHub derives the score and severity from it, overriding the plain severity field. Encode the real preconditions so the band is defensible: a required configuration or platform (case-insensitive filesystem, directories:) is AC:H; needing an account is PR:L. Rate the base case as a config with a users: block, and note the unauthenticated vector in the body when it is materially worse. Don't let an incomplete-fix follow-up outrank its parent.
gh api -X PATCH /repos/hacdias/webdav/security-advisories/GHSA-xxxx-xxxx-xxxx \
-f cvss_vector_string='CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N' \
--jq '{ghsa_id, severity, score: .cvss.score, vector: .cvss.vector_string}'4. Rewrite the title and body
The title is summary: concise and sentence-case, stating the vulnerability class then the mechanism, e.g. Authorization bypass: path rules can be evaded with dot segments or a bare collection name.
Rewrite description into the sections below, reusing the reporter's own wording where it is accurate. Drop the greeting and anything step 2 disproved. Use ### headings, keep this order, omit what doesn't apply. Keep the maintainer's voice — first person belongs only in quoted PoC steps.
| Section | Contents |
Summary | The defect and its root cause, naming the file and function, quoting the pre-fix code. |
Impact | Who can exploit it and what they get. State what is not affected. |
Proof of concept | Config and steps trimmed to the essentials, with observed results. |
Patches | Fixed in **vX.Y.Z**. Upgrade to that version or later. plus what the fix does and why it sits where it does. |
Workarounds | What the operator can do themselves. None. if nothing helped, saying why. |
Out of scope | What the report claimed that is deliberately not treated as a vulnerability, and why. |
References | Related issues, commits, published advisories. |
Send it as a file so the Markdown survives shell quoting:
jq -Rs '{description: .}' desc.md \
| gh api -X PATCH .../security-advisories/GHSA-xxxx-xxxx-xxxx --input -5. Affected versions
The package is always {ecosystem: "go", name: "github.com/hacdias/webdav/v5"}. vulnerable_version_range ends at the last release before the fix; add a lower bound when the defect was introduced in a known version, confirming with git log -S and git tag --contains. patched_versions is the release carrying the fix.
printf '%s' '{"vulnerabilities":[{"package":{"ecosystem":"go","name":"github.com/hacdias/webdav/v5"},"vulnerable_version_range":">= 5.10.0, <= 5.14.1","patched_versions":"5.14.2","vulnerable_functions":[]}]}' \
| gh api -X PATCH .../security-advisories/GHSA-xxxx-xxxx-xxxx --input -6. Move state
gh api -X PATCH .../security-advisories/GHSA-xxxx-xxxx-xxxx -f state=draft # ready to publish
gh api -X PATCH .../security-advisories/GHSA-xxxx-xxxx-xxxx -f state=closed # duplicate / N-A / not-exploitable- CONFIRMED → fix, release, set
patched_versions→ draft, then publish once the release is out. - DUPLICATE / NOT APPLICABLE / NOT EXPLOITABLE → closed.
The REST API cannot post advisory comments. Replies to reporters must be posted manually in the UI — draft the text for the maintainer.
Trending
Less talk lately.about the whole repository
Who's talking about hacdias/webdav
- github/advisory-database“Help with CVEs for five published Go advisories (oldest 65 days)”GitHub · Oct 2, 2026 · 1 reactions
- OnjLouis/Clipman“Feature request: Native WebDAV support for Clipman”GitHub · Jul 26, 2026 · 1 reactions
- NixOS/nixpkgs“webdav: 5.3.0 -> 5.4.2”GitHub · Oct 13, 2024 · 1 reactions
- floccusaddon/floccus“Tab syncing failed: "Detected creation of folder loop:"”GitHub · Mar 30, 2022 · 1 reactions
- floccusaddon/floccus“"Failed to map parentId: 6341" sending Chrome bookmarks bar folder contents”GitHub · Mar 23, 2022 · 1 reactions
The biggest 5 of 50 mentions linking to the repository that our crawl found. Each line is their own headline.
See all 50
Talked about on GitHub (50 times).
On GitHub · 50
- Oct 2, 2026Help with CVEs for five published Go advisories (oldest 65 days) — github/advisory-database1 reaction
- Jul 26, 2026Feature request: Native WebDAV support for Clipman — OnjLouis/Clipman1 reaction · 1 comment
- Oct 13, 2024webdav: 5.3.0 -> 5.4.2 — NixOS/nixpkgs1 reaction · 2 comments
- Mar 30, 2022Tab syncing failed: "Detected creation of folder loop:" — floccusaddon/floccus1 reaction · 14 comments
- Mar 23, 2022"Failed to map parentId: 6341" sending Chrome bookmarks bar folder contents — floccusaddon/floccus1 reaction · 4 comments
45 more on GitHub
- Mar 3, 2022希望支持本地WebDav功能! — webclipper/web-clipper1 reaction · 2 comments
- Oct 24, 2026⬆️ Upgrade Webdav to 5.17.2 (addon 26.10.3) — LeGitHubDeTai/ha_addons0 reactions
- Oct 24, 2026webdav: 5.17.1 -> 5.17.2 — NixOS/nixpkgs0 reactions
- Oct 12, 2026webdav: 5.16.1 -> 5.17.1 — NixOS/nixpkgs0 reactions
- Oct 10, 2026⬆️ Upgrade Webdav to 5.17.1 (addon 26.10.2) — LeGitHubDeTai/ha_addons0 reactions
- Oct 3, 2026⬆️ Upgrade Webdav to 5.17.0 (addon 26.10.1) — LeGitHubDeTai/ha_addons0 reactions
- Oct 3, 2026webdav 5.17.0 — Homebrew/homebrew-core0 reactions · 1 comment
- Sep 30, 2026webdav: 5.16.0 -> 5.16.1 — NixOS/nixpkgs0 reactions
- Sep 28, 2026⬆️ Upgrade Webdav to 5.16.1 (addon 26.9.3) — LeGitHubDeTai/ha_addons0 reactions
- Sep 26, 2026webdav 5.16.1 — Homebrew/homebrew-core0 reactions · 1 comment
- Sep 20, 2026webdav: 5.15.1 -> 5.16.0 — NixOS/nixpkgs0 reactions
- Sep 20, 2026webdav 5.16.0 — Homebrew/homebrew-core0 reactions · 1 comment
- Sep 14, 2026有电脑端集成一个webdav服务器 — sobranie2406/modureader0 reactions · 2 comments
- Sep 7, 2026webdav: 5.15.0 -> 5.15.1 — NixOS/nixpkgs0 reactions
- Sep 4, 2026webdav 5.15.1 — Homebrew/homebrew-core0 reactions · 1 comment
- Aug 28, 2026webdav 5.15.0 — Homebrew/homebrew-core0 reactions · 1 comment
- Aug 28, 2026webdav: 5.14.2 -> 5.15.0 — NixOS/nixpkgs0 reactions
- Aug 8, 2026webdav: 5.14.1 -> 5.14.2 — NixOS/nixpkgs0 reactions
- Aug 5, 2026webdav 5.14.2 — Homebrew/homebrew-core0 reactions · 1 comment
- Jul 30, 2026webdav: 5.14.0 -> 5.14.1 — NixOS/nixpkgs0 reactions
- Jul 25, 2026webdav 5.14.1 — Homebrew/homebrew-core0 reactions · 1 comment
- Jul 20, 2026webdav: 5.13.0 -> 5.14.0 — NixOS/nixpkgs0 reactions
- Jul 12, 2026webdav 5.14.0 — Homebrew/homebrew-core0 reactions · 1 comment
- Jul 12, 2026webdav: 5.12.0 -> 5.13.0 — NixOS/nixpkgs0 reactions
- Jul 9, 2026webdav 5.13.0 — Homebrew/homebrew-core0 reactions · 1 comment
- Jul 3, 2026webdav: 5.11.11 -> 5.12.0 — NixOS/nixpkgs0 reactions
- Jun 27, 2026webdav 5.12.0 — Homebrew/homebrew-core0 reactions · 1 comment
- Jun 24, 2026webdav: 5.11.10 -> 5.11.11 — NixOS/nixpkgs0 reactions
- Jun 3, 2026webdav: 5.11.9 -> 5.11.10 — NixOS/nixpkgs0 reactions
- Jun 3, 2026webdav 5.11.10 — Homebrew/homebrew-core0 reactions · 1 comment
- May 15, 2026webdav: 5.11.8 -> 5.11.9 — NixOS/nixpkgs0 reactions
- May 14, 2026webdav 5.11.9 — Homebrew/homebrew-core0 reactions · 1 comment
- May 5, 2026webdav: 5.11.7 -> 5.11.8 — NixOS/nixpkgs0 reactions · 1 comment
- May 5, 2026webdav 5.11.8 — Homebrew/homebrew-core0 reactions · 1 comment
- Apr 28, 2026webdav: 5.11.6 -> 5.11.7 — NixOS/nixpkgs0 reactions
- Apr 28, 2026webdav 5.11.7 — Homebrew/homebrew-core0 reactions · 1 comment
- Apr 19, 2026webdav: 5.11.5 -> 5.11.6 — NixOS/nixpkgs0 reactions
- Apr 18, 2026webdav 5.11.6 — Homebrew/homebrew-core0 reactions · 1 comment
- Apr 11, 2026webdav: 5.11.4 -> 5.11.5 — NixOS/nixpkgs0 reactions
- Apr 11, 2026webdav 5.11.5 — Homebrew/homebrew-core0 reactions · 1 comment
- Mar 31, 2026webdav: 5.11.3 -> 5.11.4 — NixOS/nixpkgs0 reactions
- Mar 29, 2026webdav 5.11.4 — Homebrew/homebrew-core0 reactions · 1 comment
- Mar 22, 2026webdav: 5.11.2 -> 5.11.3 — NixOS/nixpkgs0 reactions
- Mar 21, 2026webdav 5.11.3 — Homebrew/homebrew-core0 reactions · 1 comment
- Mar 14, 2026webdav 5.11.2 — Homebrew/homebrew-core0 reactions · 1 comment
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

