当前位置: 当前位置:首页 >綜合 >【】正文

【】

作者:知識 来源:休閑 浏览: 【】 发布时间:2024-09-20 06:34:59 评论数:

If you perform a very specific query in the search field of online code repository Github, where many Slack bot projects are stored, you can get info that potentially lets you access a trove of corporate data, including companies' internal chats and files. 

This is because a lot of Slack bot developers -- and there are a lot of them, since building a Slack bot is quite easy -- included their Slack tokens (personal Slack account credentials) directly in the code, which they share publicly on Github. 

SEE ALSO:How do I make Slack apps?

The issue was discovered by security company Detectify, which notified Slack about it on March 26. Detectify managed to find "thousands" of such tokens with a simple GitHub search. The story was first reported by Quartz.

Tokens of all types aren't uncommon on GitHub, but the problem is made worse by the way Slack tokens are constructed. In case of private tokens and custom bot tokens, they're a string of characters using these formats:

xoxp-XXXXXXXXX-XXXXXXXXXXXXXXXXXXX

xoxb-XXXXXXXXX-XXXXXXXXX-XXXXXXXXX-XXXXXX

Simply searching for the four letter prefixes on GitHub will net you a lot of tokens in plain text, which we were able to replicate.

If you've never built anything on the Slack platform, you may think this doesn't affect you, and in many cases that's true. But in larger business organizations, it's quite possible that some team member had built a Slack bot and inadvertently revealed their Slack token, potentially exposing company data. 

Outsiders can easily gain access to internal chat conversations, shared files, direct messages and even passwords.

"Using the tokens it’s possible to eavesdrop on a company. Outsiders can easily gain access to internal chat conversations, shared files, direct messages and even passwords to other services if these have been shared on Slack," writes Detectify.

Mashable Light SpeedWant more out-of-this world tech, space and science stories?Sign up for Mashable's weekly Light Speed newsletter.By signing up you agree to our Terms of Use and Privacy Policy.Thanks for signing up!

The researchers at Detectify have found tokens belonging to Fortune 500 companies, payment providers, Internet service providers health care providers, advertising agencies, university classes and newspapers, among other organizations. And using those tokens, they revealed database credentials, private messages and login details for other services. 

The good news is the problem has largely already been fixed. Slack responded to the problem, telling Detectify they've “revoked the tokens you reported, notified affected users and team owners directly, and that we’ll be doing that proactively going forward”.

In other words, if someone makes the same mistake again, Slack will disable the tokens and warn them -- as seen in the message Slack recently started sending to some developers. 

Developers, in general, should take care not to place tokens directly in the code and use environment variables instead. Slack admins can make sure only Team Owners and selected Slack members can create tokens and integrations; the option is in Slack's Admin Settings. 

Mashablehas contacted Slack about the issue. "Slack is clear and specific that tokens should be treated just like passwords. We warn developers when they generate a token never to share it with other users or applications," a Slack spokesperson said in an email.

According to the spokesperson, Slack will continue to improve its documentation and communications to make sure developers understand this.

"For privacy reasons, we are not sharing information about the teams impacted, however, all of the reported tokens were disabled, as well as others we proactively found. We notified both the users who created the tokens, as well as the owners of affected teams," she wrote.

A popular platform for corporate communication (disclosure: We use Slack at Mashable), Slack boasted more than 2.3 million daily active users in February.

Have something to add to this story? Share it in the comments.