UpstreamWitness is described by its author as an open-source tool for checking whether later public repository activity is materially related to a submitted fix or public pull request. It gathers visible evidence into Markdown and JSON reports; it does not establish who authored an upstream change or whether a bounty will be accepted or paid.
What UpstreamWitness tracks
The tool is intended for security researchers, bounty workers, and open-source contributors asking: “Did upstream actually change in a materially related way?” It can start with a public pull request or a submission date, then examine public repository activity, including commits, pull-request state, releases, changed paths, symbols, high-precision anchors, keyword overlap, and review chronology.
As an Amazon Associate I earn from qualifying purchases.
These capabilities and intended uses are described in an article attributed to project author Ranvir Jat. They are author-reported descriptions, not findings from an independent test or audit. The available account says the tool produces Markdown and JSON evidence reports.
How to start a trace
The example command in the author-attributed article starts from a public pull request:
#1 Best Overall
upstreamwitness trace-pr https://github.com/owner/repo/pull/123 --out-dir my-trace
Use a public pull-request URL in place of the example. The described workflow does not require confidential vulnerability-report text. The command and workflow are examples from the article, not independently verified installation guidance.
What the outcome labels mean
The labels distinguish direct evidence that the tracked pull request reached upstream from weaker conclusions based on overlap with later public activity.
| Label | Meaning described by the author | How to read it |
|---|---|---|
UPSTREAM_CONFIRMED |
The tracked public pull request itself was merged upstream. | Directly indicates the tracked PR was merged; it is distinct from finding a similar change elsewhere. |
STRONG_SIGNAL |
Multiple independent public evidence channels correlate with later upstream changes. | A strong correlation signal, but still requires human verification. |
POSSIBLE_SIGNAL |
Weaker but meaningful overlap across multiple channels. | A lead to investigate, not a conclusion about attribution. |
NO_PUBLIC_SIGNAL |
No meaningful public evidence was found. | Indicates the described public evidence search did not find a meaningful signal; it does not establish what happened privately. |
These are the tool’s described categories, not a validated scoring rubric. The account does not provide a quantified threshold for how much evidence qualifies for each signal label.
Distinguish a merged PR from a related upstream change
A tracked pull request being merged is not the same finding as a separate upstream change that resembles the submitted fix. A contributor branch may change without upstream adopting that change; evidence of the former alone does not establish the latter. When the tracked PR was not merged, later changes can still be materially related, but similarity and timing support correlation rather than proof that one caused or supplied the other.
Rank #3
Review history also needs to be read chronologically. The author’s example is a reviewer requesting changes on commit A, followed by the contributor pushing commit B. UpstreamWitness is described as recording that sequence rather than flattening the review into a single state. Check which commit the review addressed and what happened afterward before drawing a conclusion from an old review status.
What a report can—and cannot—establish
A report can organize public observations across commits, pull-request state, releases, code locations, textual overlap, and review timing. Those observations may help a person assess whether a later upstream change is materially related to a submission.
They do not prove who authored the change, that a project accepted a bounty claim, that anyone has a legal entitlement, or that payment is due. As Jat puts it: “The important part is what it does not claim: correlation evidence is not proof of attribution, bounty acceptance, legal entitlement, or payment.” A person assessing a case still needs to verify the underlying public changes and apply the relevant project or bounty-program rules.
Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Fix the driver behind crashes, sound loss and screen glitches3Repair Windows errors before they cause bigger problemsPrivacy boundary and practical limits
The tool is described as designed around public repositories and public evidence, without requiring confidential reports, private bounty discussions, secrets, or internal correspondence. The author says cases that depend on private information should fail closed. These are stated design boundaries, not independently audited security guarantees; do not treat them as proof that any particular use or implementation is secure.
Best Value
Its usefulness is also bounded by what is publicly observable. A lack of public signal is not evidence that no related work occurred, especially if the relevant activity is private or not represented in the repository history. Likewise, multiple public overlaps can strengthen a lead without resolving attribution.
Version and installation details
The author-attributed article reports Python 3.11–3.13 support, a standard-library runtime for the core package, and a v0.1.0-rc.1 release candidate. Those details have not been independently verified as current here. Check the project repository and release information before relying on them or following installation steps; the available description is not enough to confirm present support or setup requirements.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.
Free tools Windows power users keep installed
One-click scans. No signup required.




