Skip to content

Fix USENIX discovery coverage and add QUIC-Attacker findings - #38

Open
myleshorton wants to merge 2 commits into
mainfrom
corpus-usenix-audit
Open

myleshorton wants to merge 2 commits into
mainfrom
corpus-usenix-audit

Conversation

@myleshorton

@myleshorton myleshorton commented Sep 7, 2026 •

Copy link
Copy Markdown
Contributor

The USENIX crawler only visited cycle acceptance pages, omitting papers available in the final technical program. On September 7, the 2026 Cycle 2 URL returned 404, and neither QUIC-Attacker nor the Geedge source-code paper appeared on Cycle 1. Include the final program for both supported years and recognize “Geedge” in the title filter. Existing identity deduplication handles overlap between pages.

Add QUIC-Attacker with three source-grounded findings on compatibility, frame-placement security, and reusable evaluation catalogs. Its relevance to protocol generation is explicitly distinguished from a demonstrated censorship-evasion result.

The public-site audit found the other 13 papers already published with extracted findings. Geedge was ingested August 24 through net4people. The Mini was inaccessible during this audit, so its per-run logs were not inspected; the source-page coverage gap was reproduced directly.

Validation: Go build, vet, and all tests passed; corpus bundling and static-site generation passed (492 papers, 2,131 findings). A regression test covers final-program inclusion, parsing both USENIX titles, title filtering, and duplicate recognition.

Summary by CodeRabbit

  • New Features

    • Expanded USENIX Security coverage to include the aggregated technical-sessions program.
    • Added a new keyword filter term for improved corpus discovery.
    • Added a public corpus entry for the QUIC-Attacker study, including related findings on compatibility, frame placement, denial-of-service, and injection vulnerabilities.
  • Bug Fixes

    • Prevented duplicate records when papers appear across multiple program pages.

@coderabbitai

coderabbitai Bot commented Sep 7, 2026 •

Copy link
Copy Markdown

Review Change Stack

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: 554e27a4-90bc-466b-b0db-c913d0f97aaf

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Team

Run ID: d16a119f-fd2c-4d46-af5b-0276c5e3ebc5

📥 Commits

Reviewing files that changed from the base of the PR and between 34bb9f5 and 9dd3ed8.

📒 Files selected for processing (6)
  • cmd/corpus-crawl/main.go
  • cmd/corpus-crawl/main_test.go
  • corpus/findings/2026-erinola-quic-attacker__coalesced-initial-compatibility.yaml
  • corpus/findings/2026-erinola-quic-attacker__composition-test-catalog.yaml
  • corpus/findings/2026-erinola-quic-attacker__frame-placement-security.yaml
  • corpus/papers/2026-erinola-quic-attacker.yaml

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

The crawler now includes the USENIX Security technical-sessions page and separates page parsing from fetching. Tests cover final-program parsing and deduplication. The corpus adds a QUIC-Attacker paper record and three related evaluation findings.

Changes

USENIX Security crawl expansion

Layer / File(s) Summary
URL construction and parser extraction
cmd/corpus-crawl/main.go
The crawler builds three USENIX Security URLs and moves section parsing into parseUSENIXSecurity.
Final-program integration and validation
cmd/corpus-crawl/main.go, cmd/corpus-crawl/main_test.go
The crawl loop fetches the technical-sessions page, adds the geedge keyword, and tests parsing, keyword matching, and deduplication.

QUIC-Attacker corpus entry

Layer / File(s) Summary
Paper metadata and evaluation findings
corpus/papers/2026-erinola-quic-attacker.yaml, corpus/findings/2026-erinola-quic-attacker__*.yaml
The corpus adds the QUIC-Attacker paper and findings about QUIC fragmentation, frame placement, techniques, defenses, and source metadata.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Sequence Diagram(s)

sequenceDiagram
  participant CrawlLoop
  participant fetchUSENIXSecurity
  participant parseUSENIXSecurity
  CrawlLoop->>fetchUSENIXSecurity: fetch technical-sessions and cycle pages
  fetchUSENIXSecurity->>parseUSENIXSecurity: pass page text, URL, and year
  parseUSENIXSecurity-->>fetchUSENIXSecurity: return candidate records
  fetchUSENIXSecurity-->>CrawlLoop: provide parsed records
Loading

Merge Risk: ⚪ Minimal · up to 9dd3e

The crawler and corpus additions pass the applicable checks with no demonstrated merge-blocking risk.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 6 functions across 2 files. (4 skipped: 4 … Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes both primary changes: expanded USENIX discovery coverage and added QUIC-Attacker findings.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage

Explanation

Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 6 functions across 2 files. (4 skipped: 4 unsupported.)

✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch corpus-usenix-audit

Comment @coderabbitai help to get the list of available commands.

@myleshorton

Copy link
Copy Markdown
Contributor Author

@copilot resolve the merge conflicts on this branch.

# Conflicts:
#	cmd/corpus-crawl/main.go

Co-authored-by: myleshorton <1143966+myleshorton@users.noreply.github.com>

Copilot AI commented Sep 29, 2026

Copy link
Copy Markdown

@copilot resolve the merge conflicts on this branch.

Resolved the conflict and merged main in commit daf7742. The USENIX URL iteration and upstream fetch-error reporting are both preserved.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants