Although I don’t agree that this should be an “Idea”, I was told to come over here by Support. I expect to hear from Gainsight security team about this.
Given Gainsight Sally can be added to any Slack channel, we did some testing with our Slack Connect channel with Myranda, our Enterprise Support Analyst at Gainsight. We added Gainsight Sally to our channel, triggered a simple C360 Summary query, and asked whether Myranda can see the information - she can.
All of it.
In fact, she can see the other prompts but upon attempting to interact with it, she is thrown with an error as she is not a provisioned user. It even cleared out the original output when she interacted with a query with no threaded further information.
It seems that no matter what I query, Myranda as an external user to Slack, can see the information.
We need to be able to secure who can add Sally to which channel, as we have plenty of customer channels that users (CSMs) could easily provide extremely sensitive information to.
Should this be a reason for us to back out on Sally altogether, when we are planning to launch this to all employees in a month? The hype that we have created for Gainsight with Sally could easily kill our ability to use Gainsight altogether because of this massive security issue.
So wait, just to make sure I understand this correctly:
If say Gainsight were to have customer (not employees) from Company ABC added to their internal Slack instance, a Gainsight employee could add Sally to a channel those customers were a part of and share other customers (e.g., Company 123) data?
Does that mean that Gainsight could be exposing customer data to other customers as well?@anirbandutta even if 0 customers use Sally, seems like a potential liability for Gainsight as well no? Can we get a response from security on this?
So wait, just to make sure I understand this correctly:
If say Gainsight were to have customer (not employees) from Company ABC added to their internal Slack instance, a Gainsight employee could add Sally to a channel those customers were a part of and share other customers (e.g., Company 123) data?
Does that mean that Gainsight could be exposing customer data to other customers as well?@anirbandutta even if 0 customers use Sally, seems like a potential liability for Gainsight as well no? Can we get a response from security on this?
I received no response from security on my support ticket. The TL;DR I was told by the support agent was “tell your users not to do that”.
Copied the response below:
It’s use it or lose it. And NO callout of this on the Knowledge Base at minimum, like a warning of how this would work with Slack Connect channels.
Oooof this is a fabulous/awful call-out!!!
This is an “accident” waiting to happen
Thank you for documenting this friends… I’m getting attention on this.
Hi Gunjan,
This is Ajay Agrawal (CISO of Gainsight) we acknowledge the concern you raised, it is getting investigated at this moment at highest level, we will come back with update on this in next 24 hours. I am personally monitoring the investigation.
Thank you for bringing this up
Thank you@Ajay Agrawal standing by for further updates. Please note that internally, we have discussed and will be pulling access to Sally tomorrow morning. We are in the process of alerting our security team as well.
So wait, just to make sure I understand this correctly:
If say Gainsight were to have customer (not employees) from Company ABC added to their internal Slack instance, a Gainsight employee could add Sally to a channel those customers were a part of and share other customers (e.g., Company 123) data?
Does that mean that Gainsight could be exposing customer data to other customers as well?@anirbandutta even if 0 customers use Sally, seems like a potential liability for Gainsight as well no? Can we get a response from security on this?
Thank you
Thank you for bringing this to our attention!
This has been the behavior from the beginning of adding Sally in Slack channels and invoking intents so it’s upto the discretion of the admin on where and how they want to invoke Sally. We just discussed this on a call and found out that technically, there is no way for us to restrict information to only a subset of people in the channel because Slack does not support it. We can restrict it to only the person querying but then that beats the whole purpose of Sally. Although, I do agree that this can be called out in support documentation. I will work with our tech comm folks to get this updated. I hope this would suffice for now.
We are also going to evaluate solutions such as warning customers when they add Sally to a public channel however that will be an enhancement. Since there are other org level initiatives which have a higher priority at the moment, I will not be able to commit to when this will get prioritized.
Thanks!
cc@Abinash @Ajay Agrawal @pallavig @jayaprakash_vunnam @anirbandutta
Is there not anything you can do to change the functionality to fundamentally NOT show the data at all, or restrict app responses to DMs only, no channels? Can we crowdsource ideas from the admin community to help rectify this sooner than later? We all want to work with you to figure out a solution because any companies using Sally effectively are getting value out of it, and it is heartbreaking to have to remove it.
At this point, we have to make the decision to completely halt all usage of Sally. This is totally against the strategy and purchase decision altogether. Any other admin reading about this has an ethical obligation to report this to their security teams if they use Slack Connect channels with customers or external parties. How is this not a bigger priority automatically? Especially with the recent announcements of Sally for All...it is truly ALL.
To be clear - we are also accordingly taking action to review any other Slack apps now to see how they may function. But this surfaced due to Gainsight Sally, and so you guys are hearing the most about it so far.
Does Slack provide a control over 3rd party apps and Slack Connect? We don’t use Slack Connect but as an admin, I would like to have control over whether the app is added to a channel.
Hi Gunjan,
If it helps can we get into a call to discuss on this and conclude if it make sense please do invite your security team to the call so that we can cover the point in holistic way.
Does Slack provide a control over 3rd party apps and Slack Connect? We don’t use Slack Connect but as an admin, I would like to have control over whether the app is added to a channel.
According to our IT team's chat with Slack, they do not, and are pointing back at the third party aka Gainsight here. We also tested the Salesforce app and found that they go through a pop-up instead, which shows the information strictly to the querying user, then gives them a prompt asking whether they want to share the info. If they click share, it will give them yet another prompt to ask which channel they want to share it in. Even that much would be much more secure IMO.
Hi Gunjan,
If it helps can we get into a call to discuss on this and conclude if it make sense please do invite your security team to the call so that we can cover the point in holistic way.
Ajay, please email me on this. We are meeting with the security team on Tuesday as it is a long weekend in the US and will be discussing next steps and options accordingly. Thanks.
Hi Gunjan
I have sent an email, let us connect and take this discussion forward on email/call.
I tested this with Salesforce’s Slack app. They have two security tactics in play: one method of querying strictly sets it as "only visible to you" with an optional button that says "post to channel".
The other method provides the information in that Slack popup style with a big green "Share" button that further puts you through a secondary validation of which channel you want to post to - and get this: external channels do not appear in this list. I can type one out and it will not be an option.
I am meeting further with Gainsight on this today, thanks, Ajay.
How is this an idea/enhancement request?! It’s a security hole!
We are looking into this on priority. Sally was built prior to Slack Connect, so we have to revisit some of our original assumptions.
We are looking into this on priority. Sally was built prior to Slack Connect, so we have to revisit some of our original assumptions.
Agreed, Manu - and might I add one thing: as different elements of the platform are built on other platforms, your PD owes it to your customers to have a vested interest in re-validating these builds and assumptions proactively.
A quick update:
We are making these changes as quickly as possible, and will keep you all posted on the progress here. Furthermore, we are doing a similar assessment for Sally in MS Teams as well.
A quick update:
We are making these changes as quickly as possible, and will keep you all posted on the progress here. Furthermore, we are doing a similar assessment for Sally in MS Teams as well.
This might be less feasible from your side, but given that we have 26k Slack channels and new ones would be impossible to monitor, could it be an opt in process rather than an opt out process?
A quick update:
We are making these changes as quickly as possible, and will keep you all posted on the progress here. Furthermore, we are doing a similar assessment for Sally in MS Teams as well.
Manu, might I suggest the reverse? We cannot consistently maintain a block list, but an allow list is far more reasonable.
If we do that, I'm assuming we would want to block only external channels by default? Otherwise, it'll be significant overhead to keep adding all the internal channels as well. If yes, that's where things can get tricky. When Sally is invoked from a channel, we don't get information on whether or not that channel is external. So we'd have to do something like this:
I'll discuss this with Engineering in more detail.
If we do that, I'm assuming we would want to block only external channels by default? Otherwise, it'll be significant overhead to keep adding all the internal channels as well. If yes, that's where things can get tricky. When Sally is invoked from a channel, we don't get information on whether or not that channel is external. So we'd have to do something like this:
I'll discuss this with Engineering in more detail.
I think by default any external channel would need blocking.
In general, if the solution is to mitigate possible data issues, if I have to opt out every channel I don’t want it on I’d need an admin just to play whack a mole with Slack channels to find out if it needs to be blocked or not and is a solution that doesn’t really address the problem.
If long term we can bulk manage channels that’s great, but for short term use we’d want to start with an opt in if it’s a channel by channel thing.