Add a per-host cookie jar for Repeater and Intruder
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 35/100
Research direction
Start by locating the direct HTTP client paths for Repeater and Intruder, then trace where captured Cookie headers are handled. The issue does not name source files or tests, so first map the request and response flows. Done means per-host cookies are stored and matched by domain, path, secure flag, and expiry, with the listed UI, precedence, privacy, and test criteria covered.
Written by the indexing model from the issue text.
Description
Context
The browser owns cookies for proxied browsing, but Repeater and Intruder use a
direct client. They currently copy whatever Cookie header was captured, so a
session that expires or rotates cannot be refreshed without manual header
editing. Session/authentication handling ranks seventh in both the Burp and ZAP
workflow research, which calls for a small session slice in M3/M4.
Proposal
Start with a shared per-host cookie jar:
- Parse
Set-Cookieresponses (domain, path, secure, expiry, and same-site
metadata where practical) and store cookies per authority. - Provide a UI to inspect, add, edit, and delete cookies without exposing values
in logs. - Apply matching cookies to direct Repeater and Intruder requests when enabled.
Define precedence when the user supplied aCookieheader. - Add an opt-in "update cookies from responses" behavior and a manual refresh.
- Respect
Securewhen the target scheme is HTTP unless the user explicitly
overrides it. - Keep a login-macro/re-authentication flow as a follow-up; this issue covers the
cookie jar foundation.
Acceptance criteria
- Cookies survive across Repeater sends within a session and refresh from
responses when enabled. - Domain/path/secure/expiry matching has tests.
- User-supplied headers have documented precedence.
- Cookies are not written to logs or exported implicitly.
- The UI and safety/workbench docs explain what is stored in memory.
- Dominant language
- Rust
- Stars
- 1
- Forks
- 0
- Avg merge
- 24m
- Merged PRs (30d)
- 52
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from andyintheshell/perseid
-
documentation
Difficulty 1/5 Under an hour Newbie friendliness 85/100
andyintheshell/perseid#73 ·
Maintainers usually reply within 1 day
-
enhancement help wanted priority: p3
Difficulty 5/5 Over a week Newbie friendliness 25/100
andyintheshell/perseid#72 ·
Maintainers usually reply within 1 day
-
enhancement priority: p3
Difficulty 5/5 Over a week Newbie friendliness 35/100
andyintheshell/perseid#71 ·
Maintainers usually reply within 1 day
-
enhancement priority: p3
Difficulty 5/5 Over a week Newbie friendliness 35/100
andyintheshell/perseid#70 ·
Maintainers usually reply within 1 day
-
accessibility enhancement help wanted priority: p2
Difficulty 5/5 Over a week Newbie friendliness 38/100
andyintheshell/perseid#69 ·
Maintainers usually reply within 1 day
All issues in andyintheshell/perseid
Similar issues
-
checkpoint/verify/rebuild_indexes on a thread holding a WriteTransaction deadlock instead of INT-001Openbug known-issue
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
project-minigraf/minigraf#734 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
-
Difficulty 1/5 Under an hour Newbie friendliness 88/100
Maintainers usually reply within 4 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
bitcoindevkit/electrum_streaming_client#57 ·
Maintainers usually reply within 2 days