script/gitea-requests, and the gitea refusals it confirms named in SPEC.md (closes #30) #134

Open
clawbot wants to merge 1 commits from issue-30-gitea-requests into next
Collaborator

script/gitea-requests (make gitea-requests) builds the image and runs gitea 1.27.3 behind it, every setting at its default but SWWAF_UPSTREAM_URL. It replays the cases of #30 and a short sample of ordinary use, and prints each request with what smallwebwaf did and the rule ids. make check does not run it.

Every case still holds. Fixing any would let through what SPEC.md says stays refused, so each is named, with how it plays out, in the notes specific to gitea under "Deployment":

  • API commits of Runtime.java (path): 944110, named.
  • Hidden lines of its diff (path): 944110, named.
  • Sign-in page whose redirect_to holds document.write.js: 941180, named.
  • install-script.sh in path: 932120, named.
  • The issue's other rules in path: 944130, 941180, 934100, 934130, 942140, named.
  • Pages of META-INF/services/org.apache.commons.logging.LogFactory and java.lang.String.md (944130), process.env.d.ts (934100), .../notes.txt (930100, 930110): named.
  • Image push reusing a layer of owner/python3-app (from): 932260, named.
  • Commit graph file filter, file-contents body: 944110, named.
  • Ordinary sample (sign-in, pages, a diff, API, git push, clone, fetch, image push): nothing refused.

Question for sneak: should the fourth change's parameters, plus file, body and from, also be left out of these rules, and the path out of 944130, 934100 and 930100? Reading taken: no, since SPEC.md says Java and Node.js code stay refused there.

  • Judgement call: named in the notes specific to gitea, where SPEC.md lists the other refusals, not under "Attack detection".
  • Unverified: no full run got past its image build, as Ubuntu's snapshot service answered 5xx; the replay ran on an image of next at 6fcbda6.

Model: opus-5-5

`script/gitea-requests` (`make gitea-requests`) builds the image and runs gitea 1.27.3 behind it, every setting at its default but `SWWAF_UPSTREAM_URL`. It replays the cases of https://git.eeqj.de/sneak/smallwebwaf/issues/30 and a short sample of ordinary use, and prints each request with what `smallwebwaf` did and the rule ids. `make check` does not run it. Every case still holds. Fixing any would let through what `SPEC.md` says stays refused, so each is named, with how it plays out, in the notes specific to gitea under "Deployment": - API commits of `Runtime.java` (`path`): 944110, named. - Hidden lines of its diff (`path`): 944110, named. - Sign-in page whose `redirect_to` holds `document.write.js`: 941180, named. - `install-script.sh` in `path`: 932120, named. - The issue's other rules in `path`: 944130, 941180, 934100, 934130, 942140, named. - Pages of `META-INF/services/org.apache.commons.logging.LogFactory` and `java.lang.String.md` (944130), `process.env.d.ts` (934100), `.../notes.txt` (930100, 930110): named. - Image push reusing a layer of `owner/python3-app` (`from`): 932260, named. - Commit graph `file` filter, file-contents `body`: 944110, named. - Ordinary sample (sign-in, pages, a diff, API, git push, clone, fetch, image push): nothing refused. Question for sneak: should the fourth change's parameters, plus `file`, `body` and `from`, also be left out of these rules, and the path out of 944130, 934100 and 930100? Reading taken: no, since `SPEC.md` says Java and Node.js code stay refused there. - Judgement call: named in the notes specific to gitea, where `SPEC.md` lists the other refusals, not under "Attack detection". - Unverified: no full run got past its image build, as Ubuntu's snapshot service answered 5xx; the replay ran on an image of `next` at `6fcbda6`. Model: opus-5-5
clawbot added the needs-review label 2026-10-14 19:32:21 +02:00
clawbot self-assigned this 2026-10-14 19:32:21 +02:00
clawbot added 1 commit 2026-10-14 19:51:30 +02:00
script/gitea-requests runs gitea 1.27.3 behind the image at its
defaults, sends through it the requests that reading gitea's source
found the Core Rule Set refuses, with a short sample of ordinary use,
and prints each request with the rule ids that matched it. make
gitea-requests runs it; make check does not.

Every case still holds, and each fix would let through what SPEC.md
says stays refused, so the notes specific to gitea now name them with
how each refusal plays out: file names in query parameters that read as
Java, script, PowerShell or SQL, such paths, and an image push that
reuses a layer of an image named like a command.

Model: opus-5-5
clawbot force-pushed issue-30-gitea-requests from 5c24d4a605 to 18469e236f 2026-10-14 19:51:30 +02:00 Compare
Some checks are pending
check / check (push) Waiting to run
You are not authorized to merge this pull request.
This pull request can be merged automatically.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin issue-30-gitea-requests:issue-30-gitea-requests
git checkout issue-30-gitea-requests
Sign in to join this conversation.