Blog on chrispederick.com

Web Developer for Chrome Compromised

On Wednesday, August 2nd at 6:30 am PDT I discovered that Web Developer for Chrome had been compromised and a new version 0.4.9 had been uploaded to the Chrome store that contained malicious code. I immediately disabled the extension in the Chrome store and regained control of the developer account associated with the extension. At 8:40 am PDT I uploaded a new version 0.5 that removed the malicious code.

Please make sure that you update to version 0.5 of the extension as soon as possible. I am still looking into exactly what the malicious code was doing, but it is strongly advised that if you had Web Developer for Chrome installed that you change your password to any site that you logged into on Wednesday, August 2nd as a precaution, particularly Cloudflare which looks as though it may have been explicitly targeted. It has also been suggested that Cloudflare users revoke their API key if they visited the Cloudflare dashboard yesterday as this may have been compromised as well.

Note: The Firefox and Opera versions of the extension were entirely unaffected.

I sincerely apologize for this incident and the pain and frustration it has caused.

Timeline Of What Happened

Tuesday, August 1st

9:25 am PDT: I receive an email saying that Web Developer does not comply with Chrome store policies and needs to be updated. I could make excuses about how I am extremely busy at work or I seem to constantly be logged out of my Google account so having to log in is not unusual, but the reality is that I am a bloody idiot and blindly logged into my developer account after clicking on a link in the email. To add to my stupidity, the developer account did not have two-factor authentication turned on. At the time, I do not realize what I have just done and simply save the email to look into in more detail when I have more time.

Wednesday, August 2nd

6:30 am PDT: I wake up to a number of tweets and emails from users reporting unusual logging and adware coming from Web Developer. I realize that this is tied to the email from the day before and immediately change my developer account password. I log in to the developer dashboard and see that a version 0.4.9 has been uploaded by someone other than myself and immediately unpublish the extension from the Chrome store.

8:40 am PDT: I create a new version 0.5 from a code branch that I had been actively working on to fix bugs in the extension and upload that to the Chrome store.

9:15 am PDT: The new version 0.5 goes live in the Chrome store.

Fallout

With the compromised version of the extension now replaced in the store, I have been working on replying to everyone who tweeted or emailed me advising them to upgrade to version 0.5 ASAP. I have also informed Google of what happened, although there is not an obvious right way to report this and thus far I have not heard from them.

I changed the password for the developer account immediately upon discovering the issue, but I have also now enabled two-factor authentication on that account so that an attack of this nature is far harder in the future.

I am also continuing to look into the impact of the malicious code as are others with far more security knowledge than myself, which is incredibly appreciated.

Someone has created a Gist that shows the malicious code that was added to the extension and is decoding and discussing exactly what the code is trying to do.

I also received an email from a security officer of an ISP in the Netherlands who says that the malicious code looks to use a date-based domain to request URLs and they have graciously registered the domains for the next week of dates in an attempt to block the requests from happening.

My extension does not seem to be the only one that was targeted in this way and the developers of the Copyfish extension have written their own blog post detailing what happened to them which appears to be very similar to my experience.

I will continue to update this post with more information as I have it and once again I sincerely apologize for the disruption and distress that this has caused.

Update: Proofpoint has posted an incredibly detailed breakdown of the compromise.

Web Developer 0.4 for Chrome

Web Developer 0.4 for Chrome is now available. The extension can be downloaded on the Google Chrome extension gallery.

Web Developer for Chrome

The release notes contain the full list of changes in this version, but some highlights are:

  • A new disable menu
  • Syntax highlighting and line numbers when viewing code
  • A new feature to view the responsive layouts of a page
  • Unlimited resize dimensions and tools configurable in the options

Web Developer options

Under the hood this is also essentially a complete rewrite of the extension that merges the code base with the Firefox version. This should allow improved features, fewer bugs and more frequent releases going forward.

Permissions

The Web Developer extension has always needed access to your browsing history as that is how it is able to add custom scripts to any web site for its features to work. However, some of the new features now require extra permissions such as access to cookies. As explained in the FAQ none of this data is accessed beyond the needs of the features of the extension and no personal data is sent from the extension to a third-party apart from for the third-party features such as validators.

Web Developer for Firefox 1.2 Beta 1

Web Developer for Firefox 1.2 Beta 1—a preview release of the next version of the Web Developer extension for Firefox—is now publicly available. This release is for testing purposes only—for a fully supported version of the extension or localized builds please see the latest official release.

Web Developer OS X theme

A few notable changes in this release are:

  • A new theme on OS X
  • A number of new features including ‘Reload Linked Style Sheets’ and ‘View Responsive Layouts’
  • Keyboard shortcuts can now be assigned to any feature
  • Syntax highlighting and line numbers when viewing and editing code

And of course there are many fixed issues. For the full list of changes in this version please read the release notes.

Feedback

As a beta release this build is not guaranteed to be stable. The idea behind this beta release is to give people the opportunity to provide feedback about this next version as well as report any bugs. Please report any feedback or issues in the beta forum or via the contact form.

Note that the forums on chrispederick.com have been upgraded as my self-hosted version of FluxBB was having more and more problems recently. Therefore I have upgraded to a hosted Vanilla Forums setup.

Unfortunately as part of this upgrade the existing forums data including user accounts and posts could not be easily migrated so you will need to re-register if you had registered previously.

Let me know if you see any problems with the new forums by posting in the forums or via the contact form.

Improved Web Developer ‘View JavaScript’ Output

The updated ‘View JavaScript’ output in the next version of the Web Developer extension including syntax highlighting and line numbers.

Web Developer View JavaScript output

Redesigned Web Developer Options Dialog

A preview of the redesigned and streamlined options dialog for the next release of Web Developer.

Web Developer options dialog