Is Search by ViewPDF safe?

High risk

Search by ViewPDF sets hviewpdf.com as the default search engine and sends ad-tracking data from browsing history to viewpdf.com on install.

When installed, the extension overrides the browser's default search engine with hviewpdf.com, contradicting its description which states it updates the search provider to Yahoo. On first install, it reads the most recent Chrome Web Store page from the user's browsing history to extract ad-tracking parameters (affiliate source, Google Click ID) and transmits them to viewpdf.com by opening a new tab. All subsequent searches typed into the address bar are routed through hviewpdf.com.

75Risk

AI-generated. Findings may contain errors. Those marked Verified have been manually reviewed.

Publishers can request a review.

Findings

SeverityHIGH
ClassUNWANTED
TypeUnexpected
CWECWE-506
SourceAI SANDBOX

Default search routes through hviewpdf.com, a Yahoo affiliate gateway

The manifest sets omnibox default search to hviewpdf.com, not Yahoo, though the store description claims it updates search to Yahoo.

A query to hviewpdf.com/search/?q=<term> 302s to uk.search.yahoo.com/yhs/search, hspart=dcola/hsimp=yhs089.

01EvidenceCAUSE EFFECT
What actually happens
You did this

You type a search into the Chrome address bar and press enter.

After install, this extension is the default search provider, so the omnibox routes the query through it.

The extension did this

The query is sent to hviewpdf.com, a third-party domain.

The destination is hviewpdf.com/search/, not Yahoo as the store listing states.

02EvidenceCODE COMPARE
The code that does this

The manifest declares hviewpdf.com as the default search, while the listing says Yahoo

What it actually does
What the search URL resolves tomanifest.json
// Default search target declared in the manifest:
//   https://hviewpdf.com/search/?q={searchTerms}
// The {searchTerms} placeholder is replaced with the user's query.
// The host is hviewpdf.com, a third party — not search.yahoo.com.
03EvidenceNETWORK CAPTURE
Captured request
GEThttps://hviewpdf.com/search/?q=example_query (illustrative)
HTTP 302 redirect to https://uk.search.yahoo.com/yhs/search?hspart=dcola&hsimp=yhs-089&p=example_query; the query is forwarded to Yahoo's syndicated-search (yhs) endpoint with affiliate parameters identifying the redirect source.
04EvidenceTHIRD PARTY LIST
Where searches go before reaching Yahoo
  • hviewpdf.com

    Receives every omnibox query first as the declared default search provider; redirects to Yahoo's yhs gateway.

  • uk.search.yahoo.com

    Yahoo syndicated-search (yhs) endpoint reached only after the hviewpdf.com redirect, carrying affiliate parameters hspart=dcola, hsimp=yhs-089.

05EvidencePLAIN NOTE
Stated behavior vs. observed behavior

The store description states the extension 'updates your default search provider to Yahoo.' The manifest sets the default search to hviewpdf.com, a third-party domain. Yahoo results are returned only after hviewpdf.com receives the query and issues a redirect, so the listing's description does not match the configured search destination.

SeverityMEDIUM
ClassUNWANTED
TypeUnexpected
CWECWE-200
SourceAI SANDBOX

On install, reads browsing history for ad-referral params and opens viewpdf.com

On install, onInstalled runs chrome.history.search for the last Web Store visit, parsing ad params (ssg, sp, gclid) to open viewpdf.com with them.

The 'history' permission is missing, so it falls back to viewpdf.com?ssg=00&sp=bing&gclid=x.

01EvidenceCAUSE EFFECT
What actually happens
You did this

You install the extension for the first time.

The onInstalled handler only runs when reason === 'install', so this is first-install behavior.

The extension did this

The extension reads browsing history for Web Store referral parameters and opens a tab to viewpdf.com.

It looks up the most recent chrome.google.com/webstore/detail/ URL and forwards its ssg, sp and gclid values.

02EvidenceCODE COMPARE
The code that does this

The install handler reads history, parses ad parameters, and navigates to viewpdf.com

What it actually does
What the handler doescustom.js
// On first install only:
//  1. Search browsing history for the most recent Chrome Web Store
//     detail page the user visited.
//  2. Pull its ad-referral query params: ssg, sp (source), gclid (Google
//     Click ID set by Google Ads).
//  3. Open viewpdf.com/ds/success?ssg=..&sp=..&gclid=.. carrying them.
//  4. If the history read fails (no 'history' permission, or no page),
//     fall back to hardcoded ssg=00&sp=bing&gclid=blank.
03EvidenceFIELD TABLE
Parameters the handler targets from the Web Store referral URL
FieldValueWhy it matters
Ad source group (ssg)
00An advertising source-group identifier carried on the install referral link.
Source (sp)
bingThe marketing source/channel that drove the install.
Google Click ID (gclid)
blankA Google Ads click identifier that ties the install back to a specific ad click and campaign.
04EvidenceNETWORK CAPTURE
Captured request
POSThttps://www.viewpdf.com/detroitchicago/greenoaks.gif
Page-view tracking beacon fired immediately after the install-time tab opened to viewpdf.com.
Body
ds=<base64 page-view payload encoding {type:pageview, visit_uuid, pageview_id}>
05EvidencePLAIN NOTE
What was observed vs. what the code intends

During dynamic analysis the install opened a tab to https://www.viewpdf.com/?ssg=00&sp=bing&gclid=blank — the hardcoded fallback values — because the manifest declares no 'history' permission and the chrome.history.search call rejected. The code path that reads browsing history and forwards real referral parameters to viewpdf.com is present and would run if the permission were granted; as shipped it does not complete the history read.

Data recipients

hviewpdf.comviewpdf.com
Updated 17 September 2026adnlfjejkoppokfkalapbdcdgajahblf