Firefox Add-ons

Better Peakbagger

by wilmtang · 1 users · 5.0 rating
1ba8c531-ab63-55ae-9f2d-a2321c134f86 | v4.0.2
85/ 100
CRITICAL risk
+20 since v4.0.1
Analyst verdict
Do not install

The AI review rates the findings as likely false positive, but the risk score (85/100) still counts them.

Analysis record

Analysed
6 days ago
Version
v4.0.2
Artifact
SHA256 713…A82
Source
Findings (non-IoC)

Is Better Peakbagger safe?

Better Peakbagger adds a set of tools to Peakbagger.com: it captures an activity as a draft, reads GPX tracks, filters ascents and applies a dark theme. The manifest data in this scan lists no host permissions, so nothing here points at broad access across every site you visit.

Three network calls turn up in the source. content/ascent-filter.js opens a socket.io connection, content/big-map.js makes a fetch call and provider-page.js makes another. Each one lines up with a feature the extension advertises, since a live map and a provider lookup both need to pull data from somewhere. The long domain list holds mostly junk. Strings like center.lat, camera.transform.center.lat and cm-editor.cm are JavaScript property chains that the extractor read as hostnames.

Two obfuscation findings point at content/ascent-editor.js. Line 145 carries a heavy load of Unicode characters and line 183 holds a large base64 blob. An editor handling place names with accents, degree and elevation symbols and encoded track data will trip both checks without hiding anything.

Nothing in the package matched a malware signature, and that absence tells you more than the finding count does. What the scanner reacted to were minified property names and character data inside an editor file, not code reaching out to a stranger's server.

Evidence ledger

Ranked by severity · findings with a source location link to the code viewer

295 detail rows

YARA Rule Matches

14 rules
SeverityRuleHitsFilesMetadata
LOWpostinstall persistence mechanism 3
PRIVACY.mdbackground.jscontent/ascent-editor.js
-
LOWNoUseEval 1
vendor/maplibre-gl-worker.mjs
-
LOWNoUseWeakRandom 3
content/ascent-editor.jsbackground.jsvendor/maplibre-gl-shared.mjs
-
LOWpostinstall file download 33
popup/popup.jsREADME.mdoptions/favorites-page.js +30 more
-
LOWUsingIntrusivePermissionsWithGeolocation 1
vendor/maplibre-gl.mjs
-
LOWSQLInjection 1
background.js
-
LOWpostinstall file manipulation 57
content/terrain-map.jsoptions/drafts-page.jsvendor/maplibre-gl.mjs +54 more
-
LOWpostinstall network communication 62
terrain/terrain-frame.jsoptions/drafts-page.jsREADME.md +59 more
-
LOWpostinstall crypto operations 21
vendor/maplibre-gl.mjsREADME.mdphotos/photos.html +18 more
-
LOWpostinstall system command 63
photos/photos-head.jsoptions/drafts-page.jsREADME.md +60 more
-
LOWpostinstall registry modification 3
vendor/maplibre-gl-shared.mjsPRIVACY.mdvendor/chart.umd.min.js
-
LOWpostinstall obfuscation 29
options/drafts-page.jscontent/peak-weather.jsvendor/marked.umd.js +26 more
-
LOWOriginsNotVerified 1
content/gpx-analyzer.js
-
LOWLocalStorageShouldNotBeUsed 12
content/theme.jscaltopo/access-head.jsgaia/access-head.js +9 more
-

Publisher Evidence

Limited evidence

wilmtang

Publisher identity, store signals, distribution reach, and warning signals used for context. Treat this as supporting evidence, not a clean bill of health.

Firefox does not expose the same publisher verification data as IDE stores, so this score is deliberately conservative.

29
Noisy-finding weight
x1.00
Publisher domain
No domain
Missing
Store verification signal
Limited signal
Limited
Extension portfolio
4
Portfolio

12 evidence rows available.

Finding Categories

2
Obfuscation
3
Network
436
IoC Indicators

YARA Rules Matched

14 rules(290 hits)
postinstall persistence mechanism NoUseEval NoUseWeakRandom postinstall file download UsingIntrusivePermissionsWithGeolocation SQLInjection postinstall file manipulation postinstall network communication postinstall crypto operations postinstall system command postinstall registry modification postinstall obfuscation OriginsNotVerified LocalStorageShouldNotBeUsed

Requested Permissions

45 permissions
activeTab
Medium
storage
Low
scripting
Low
tabGroups
Low
alarms
Low
https://www.peakbagger.com/*MasterMap.aspx*
Low
https://peakbagger.com/*MasterMap.aspx*
Low
https://www.peakbagger.com/*mastermap.aspx*
Low
https://peakbagger.com/*mastermap.aspx*
Low
https://www.peakbagger.com/*
Low
https://peakbagger.com/*
Low
https://www.peakbagger.com/climber/ascentedit.aspx*
Low
https://www.peakbagger.com/climber/AscentEdit.aspx*
Low
https://peakbagger.com/climber/ascentedit.aspx*
Low
https://peakbagger.com/climber/AscentEdit.aspx*
Low
https://www.peakbagger.com/climber/ClimbListC.aspx*
Low
https://www.peakbagger.com/climber/climblistc.aspx*
Low
https://peakbagger.com/climber/ClimbListC.aspx*
Low
https://peakbagger.com/climber/climblistc.aspx*
Low
https://www.peakbagger.com/climber/ascent.aspx*
Low
https://www.peakbagger.com/climber/Ascent.aspx*
Low
https://peakbagger.com/climber/ascent.aspx*
Low
https://peakbagger.com/climber/Ascent.aspx*
Low
https://www.peakbagger.com/climber/climber.aspx*
Low
https://www.peakbagger.com/climber/Climber.aspx*
Low
https://peakbagger.com/climber/climber.aspx*
Low
https://peakbagger.com/climber/Climber.aspx*
Low
https://www.peakbagger.com/climber/PeakAscents.aspx*
Low
https://www.peakbagger.com/climber/peakascents.aspx*
Low
https://peakbagger.com/climber/PeakAscents.aspx*
Low
https://peakbagger.com/climber/peakascents.aspx*
Low
https://www.peakbagger.com/report/report.aspx*
Low
https://peakbagger.com/report/report.aspx*
Low
https://www.peakbagger.com/List.aspx*
Low
https://www.peakbagger.com/list.aspx*
Low
https://peakbagger.com/List.aspx*
Low
https://peakbagger.com/list.aspx*
Low
https://www.peakbagger.com/Peak.aspx*
Low
https://www.peakbagger.com/peak.aspx*
Low
https://peakbagger.com/Peak.aspx*
Low
https://peakbagger.com/peak.aspx*
Low
https://www.peakbagger.com/*BigMap.aspx*
Low
https://peakbagger.com/*BigMap.aspx*
Low
https://www.peakbagger.com/*bigmap.aspx*
Low
https://peakbagger.com/*bigmap.aspx*
Low

AI Security Report

AI Security Review

Evidence context: threat category none; evidence quality moderate.

Better Peakbagger is a Firefox add-on from developer wilmtang, version 4.0.2, with one listed user. Its description covers four jobs on Peakbagger.com: capturing an activity into a draft, reading GPX files, filtering ascents and applying a dark theme. Nothing in the scanned package matched a malware signature or a malware rule. The total of 731 findings splits into 436 indicator strings, 290 code-smell hits, three network findings and two obfuscation findings, and that mix describes scanner noise on a small content-script codebase.

The indicator list shows the problem plainly. Entries such as center.lat, camera.transform.center.lat, at.actions.photo, coords.zw, bottom.zw and cm-editor.cm are dot-separated property chains and two-letter string fragments that the extractor read as hostnames. 2-e.top and bt.no share that texture. dailymotion.com is the only recognizable site in the list, and no companion finding shows code building a request to it. Treating these as risky endpoints inflates the picture without describing anything the extension does.

The three network findings line up with stated features. NET-SOCKET_IO-content/ascent-filter.js-2 covers a socket.io reference inside the ascent filter. NET-FETCH-content/big-map.js-1 and NET-FETCH-provider-page.js-1 cover fetch calls in the map view and the provider page. A live map and a provider lookup both need to pull data from somewhere, so these calls fit the product as described.

The two obfuscation findings sit in a single file. OBFUSCATION-UNICODE_HEAVY-content/ascent-editor.js-145 flags a dense run of Unicode characters at line 145, and OBFUSCATION-LARGE_BASE64-content/ascent-editor.js-183 flags a base64 blob at line 183. An editor panel that handles place names with accents, degree and elevation symbols, and encoded track data produces both patterns on its own. What matters is that no malware signature sits beside either one in content/ascent-editor.js, which is the combination that would signal a hidden payload.

A skeptic would push back on exactly that point: a high-severity obfuscation finding plus a base64 blob in an extension almost nobody has installed looks like a payload nobody would catch. That reading requires a second signal that never arrives. There is no malware match in the file, no malware match anywhere in the package, and no network finding tied to content/ascent-editor.js. The empty manifest fields in this scan, both permissions and host_permissions, keep this short of a clean bill of health, since we cannot confirm what the extension requests at install time. Reading lines 145 and 183 of content/ascent-editor.js and capturing where the socket.io connection in content/ascent-filter.js points would settle both questions.

Key Reasons

  • Zero malware signatures across the entire package despite 731 total findings
  • Indicator list is dominated by property-chain fragments such as camera.transform.center.lat and cm-editor.cm misread as hostnames
  • All three network findings (NET-SOCKET_IO-content/ascent-filter.js-2, NET-FETCH-content/big-map.js-1, NET-FETCH-provider-page.js-1) match the advertised GPX and map features
  • Obfuscation findings in content/ascent-editor.js are an editor-local Unicode block and base64 blob with no malware signature beside them
  • 290 code-smell hits carry no behavioral weight

False Positive Considerations

  • XIOC extractor reading JavaScript property chains and two-letter fragments as domains
  • Generic YARA code-smell rules firing on ordinary content-script JavaScript
  • Unicode-heavy and base64 detection on an editor file that renders place names and track data
  • Finding-count inflation from a minified content-script codebase

Reviewed 2026-10-18; recommended action: monitor; model confidence 74%.

Firefox version history

Risk trend by version

16 analyzed versions. Each point is the latest successful scan for that version; failed zero-score scans are hidden. Dates are based on first seen by risky plugins.

Selected
85
Change since first
No change
Change from previous
+20
Versions:
First analyzed version
1.3.0
Jul 14, 2026
Risk range
65 to 85
Across analyzed versions
Latest analyzed version
4.0.2
Oct 18, 2026
Selected version
critical
Version
v4.0.2
6 days ago
Risk score
85
Findings
0
Change vs previous
+20

Pick any point on the chart to explore that version's code below.

About This Extension

<strong>Upgrade your <a href="https://prod.outgoing.prod.webservices.mozgcp.net/v1/89fe983372cc32d0b17fbffc24482b933689987039f472b5df31da619c940ec3/http%3A//Peakbagger.com" rel="nofollow">Peakbagger.com</a> experience.</strong> Better Peakbagger turns Garmin and Strava activities—or a GPX file you already have—into review-ready ascent drafts. It also adds 3D terrain, GPX analysis, saved-track handoff to mapping apps, offline Sun and Moon planning, ascent beta filters, trip-report and photo-topo editors, optional GitHub backup, and a dark theme. <strong>Features</strong> <ul><li><strong>Create ascent drafts from Garmin and Strava:</strong> Turn an activity you own into prefilled ascent drafts with explained summit matches.</li><li><strong>Process a GPX on Peakbagger:</strong> Analyze a GPX for route stats, nearby summits, and coordinated multi-peak drafts.</li><li><strong>Explore free 3D terrain:</strong> Explore routes and maps in opt-in interactive 3D with compatible layers, synced views, and a compass.</li><li><strong>Understand GPX tracks:</strong> See interactive charts, local times, route metrics, source point counts, and map tracking with customizable route styling. Review and reverse the interpretation of narrowly identified suspect segments without changing the saved GPX.</li><li><strong>Review ascent-day weather:</strong> See summit weather estimates for the saved ascent date, even without GPX, with a recommended historical model, other available models, and hourly local-time detail. Open-Meteo automatically receives summit coordinates, elevation and a narrow date window when the card approaches the viewport; no GPX, account credentials or ascent identity is sent.</li><li><strong>Send saved tracks to mapping apps:</strong> Open a saved ascent GPX in Gaia GPS, onX Backcountry, AllTrails, or CalTopo for review and confirmation there.</li><li><strong>Plan with the Sun and Moon:</strong> Check their directions, astronomical sunrise and sunset, Moon phase, and illumination on peak maps and saved ascent tracks, calculated offline in mountain-local time.</li><li><strong>Find useful ascent beta:</strong> Filter and sort ascent lists without reloading, using Buddy List or custom favorites.</li><li><strong>Write better trip reports:</strong> Draft rich-text or GitHub-flavored Markdown reports with media, previews, and device-local recovery.</li><li><strong>Create photo topos:</strong> Draw routes, curves, freehand strokes, climbing symbols, pitch labels, and wrapping text over your photos. Zoom, pan, and edit route points in a resizable view. Reuse editable projects locally and upload finished images to ImgBB with your own API key.</li><li><strong>Back up to GitHub:</strong> Keep copies of ascents and trip reports in a repository you control, with separate options for settings, favorite climbers, and photo-topo recovery data.</li><li><strong>Plan with better links:</strong> Open weather, live satellite imagery, snow-depth, and fire or smoke information for supported summits.</li><li><strong>Use Peakbagger your way:</strong> Set your theme and preferences for units, maps, GPX charts, activity capture, reports, photo topos, backups, and beta filters. Reorder map providers and filters and include those preferences in Settings backup.</li></ul> <strong>Privacy by design</strong> <strong>No analytics, telemetry, ads, or developer data server.</strong> <a href="https://prod.outgoing.prod.webservices.mozgcp.net/v1/0a1fc67f4362beead052b7ce6e9f1f45d0b28688f1c741db803a32321057353c/https%3A//github.com/wilmtang/better-peakbagger/blob/main/PRIVACY.md" rel="nofollow">Read the complete privacy policy</a>. Better Peakbagger works with Chrome, Edge, Brave, and Firefox. It is an independent, open-source project and is not affiliated with Peakbagger or the services it connects to. <a href="https://prod.outgoing.prod.webservices.mozgcp.net/v1/bf418619d6aaa77cf6140264216560a7ac43e5d9930bc513a7e8b7deff6a70ec/https%3A//github.com/wilmtang/better-peakbagger" rel="nofollow">Source code</a>

Frequently Asked Questions