GitHub与微信开启“秘密扫描”计划,来确保数据安全

news2024/11/22 23:36:46

近日GitHub 官方博客更是宣布:" 腾讯微信现在是 GitHub 秘密扫描合作伙伴。"

“秘密扫描”是Github发起的一个计划,可别被它名字吓到了,它并不是说秘密的扫描用户的隐私数据,而是和微信合作发起,防止微信开发者的秘钥泄露。

该计划的大概功能,就是微信与Github合作秘密扫描,当用户发起请求,Github会对仓库进行秘密扫描,并把开发者的秘钥发送给微信,微信会匹配秘钥并通知受影响的用户,并用邮件通知用户,删除在Github的秘钥,并建议重置秘钥,这样才能最终保证安全。

下图就是Github与微信合作“秘密扫描”的整个流程。

图片

总的来说就一句话:很多开发者把秘钥放在Github,“秘密扫描”会扫描秘钥,并让微信通知受影响的用户,并采用新的修复指引方案,避免秘钥泄露,产生数据安全问题。

目前加入GitHub 秘密扫描计划的服务提供商已有 56 家,其中还有 Meta、Figma、京东云和 Shopify 等。

开发者为什么会把秘钥上传至Github

大家明知道不安全,为什么还有那么多开发者会把秘钥上传至Github呢?只有一个原因,那就是追求开发效率。

在我们做项目开发过程中,避免不了要调试代码,特别是与微信这种外部系统联调,很多公司都会直接用真实的密钥进行调试,这样就能保证联调是没问题的。

虽然每一家公司都会强调,秘钥用完后,要记得删除,不可和代码一起提交。但是这个问题还是会大概率出现,因为人不是机器,你一年操作100次就有可能出错一次,你一直都没出错,团队成员终究可能出错一次。

人终究会犯错,所以我们必须寻找解决方案。

解决方案

出现以上问题,就一个原因就是秘钥放在源码里面了,那我们就不要把秘钥放在源码里,就解决问题了,但是这样又产生新的问题,怎么调试的问题?

针对这个问题,要做好以下几点:

开发安全

1、沙箱

成熟的开放平台,大部分都有沙箱环境,这是开放平台的模拟环境,日常开发中可以用好沙箱这个功能,基本可以完成大部分的接口联通工作。

2、Mock

Mock就是自己制造测试环境,模拟开放平台的环境,这个与沙箱类似,但是缺点就是需要额外功能的开发,工作量比较大。

3、申请备用Key

申请备用Key,这也是很多公司的做法,正式的Key涉及真实用户的数据,这些数据安全性、敏感度都比较高,而额外申请一个备用Key,就能在真实的环境里面测试,还没有额外的工作量。

4、单独测试服务器

虽然申请备用Key,可以解决大部分的问题,但是备用Key是没有大量的数据的,在大量数据测试的场景,使用备用Key就无法联调,这时候可以申请一台单独服务器用来测试。

代码安全

以上是针对日常开发要做的,其实在代码内部也有需要做的:

1、密钥加密存储

针对系统任何敏感数据,都是要最高级别对待,必须进行加密存储,避免代码泄露,或者内部人员直接拿去使用。

2、IP绑定

对于敏感数据的接口,都需要绑定IP白名单,避免密钥泄露,系统接口被调用。

3、接口调用日志保存、跟踪

敏感数据的接口,都必须有日志功能,并针对业务场景,进行风控管理,自动发送系统提醒、短信提醒、邮件提醒等方案。

运维安全

服务器方面安全很重要的,运维工作也是项目的一部分,要做好几点:

1、服务器登录日志

服务器远程登录日志,必须记录保存,并进行异常跟踪提醒。避免由于服务器密码泄露,导致产生数据安全问题。

2、服务器操作日志

服务器操作的日志,也是需要记录保存的,特别是一些敏感的操作,比如进入敏感的文件目录、拷贝敏感的数据等。

3、服务器登录,进行短信提醒

针对高级别的数据,需要对服务器登录进行实时提现,比如进行短信提醒。

4、云盾

现在很多云服务器,都有提供云盾的功能,类似于我们登录验证,每一次登录都需要额外输入验证码,才能登录。这样一方面是方便记录登录日志,也是避免系统密码泄露,被直接登录。

安全与效率

系统的安全涉及是方方面面的,要保证系统安全,必然会影响开发进度,所以这也是很多企业,为了生存和发展,忽略了安全的问题。

但是数据安全还是非常重要的,也是根本,所以牺牲一定的工作效率,来保证安全还是很有必要的。

- End -

推荐阅读

盘点6个.NetCore+Vue前后端分离的开源项目

盘点5个C#实用的Word、PPT、Excel、Mail第三方库

一个C#开发的Windows远程桌面工具

盘点10个Web开发人员必备的最佳开发工具推荐

开源免费WMS仓库管理系统【推荐】

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/115260.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Redhat7上安装Red Hat Developer Toolset并自由切换gcc和g++的版本

Redhat7上安装Red Hat Developer Toolset并自由切换gcc和g的版本一、Red Hat Developer Toolset 概述二、使用Red Hat Software Collections2.1 获取pool ID2.2 将pool ID 附加到本地系统中2.3 获取仓库列表2.4 使能上述仓库三、安装 Red Hat Developer Toolset四、升级Red Hat…

大数据分析案例-基于决策树算法构建员工离职预测模型

🤵‍♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞&#x1f4…

在windows操作系统上安装mysql数据库

背景 写这个数据库的安装教程,是为了后续文章中在windows系统中搭建测试环境要用到数据库做铺垫,不是所有的人都有云服务器,有的觉得去虚拟机里面安装太麻烦了,电脑会更卡,因此,还不如直接在自己电脑上安装…

客户管理繁,库存盘点难?明道云让你准点下班

文/张占胜 程哲 赵香英 编辑/杜逸敏 一、行业背景 随着疫情的扩散,经济形势日益复杂多变,进销存管理无疑成为了国内企业的焦点。如何利用新时代的先进技术把这一传统管理方式现代化和智能化,已经引起了国内业界的重视,这也是企…

Infleqtion与Morningstar合作探索量子计算的新途径

(图片来源:网络) 量子计算服务商Infleqtion宣布,将Infleqtion的旗舰量子软件SuperstaQ整合到Morningstar投资和投资组合分析平台Morningstar Direct中。借助SuperstaQ的整合,通过Morningstar的实验室分析模块&#xff…

12.20工作学习记录 力扣 罗马文转数字

每日一题:罗马文转数字 定义两个指针 不断后移 每一次让前一个指针的值累加为sum 最后返回sum 力扣https://leetcode.cn/problems/roman-to-integer/ 最长公共前缀 主要是subString方法 力扣https://leetcode.cn/problems/longest-common-prefix/solutions/现在分词与形容…

【Linux学习】之systemd与systemctl

文章目录一、systemd1. systemd 守护进程管理 Linux 的启动2. systemd 提供的功能:3. systemd 使用单元来管理不同类型的对象。4. 服务单元信息二、systemctl1. systemctl输出中的服务状态2. 列出servera上安装的所以服务单元3. 列出servera上所有活动和不活动的套接字单元4.1 …

Activiti7-任务分配

上面这些已经在流程变量设置的时候学会了 ,这里略。 参考:Activiti7-流程变量_ZHOU_VIP的博客-CSDN博客 错别字:认领任务 设计一个流程,设置候选人 错了,应该设置在候选人那里 由于修改了流程设计,需要重…

被勒索后的72 小时“生死时速”

编者按 数字化浪潮蓬勃兴起,企业面临的安全挑战亦日益严峻。 腾讯安全近期将复盘2022年典型的攻击事件,帮助企业深入了解攻击手法和应对措施,完善自身安全防御体系。 本篇是第四期,复盘了一次勒索病毒的紧急应对事件。一旦染上…

【ML】异常检测、PCA、混淆矩阵、调参综合实践(基于sklearn)

【ML】异常检测、PCA、混淆矩阵、调参综合实践(基于sklearn)加载数据可视化数据异常点检测PCA降维使用KNN进行分类并可视化计算混淆矩阵调节n_neighbors参数找到最优值加载数据 数据集:https://www.kaggle.com/datasets/yuanheqiuye/data-cl…

数据分析之描述性统计

当我们打开一份有十几列,几万行的明细数据时,那种感觉我相信用铺天盖地、头晕目眩来形容是再合适不过了。 面对如此令人崩溃的场景,必须要求我们要求能够快速找到数据的特征。描述性统计正是为此而生,它通过几个简单的分析方法就…

k8s——基于集群部署工具kubeadm部署k8s

角色和IP 通过网络镜像下载和配置k8s 操作系统初始化 关闭防火墙: $ systemctl stop firewalld $ systemctl disable firewalld关闭 selinux: $ sed -i s/enforcing/disabled/ /etc/selinux/config # 永久 $ setenforce 0 # 临时关闭 swap&#xff1…

OpenCV C++实现 图片批量重命名、格式转换

方法一:以0~n数字序命名方法二:指定字长 数字序命名方法三:指定前缀 数字序重命名全部源码下载通常拍摄的一组数据集,图片命名会比较长,不方便人眼查看; 可以按照制定规则重命名, 本文方法,可以重命名,也可以格式转换(不是简单的换后缀,这样图片有时会出问题,而是以…

[JavaEE] 线程与进程的区别详解

专栏简介: JavaEE从入门到进阶 题目来源: leetcode,牛客,剑指offer. 创作目标: 记录学习JavaEE学习历程 希望在提升自己的同时,帮助他人,,与大家一起共同进步,互相成长. 学历代表过去,能力代表现在,学习能力代表未来! 目录 认识线程(Thread) 1. 线程是什么? 2. 为什么要有…

java 对接百度AI文字识别第三方接口--(api方式以及sdk方式)

平时在工作当中难免会需要对接第三方接口。今天就带领大家来实践一下百度ai的文字识别技术。我使用的是文字识别中名片识别服务,别问为什么,因为是免费的,其他的服务要钱。。。。。。 一:准备工作 首先需要在百度ai官方网站注册账…

【案例实践】基于Citespace和vosviewer文献计量学可视化SCI论文高效写作方法

【点击观看视频】基于Citespace和vosviewer文献计量学可视化SCI论文高效写作方法 文献计量学是指用数学和统计学的方法,定量地分析一切知识载体的交叉科学。它是集数学、统计学、文献学为一体,注重量化的综合性知识体系。特别是,信息可视化技…

如何定位线上问题?

面试官:「你是怎么定位线上问题的?」 这个面试题我在两年社招的时候遇到过,前几天面试也遇到了。我觉得我每一次都答得中规中矩,今天来梳理复盘下,下次又被问到的时候希望可以答得更好。 下一次我应该会按照这个思路…

景联文科技2D3D融合标注案例分享|数据标注

在自动驾驶场景中,激光雷达生成的点云数据可用于测量物体的形状和轮廓,并估算出周围物体的位置和速度,但由于激光雷达生成的点云数据缺少RGB数据中存在的纹理和颜色信息,无法精确地识别出路上的汽车、行人、障碍物、信号灯等。而2…

网络流及几种算法FF、EK、Dinic

终于要开始学习&&复习这个知识点了,说句实话半年多之前就该写这篇文章来加强理解,但是一直没有落实,因为又去练习了很多学过的算法,感觉这个算法不太常用哦,传说中的省选算法,比赛比较少见&#xf…

在2022 CCF上获得两项大奖!

喜报!      在日前举行的      2022全国高性能计算学术年会上      戴尔科技集团      获得两项大奖!      戴尔科技PowerEdge绿色数据中心      液冷解决方案荣获“解决方案奖”    PowerEdge R750 DAOS      高性能分布式存储系统荣获“产品…