cloudflare-leaky-paths — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited cloudflare-leaky-paths (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Block high-signal scanner paths at Cloudflare's edge so they never hit the origin. Cuts log noise, origin load, and the risk of an exposed secret being fetched. Inspired by the leaky-paths wordlist (github.com/ayoubfathi/leaky-paths).
Build a single Cloudflare custom-rule expression by OR-ing the path groups the user wants. Each clause is (http.request.uri.path contains "<path>").
Dotfiles & secrets /.env /.git /.svn /.aws /.ssh /.config /.DS_Store /.htaccess /.htpasswd
WordPress /wp-login /wp-admin /wp-includes /wp-content /xmlrpc
Admin & DB tools /phpmyadmin /adminer /server-status /server-info
Backups & dumps /backup /backup.zip /dump.sql /db.sql /database.sql
Infra & CI config /docker-compose.yml /.dockerenv /.terraform /.github /.vscode /.idea
Only include WordPress / admin groups if the site actually has none of those — otherwise you may block legitimate /wp-admin logins. Confirm the stack first.(http.request.uri.path contains "/.env")
or (http.request.uri.path contains "/.git")
or (http.request.uri.path contains "/.aws")
or (http.request.uri.path contains "/wp-login")
or (http.request.uri.path contains "/phpmyadmin")
or (http.request.uri.path contains "/xmlrpc")block-leaky-paths.curl -X POST \
"https://api.cloudflare.com/client/v4/zones/$ZONE_ID/firewall/rules" \
-H "Authorization: Bearer $CF_API_TOKEN" \
-H "Content-Type: application/json" \
-d '[{
"filter": { "expression": "<EXPRESSION>" },
"action": "block",
"description": "block-leaky-paths"
}]'resource "cloudflare_ruleset" "block_leaky_paths" {
zone_id = var.zone_id
name = "block-leaky-paths"
kind = "zone"
phase = "http_request_firewall_custom"
rules {
action = "block"
expression = "<EXPRESSION>"
description = "Block scanner/leaky paths at the edge"
enabled = true
}
}curl -s -o /dev/null -w "%{http_code}\n" https://example.com/.env # expect 403
curl -s -o /dev/null -w "%{http_code}\n" https://example.com/ # expect 200reason to request /.env.
contains matches anywhere in the path, so /foo/.git/config is caught too.high-signal "quick win" endpoints scanners hit first.
Credit: trick popularized by @vikingmute; paths distilled from ayoubfathi/leaky-paths.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.