Is karma Nature safe?

Medium risk

Karma Nature is medium risk. Submitting a query from karma Nature's new-tab search box sends it as a URL parameter to search.loky.ch. A button path also builds a searchpage.com URL with ext=weather2/v=0.0.1 tags, sending terms plus attribution context.…

7thsense.mediav1.1.4Chrome Web Store
45Risk

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

Publishers can request a review.

Findings

SeverityMEDIUM
ClassUNWANTED
TypeUnexpected
CWECWE-200
SourceAI SANDBOX

New-tab searches are sent to third-party search services

Submitting a query from karma Nature's new-tab search box sends it as a URL parameter to search.loky.ch.

A button path also builds a searchpage.com URL with ext=weather2/v=0.0.1 tags, sending terms plus attribution context.

01EvidenceCAUSE EFFECT
What actually happens
You did this

You submit a search from the extension's new-tab page.

The search box is part of the page that the extension installs as Chrome's new tab.

The extension did this

The page sends the query to a third-party search service.

A second JavaScript path can build a searchpage.com URL with extension-attribution tags.

02EvidenceFIELD TABLE
Search-routing fields in the shipped page
FieldValueWhy it matters
Your search terms
weather tomorrowThis carries what you typed into the new-tab search box.
Primary search URL
https://search.loky.ch/search?q=weatherThis is where the normal form submission sends your query.
Extension tag
ext=weather2This can associate the search redirect with this extension's traffic source.
Version tag
v=0.0.1This adds the routed search flow's version label to the destination URL.
Alternate search URL
https://searchpage.com/?ext=weather2&v=0.0.1&keywords=weatherThis is the URL the JavaScript handler builds before adding the query text.
03EvidenceNETWORK CAPTURE
Captured request
GEThttps://search.loky.ch/search
The shipped form defines this GET navigation; no request body is used for the search submission.
04EvidenceNETWORK CAPTURE
Captured request
GEThttps://searchpage.com/?ext=weather2&v=0.0.1&keywords=
The shipped JavaScript defines this GET navigation base; the query text is appended to the keywords parameter.
05EvidenceCODE COMPARE
The code that does this

The shipped new-tab form and alternate search redirect path

What it actually does
New-tab form posts searches to search.loky.chindex.html
<div id="search">
    <form id="searchform" action="https://search.loky.ch/search?" method="GET">
        <input id="searchbox" type="text" name="q" placeholder="SEARCH" autofocus required>
    </form>
    <div class="ui-autocomplete">
</div>
Button handler builds a searchpage.com redirect URLjs/appOpenWeather.js
window.addEventListener('load', function(evt) {
    
//     document.getElementById('addBookmark')
//            .addEventListener('submit', webSearch);
    
    $("#submitt").click( function() {          
          webSearch("https://searchpage.com/?ext=weather2&v=0.0.1&keywords=");
      });
      $("#submitt2").click( function() {
          console.log('submit2');
          webSearch("https://weather-forecast.live/search/index.php?q=");
      });
       
   
    
});

function webSearch(URLs) {
    // Cancel the form submit
     color = $('#searchbox').val();
    $("#searchbox").on("change paste keyup", function() {
        color = $(this).val(); 
        console.log(color);
    });
    
   $('#submit').click(function(){   
       console.log(color);
         chrome.tabs.query({active:true,currentWindow: true}, function(tabs){
            chrome.tabs.sendMessage(tabs[0].id, {todo: "changeColor", clickedColor: color });
        });
   });
    
    event.preventDefault();
  chrome.tabs.getCurrent(function (tab) {
  //Your code below...
 
  var myNewUrl = URLs+color;

  //Update the url here.
  chrome.tabs.update( {url: myNewUrl});
});

}
06EvidenceTHIRD PARTY LIST
Third-party search destinations in the claim
  • search.loky.ch

    Receives the normal new-tab search form submission with the query in the q parameter.

  • searchpage.com

    Appears in the bundled JavaScript as an alternate search redirect destination with extension and version tags.

  • weather-forecast.live

    Appears in the same JavaScript handler as a second alternate search redirect base.

SeverityMEDIUM
ClassUNWANTED
TypeUnexpected
CWECWE-359
SourceAI SANDBOX

IP address sent to undisclosed geolocation broker on every new tab open

Each new tab triggers a request to json.geoiplookup.io, a third-party geolocation service, deriving coordinates without the geolocation permission.

Your IP is exposed, coordinates forwarded to OpenWeatherMap, undisclosed in the listing.

01EvidenceCAUSE EFFECT
What actually happens
You did this

You open a new browser tab.

The extension replaces chrome://newtab with its own page.

The extension did this

The extension automatically contacts json.geoiplookup.io, exposing your IP address to derive your location.

No interaction is required, the request fires inside $(document).ready() on every new-tab load.

02EvidenceTEMPORAL PATTERN
When this fires
On every browser startup

Fires once per new tab open, every time chrome://newtab loads, without any user action.

03EvidenceNETWORK CAPTURE
Captured request
GEThttps://json.geoiplookup.io/
{"ip":"203.0.113.4","latitude":50.8284,"longitude":-0.13947,"city":"Brighton","country_name":"United Kingdom","country_code":"GB"}
04EvidenceNETWORK CAPTURE
Captured request
GEThttp://api.openweathermap.org/data/2.5/forecast?lat=50.8284&lon=-0.13947&appid=6d85ceceb5bb515beb045b828caba375&units=metric&cnt=5
5-day weather forecast JSON for coordinates derived from IP geolocation
05EvidenceCODE COMPARE
The code that does this

IP geolocation call in appOpenWeather.js (shipped = deobfuscated, code was not minified)

What it actually does
// Fires immediately on every new tab load.
// No geolocation permission needed — IP is used instead.
// The user's public IP is silently disclosed to json.geoiplookup.io.
$(document).ready(function() {
  $.getJSON("https://json.geoiplookup.io/", function(data) {
    // data.latitude / data.longitude come from IP-based geolocation
    coordinates = data.latitude + "," + data.longitude;
    getWeather(data.longitude, data.latitude); // forwards to OpenWeatherMap
  });
});
06EvidenceTHIRD PARTY LIST
Third-party hosts that receive the user's IP address on every new tab open
  • json.geoiplookup.io

    IP geolocation broker, receives the user's IP address and returns latitude/longitude. Not disclosed in extension description or privacy policy.

  • api.openweathermap.org

    Weather data API, receives coordinates derived from IP geolocation. Hardcoded API key (6d85ceceb5bb515beb045b828caba375) is shared across all users.

Updated 17 September 2026fnmocimiaancbccgmbjmgmfkalgkngag