Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8550529
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 11, 20262026-06-11T13:58:11+00:00 2026-06-11T13:58:11+00:00

The Context: You have a web server which has to provide an exclusive content

  • 0

The Context:

  • You have a web server which has to provide an exclusive content only if your client has your specific Chrome extension installed.
  • You have two possibilities to provide the Chrome extension package:
    1. From the Chrome Web Store
    2. From your own server

The problem:

  • There is a plethora of solutions allowing to know that a Chrome extension is installed:
    1. Inserting an element when a web page is loaded by using Content Scripts.
    2. Sending specific headers to the server by using Web Requests.
    3. Etc.
  • But there seems to be no solution to check if the Chrome extension which is interacting with your web page is genuine.
  • Indeed, as the source code of the Chrome extension can be viewed and copied by anyone who want to, there seems to be no way to know if the current Chrome extension interacting with your web page is the one you have published or a cloned version (and maybe somewhat altered) by another person.
  • It seems that you are only able to know that some Chrome extension is interacting with your web page in an “expected way” but you cannot verify its authenticity.

The solution?

  • One solution may consist in using information contained in the Chrome extension package and which cannot be altered or copied by anyone else:
    1. Sending the Chrome extension’s ID to the server? But how?
      • The ID has to be sent by you and your JavaScript code and there seems to be no way to do it with an “internal” Chrome function.
      • So if someone else just send the same ID to your server (some kind of Chrome extension’s ID spoofing) then your server will consider his Chrome extension as a genuine one!
    2. Using the private key which served when you packaged the application? But how?
      • There seems to be no way to access or use in any way this key programmatically!
  • One other solution my consist in using NPAPI Plugins and embed authentication methods like GPG, etc. But this solution is not desirable mostly because of the big “Warning” section of its API’s doc.
  • Is there any other solution?

Notes

This question attempts to raise a real security problem in the Chrome extension’s API: How to check the authenticity of your Chrome extension when it comes to interact with your services.
If there are any missing possibilities, or any misunderstandings please feel free to ask me in comments.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-11T13:58:13+00:00Added an answer on June 11, 2026 at 1:58 pm

    I’m sorry to say but this problem as posed by you is in essence unsolvable because of one simple problem: You can’t trust the client. And since the client can see the code then you can’t solve the problem.

    Any information coming from the client side can be replicated by other means. It is essentially the same problem as trying to prove that when a user logs into their account it is actually the user not somebody else who found out or was given their username and password.

    The internet security models are built around 2 parties trying to communicate without a third party being able to imitate one, modify or listen the conversation. Without hiding the source code of the extension the client becomes indistinguishable from the third party (A file among copies – no way to determine which is which).

    If the source code is hidden it becomes a whole other story. Now the user or malicious party doesn’t have access to the secrets the real client knows and all the regular security models apply. However it is doubtful that Chrome will allow hidden source code in extensions, because it would produce other security issues.

    Some source code can be hidden using NPAPI Plugins as you stated, but it comes with a price as you already know.


    Coming back to the current state of things:

    Now it becomes a question of what is meant by interaction.

    If interaction means that while the user is on the page you want to know if it is your extension or some other then the closest you can get is to list your page in the extensions manifest under app section as documented here

    This will allow you to ask on the page if the app is installed by using

        chrome.app.isInstalled
    

    This will return boolean showing wether your app is installed or not. The command is documented here

    However this does not really solve the problem, since the extension may be installed, but not enabled and there is another extension mocking the communication with your site.

    Furthermore the validation is on the client side so any function that uses that validation can be overwritten to ignore the result of this variable.

    If however the interaction means making XMLHttpRequests then you are out of luck. Can’t be done using current methods because of the visibility of source code as discussed above.

    However if it is limiting your sites usability to authorized entities I suggest using regular means of authentication: having the user log in will allow you to create a session. This session will be propagated to all requests made by the extension so you are down to regular client log in trust issues like account sharing etc. These can of course be managed by making the user log in say via their Google account, which most are reluctant to share and further mitigated by blocking accounts that seem to be misused.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have a web based application which server's content to authenticated users by interacting
Say I have a web service where I want to serve the content only
i have to reach a web site content which have an url like that
I have a web application that has a page that loads the content from
I have a web page in which a fair amount of the content is
i have the WCF web service within my solution. service has interface which implemeted
We have a desktop application, which has been provided a web UI by hosting
If I have a Web Server A which receives a request for a page/resource
I have a perl.cgi file which has the content: #!/usr/bin/perl print Content-type: text/html\n\n; print
Before asking my question, let me explain the context. CONTEXT: I have a web

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.