Slack Slash命令/外出Webhooks是否安全?

时间:2015-07-27 06:01:17

标签: slack-api

有人检查过Slack中的外发Webhooks和Slash命令吗?

对于Slash命令和Outgoing Webhooks,命令字符串以及user_id和token在POST正文中发送到外部URL(对应于命令)。问题是所有团队成员的令牌保持不变(令牌在“集成”页面上可见,因此对团队是公开的。端点URL也是公共的)。这意味着这是一种针对团队验证请求的机制,但没有机制来验证针对用户的请求。

我可以使用相同的标头,令牌和请求正文从不同的服务器重现请求,但是使用我的团队成员的user_id,使其看起来有人执行了该命令。也无法验证请求是否来自Slack服务器。

我的问题是 - 我在这里遗漏了什么吗? Slash命令是否适用于CRUD操作(在外部服务上),还是仅用于从天气,堆栈溢出或公共API等简单服务中获取数据?如果没有,你如何解决这个问题?

更新 - 发送到@SlackAPI,他们说我们需要单独验证user_id。

1 个答案:

答案 0 :(得分:1)

这只是Slack团队的默认权限设置中的情况。但是,只要您限制团队成员访问集成,集成的配置(包括令牌)就不再公开。调用URL仍然是公共的,但如果没有令牌,恶意用户将无法重新创建请求。

我建议大多数Slack团队出于安全考虑限制访问集成。您仍然可以根据请求进行访问,这样您就可以作为管理员审核和批准每个请求。

权限设置可在以下位置找到:

Manage / Permissions / Approved Apps = on