Skip to content
Slack message encryptor/decryptor for desktop app and browser
Branch: master
Clone or download
Latest commit f9945bd May 4, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
release fix exec flag Apr 30, 2018
src fixed typos, change tone May 3, 2018
.gitignore ignore utils dir Apr 20, 2018
LICENSE Create LICENSE May 4, 2018
README.md Update README.md May 4, 2018
build.js create release directory for official latest release in git without t… Apr 28, 2018
package.json version bump 1.0.9 Apr 28, 2018

README.md

WARNING

This is an experimental and ongoing project. You can fork it, install it, play with it, but it's surely not ready for real use. So use it with grain of salt!

Shhlack

Shhlack is an encryptor/decryptor to improve privacy in peer-to-peer messages in Slack created by Minded Security. It relies on pre-shared keys between the peers so only the peers with the right passphrase will be able to see the encrypted message.

Everyone else will see encrypted content, such as:

Sample Title@@@@BASE64ENCRYPTEDCONTENT####HMAC

In order to facilitate search a title in clear text can be used.

Build

To create slack app patcher and browser extension:

node build.js

This will create two diretories in build/:

build/extension/ // << Browser extension 
build/standalone/    // << standalone patcher

Installing the extension for Chrome

The extension will be available once it's tested. For now, installation is achieved by building the source accoridng to the above instructions and then using Chrome's "Load Unpacked" feature. Developer mode must be enabled in order to do this.

Once installed you can click on the Shhlack icon (a colourful lock next to where text is input) and, if you're on a slack chat room, the Shhlack dialog will appear. Alternatively you can use Alt-s shortcut on Windows.

Installing the patch for standalone

On Linux/MacOS:

cd build/standalone/
./patch_slack.sh

The script will ask for root password since it will try to write in an root directory.

On windows:

cd build/standalone/
./patch_slack.bat

During the process, a backup copy of the original file is created.

Uninstalling the patch for standalone

On Linux/MacOS:

cd build/standalone/
./unpatch_slack.sh

The script will ask for root password since it will try to write in a directory owned by root.

On windows:

cd build/standalone/
./unpatch_slack.bat

Usage

After building and running the install script, Shhlack should work when you login to the standalone client, or when the extension is added and enabled in Chrome.

The first time you use Shhlack, you will be asked to add at least one passphrase to use for encryption/decryption. You can alternatively give a previously saved file to share the passphrases between clients/PCs/peers.

Press Alt-S or click on the Shhlack extension icon (extension only) and you'll get:

If there is more than one passphrase the dropdown menu will show a list of mnemonic keys and you'll be able to choose a passphrase used to encrypt the message. Alternatively you can send a raw message without the fancy dialog by adding the prefix @@@@ to your text.

For example:

@@@@ Hello world.

This will be encrypted by Shhlack using the current passphrase.

Encrypted content will not be searchable, however you can add a title that can be searched on.

The format is:

title@@@@message

You and all your mates using shhlack will see the decrypted message on your client but on the server it'll appear as

ClearTextTitle@@@@Base64(rawAESenc)#HMAC

TODO:

  • Encrypt snippets
  • Add Master Passphrase with Crypto Web APIs
  • Option to Encrypt every message (Encrypted chat)
  • Add support for encrypted rich content.
You can’t perform that action at this time.