首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【ChatGPT插件漏洞三连发之二】零点击Github仓库接管

在我们深入研究细节之前,我们想先解释一下插件上的帐户接管意味着什么。...举个例子,当您安装与您的 GitHub 交互的插件时,此插件会在插件网站上为您创建一个额外的帐户,用于存储您的 GitHub 凭据。使用这些凭据,插件可以访问包含密钥和源代码的私有存储库。...如果攻击者在此插件中控制了您的帐户,那么他也可以访问您的私有 GitHub 存储库。...在我们的示例中,我们将使用“AskTheCode”——一个使用 PluginLab.AI 开发的插件,该插件可让您向 GitHub 仓库提问,这意味着使用此插件的用户授予它访问其 GitHub 存储库的权限...AskTheCode 上的帐户接管意味着攻击者可以访问使用此插件的任何用户的 GitHub 存储库。

7910

21条最佳实践,全面保障 GitHub 使用安全

切勿在 GitHub 上存储凭据和敏感数据 GitHub 的目的是托管代码存储库。除了在帐户上设置的权限之外,没有其他安全方法可以确保您的密钥、私钥和敏感数据保留在受控且受保护的环境中。...2FA 在登录 GitHub 时增加了一层额外的安全保护,并且可以通过组织的设置在组织级别强制执行。 ​ 当保存设置后,系统可能会提示有关未激活 2FA 的个人详细信息。...SAML SSO 还允许企业设置已批准的身份提供商。这意味着,企业可以限制用户仅使用组织的帐户登录,而不是使用个人 GitHub 帐户。...这能够有效缓解在向 GitHub 帐户授予可访问性时可能发生的潜在安全风险。 ​ 7. 限制访问允许的 IP 地址 对于大型企业而言,跟踪访问用户既困难又耗时。...防止不必要的访问的方法是限制通过IP地址的访问。这意味着只有内部部署的成员或有权访问公司维护的静态 IP 远程网络的成员才能进入企业的代码存储库和相关代码工作。

1.8K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    从0开始构建一个Oauth2Server服务 授权范围 Scope

    用户需要能够理解他们授予应用程序的访问级别,这将以某种列表的形式呈现给用户。当呈现给用户时,他们需要真正了解正在发生的事情,而不是被信息淹没。...限制对敏感信息的访问 通常,一项服务将具有用户帐户的各个方面,这些方面具有不同的安全级别。例如,GitHub有一个单独的范围,允许应用程序访问私有存储库。...默认情况下,应用程序无权访问私人存储库,除非他们要求该范围,因此用户可以放心地知道只有他们选择的应用程序才能访问属于他们组织的私人存储库。...这意味着需要访问 YouTube API 的应用程序不一定也能够访问用户的 Gmail 帐户。 Google 的 API 是有效使用范围的一个很好的例子。...让我们使用一个服务示例,该服务提供使用许可内容的高级功能,在本例中,该服务提供一个 API 来聚合给定区域的人口统计数据。用户在使用服务时收取费用,费用根据查询区域的大小而定。

    24130

    给女朋友讲清楚Git和GitHub的区别,这一篇就够了!

    当处理较大的项目时,这种能够比较、区分和还原特定项目的两个版本之间的更改的功能变得非常有用。较大的项目意味着更多的人使用相同的代码工作,这增加了冲突的机会。使用版本控制,您可以轻松防止这些冲突。...VCS会同步版本,并确保您的更改不会与使用同一存储库的其他版本发生冲突。 当其他人保存您的代码的新版本时,VCS会保留更改的历史记录。您可以查看此历史记录,以了解谁,为什么以及何时进行了什么更改。...从字面上看,它是Git存储库的中心,您可以在GitHub上创建一个免费帐户,就可以在其中使用它。这些帐户具有丰富的存储空间,您可以在其中存储您的存储库并建立适当的配置文件来保存所有最重要的项目。...GitHub的功能并不止于此。它提供以下三个非凡功能,使其功能更加强大: fork:或通常称为fork。当您没有正确的访问权限时,这就是从一个用户的帐户复制存储库。...因此,GitHub上的人员和项目越多,项目维护者看到其贡献者潜力的能力就越高。这鼓励年轻的开发商和项目在该行业中获得更大的发展。

    2.2K20

    以太坊:比特币+一切可能

    比特币区块链上的完整节点将存储从零区块开始达成的每一笔交易; 以太坊区块链上的完整节点还存储与给定帐户关联的静态代码(如果有)以及存储中的代码的当前状态。...这意味着开发人员在决定何时写入数据时需要审慎。 Gas价格 什么可以阻止任何人上传包含10 TB静态代码的合同并耗尽网络全部节点的存储空间?或者阻止他让CPU连续不断地无效旋转?...以太坊合同可以做什么,一个很好的隐喻是:“在1999年的智能手机上能做什么呢?” 作为开发人员,这意味着您需要认真考虑代码的效率。 尤其是存储效率,但每个CPU周期都会让用户花费更多。...PayPal会在每笔交易中收费,我们则邮寄一份专辑的副本,然后在电子表格中标记,这样当第101人想购买时我们可以拒绝。...当且仅当字段等于1时,我们的网页接受粉丝的地址,然后我们将黑胶唱片邮寄给他们。

    90300

    美国终于挥舞着霸权大棒向程序员动手了

    Saeedi 在博客中写道: 这意味着我们的账户与核武器、生物武器或化学武器或远程导弹或无人驾驶飞行器的开发、生产或使用有关。这不是很荒谬吗?! 之后 Saeedi 又写了一篇博文:黄色徽章又回来了。...三天前(2019年7月25日),当GitHub阻止我的帐户时,我注意到GitHub的每一页都有一个丑陋的固定黄色警告(作为被阻止的用户)。警告消息没有关闭按钮。...GDPR 的一个想法是“ 数据可移植性 ”,这意味着用户必须有一个选项来导出他/她的数据。GitHub和Slack都实现了这种“数据导出”功能,但只要他们想要他们想要的任何人,他们就会提供它。...当美国决定对一个欧洲国家实施制裁时会发生什么? 美国法律可以忽略开源价值观 当我写“ GitHub阻止了我的帐户而他们认为我正在开发核武器 ”时,我发推文说 GitHub 欠我和开源社区的答案。...Nat Friedman 提到 GitHub 努力保护开源社区,但最重要的是他们必须遵守美国法律 ? 另一位程序员在博客中写道: 如果你的帐户被禁止,将无法再创建或删除自己的存储库,而且完全受限制!

    43310

    Docker 正在删除开源组织,强制其付费

    如果 Docker 想要限制私人回购,我会理解的,因为什么样的开源存储库需要他们?如果他们将这种方法应用于新的组织,我会理解的。...因为 Docker 实施了不切实际的速率限制[13],这意味着任何从 Docker Hub 下载内容的用户都需要付费订阅,无论是个人用户还是企业用户。...如果是这种情况,并且您可以忍受一些停机时间,您可以尝试以下操作: 创建一个新的个人用户帐户 将镜像同步到新用户帐户 删除组织 将个人用户帐户重命名为组织名称 开始将镜像发布到 GitHub GitHub...它不需要将服务帐户或长期令牌作为 Secret 存储在 CI 中,因为它已经可以生成短期令牌来访问 ghcr.io。 想看一个完整的例子吗?...GitHub 如何伤害开源开发人员的一个典型例子是,当它取消所有通过 PayPal 支付的维护者赞助时。这是在很短的时间内完成的,对我的开源工作造成了很大的打击。

    99330

    Active Directory中获取域管理员权限的攻击方法

    所有域组策略都存储在这里:\\\SYSVOL\\Policies\ 当创建一个新的 GPP 时,会在 SYSVOL 中创建一个关联的 XML 文件,其中包含相关的配置数据...这种攻击成功的原因是大多数服务帐户密码的长度与域密码的最小值相同(通常为 10 或 12 个字符长),这意味着即使是暴力破解也不太可能花费超过密码最长密码期限(过期)。...此外, 注意:当针对 Windows 系统托管的服务时,此攻击不会成功,因为这些服务映射到 Active Directory 中的计算机帐户,该帐户具有关联的 128 字符密码,不会很快被破解。...保护 Active Directory 数据库 (ntds.dit) 的每个副本,并且不要将其置于信任级别低于域控制器的系统上。 那么,当一个帐户被委派给域控制器的登录权限时会发生什么?...IFM 集是在此实例中创建的 NTDS.dit 文件的副本,位于 c:\temp 此文件可能暂存在共享中以用于推广新的 DC,或者它可能位于尚未升级的新服务器上。此服务器可能未得到适当保护。

    5.2K10

    Argo CD 实践教程 05

    为了简单起见,我们试图将所有演示放在同一个存储库中,所以安装在一个文件夹中。但是,建议将它放在一个单独的存储库中。...在这个存储库服务器应用程序中发生了很多事情,这意味着如果我们运行它的多个实例,我们将能够并行生成更多的清单。提供足够的资源以使这些容器不会因为内存不足的错误或CPU上的限制而被杀死也是有意义的。...有时,这可能还不够,比如当库斯提兹使用大的远程基地,或者当赫尔姆需要模板大的图表,如 kube-prometheus-stack (https://github.com/prometheus-community...让我们来看看为控制器的Kustomize安装设置为3个副本(这意味着三个碎片)的覆盖层会是什么样子的。...只有在对Git存储库有新的提交(将提交的SHA视为键)时,才会删除缓存。如果缓存丢失,则需要重新创建一切,这意味着应用程序仍然可以工作,但性能不佳。

    53720

    EOS账户权限

    账户和权限 钱包 账户 授权和权限 其他 默认账户配置(单个签名) 多签名账户和自定义权限 帐户是存储在区块链中的人类可读标识符。 每个交易都根据配置的帐户权限对其权限进行评估。...EOSIO/eos库有一个名为cleos的命令行界面客户端,它与一个名为keosd的 lite客户端进行交互,并且共同展示了钱包的这种模式。 账户 帐户是存储在区块链中的人类可读标识符。...自定义权限非常灵活,并且 在实际应用中可以解决许多可能的用例。 这很大程度上取决于开发人员如何使用它们,以及采用什么约定(如果有的话)。...将此密钥存储在钱包中,然后使用cleos进行处理 多签名账户和自定义权限 以下示例是名为@multisig的虚构帐户的权限。...要发送交易需要active权限,阈值设置为1.这意味着只需要1个签名即可授权来自帐户active权限的操作。 还有一个名为publish的自定义命名权限。

    2K70

    GPT动作中的数据检索

    当构建一个与提供商的REST API集成的动作时,请首先查阅现有文档。...当构建一个与关系数据库集成的动作时,有几件事情需要记住:REST API的可用性许多关系数据库不会原生暴露用于处理查询的REST API。...这意味着您需要向GPT提供额外的指示,指示支持的查询语法是什么。好消息是,GPT通常非常擅长根据用户输入生成正式查询。数据库权限尽管数据库支持用户级权限,但您的最终用户可能不具有直接访问数据库的权限。...这意味着您需要使用嵌入式API将查询输入转换为向量嵌入,然后才能将其提交给向量数据库。最好在REST API网关中处理此转换,以便GPT可以提交纯文本查询字符串。...数据库权限因为向量数据库存储的是文本块而不是完整文档,所以很难维护可能存在于原始源文件上的用户权限。请记住,任何可以访问您的GPT的用户都将可以访问数据库中的所有文本块,因此请合理规划。

    14310

    【深度知识】10分钟教会你深挖以太坊数据层

    如果他不给自己发送找零,他将失去这0.5个比特币,这0.5个比特币将会被当作交易费付给挖出此区块的矿工。 UTXO交易 其次,从本质上讲,比特币的区块链并不会存储和更新用户的账户余额。...在比特币网络中,用户只需持有一个或多个 UTXO 的私钥。 数字钱包的使用使得比特币的区块链看起来像是在自动存储和更新用户的帐户余额,但其实并不是这样。...在以太坊中,每当有与该帐户相关的交易发生时,帐户余额(存储在状态字典树中)就会发生变化。...以下示例使用了 EthereumJS,当提供特定区块的 stateRoot 以及以太坊帐户地址时,运行下面代码返回该帐户的余额。...这意味着,即使整个状态字典树的大小为几千兆字节,如果一个节点从受信任的源接收一个状态,该节点只需下载一个几千字节的证明数据就能够完全确定该字典树上任何信息的有效性。”

    1.1K20

    扩展我们的分析处理服务(Smartly.io):使用 Citus 对 PostgreSQL 数据库进行分片

    解决方案:使用 Citus 分片 PostgreSQL 数据库 当垂直扩展失败时,我们不得不开始水平扩展我们的报告数据库。这意味着我们需要在多个数据库服务器之间拆分数据和处理。...分片数据库对数据库模式有一定的要求。模式必须具有一个作为分片条件的值。分片逻辑使用此值来区分数据位于哪个分片上。在 Citus-PostgreSQL 中,分片是使用表主键控制的。...这意味着单个帐户的数据位于单个表分片中。我们必须确保所有主键都采用这种格式,并且表中包含帐户 ID 信息。我们还必须更改一些外键和唯一性约束,因为它们还必须包含分片列。...这意味着我们包含 5TB 数据的旧数据库被分割成一个集群,其中每个数据库服务器保存大约 1TB 数据。...此功能生成的数据库查询非常复杂,因为我们允许用户自由定义数据的分组、过滤和聚合方式。它还允许查询跨分片自由运行,因为用户可以定义任何帐户组合。Citus 分片数据库的好处真正体现在这些特定的查询中。

    75830

    CodeGate入门:LLM开发者的中间件

    CodeGate是一个安全解决方案,根据其主页,“它会加密提示中的密钥以保护您的隐私,并使用最新的风险洞察来增强LLM的知识库以保护您的代码”。...在我们深入研究之前,以下是我们将要做的工作,以便您可以检查它是否在您的开发舒适区内: GitHub Copilot。您需要一个GitHub帐户才能使用Copilot。...Docker:我们将本地在Docker上托管CodeGate,这意味着将提示发送到Docker,Codegate将增强的代码发送到(在本例中)Copilot。...开发人员只是向 LLM 询问键值对的含义,可能是因为他们一段时间没有使用 AWS 了。 问题是,当向 GPT-4 提问我们为什么使用它时,您不希望将您的私钥直接发送给 Sam Altman。...结论 当 LLM 提供商必须做出决定时,将会出现一个有趣的时刻。标准的生态系统策略意味着(即使是匿名地),了解最终用户正在做什么会增加提供商平台的价值——问问亚马逊就知道了。

    7710

    GitHub告急!黑客威胁程序员不交钱就删库

    不仅是GitHub被黑客攻击,据ZDNet报道,还有Bitbucket、GitLab也遭受同样的攻击。 这究竟是发生了什么事呢?...黑客攻击勒索的惊魂记 一程序员在Reddit发帖讲述其遭遇黑客攻击被勒索的过程:当他修复一个Bug正要用SourceTree提交,当点击提交按钮时,电脑死机了。...我们已经确定了受影响的用户帐户,并通知到这些用户。根据调查发现,我们有强有力的证据表明,被泄露的帐户在部署相关存储库时,其帐户密码是以明文形式来存储。...幸运的是,根据StackExchange安全论坛的成员发现,黑客实际上并没有删除源码,但是改变了Git的head,这意味着在某些情况下可以恢复代码提交。...加入我们程序员在企业项目开发里,使用这种弱密码会有什么危害呢? 2018年8月,华住酒店集团数据库采用简单的账户名和密码:root/123456,含达五亿条用户的详细信息的数据库遭到泄露。

    66810

    0.166666667小时,教会你深挖以太坊数据层

    如果他不给自己发送找零,他将失去这0.5个比特币,这0.5个比特币将会被当作交易费付给挖出此区块的矿工。 UTXO交易 其次,从本质上讲,比特币的区块链并不会存储和更新用户的账户余额。...在比特币网络中,用户只需持有一个或多个 UTXO 的私钥。 数字钱包的使用使得比特币的区块链看起来像是在自动存储和更新用户的帐户余额,但其实并不是这样。...在以太坊中,每当有与该帐户相关的交易发生时,帐户余额(存储在状态字典树中)就会发生变化。...以下示例使用了 EthereumJS,当提供特定区块的 stateRoot 以及以太坊帐户地址时,运行下面代码返回该帐户的余额。...这意味着,即使整个状态字典树的大小为几千兆字节,如果一个节点从受信任的源接收一个状态,该节点只需下载一个几千字节的证明数据就能够完全确定该字典树上任何信息的有效性。”

    71550

    如何在Ubuntu上使用Jenkins自动构建

    运行该流程的整套说明Jenkinsfile位于源存储库的根目录中。该单个文件告诉服务器该做什么,何时做以及如何执行这些任务。...在GitHub中创建一个新的存储库。本指南将使用一个简单的Node.js应用程序来展示Jenkins管道的工作原理。...警告:为Jenkins远程安装建立安全参数超出了本指南的范围。但是,请注意需要在生产环境中解决的这些关键点: 当您将jenkins用户添加到Docker组时,您在技术上授予其root权限。...您可以根据需要使用多个阶段,当您在需要“每个阶段”进行详细调试的复杂模型中工作时,这非常有用。 steps:在这里你定义你的行动。一个阶段可以分组许多步骤,每个步骤通常链接到一个特定的任务/命令。...您可以告诉它全局适用,因为它位于管道块内但在stage块之外。接下来是agent一个声明,这意味着Jenkins可以使用任何(服务器)代理。

    8K10

    蜂窝架构:一种云端高可用性架构

    用户的流量可以分布到这些单元中,如果一个单元发生故障,它只会影响该单元中的用户,其他单元仍然完全可用。这最大程度地减小了服务可能经历的故障“爆炸半径”,并确保故障不会影响大多数用户的 SLA。...根据不同的情况,你可能会做一些复杂一点的事情,比如将数据存储在可以查询的数据库中。我们不需要这些东西,所以只需将数据以 JSON 的形式存储在 S3 中。...假设你的应用程序组件的代码都位于一个 git 存储库中,那么,根据上述构建块,引导新单元的逻辑就可以像下面这样简单: 使用单元注册表查找我们在此单元中所需的元数据(例如,AWS 帐户 ID、DNS 配置等...隔离 在 AWS 环境中确保单元隔离性最简单的方法是为每个单元创建一个单独的 AWS 帐户。起初,如果你不习惯于管理多个帐户,那么这看起来有点令人生畏。...这意味着我们的 IaC 项目可以在单元注册表库中添加依赖项,可以访问包含所有单元元数据的数组。然后,我们可以循环遍历这个数组,定义每个单元所需的基础设施步骤。

    20910

    数据库安全如何保障?这五点是关键!

    例如,您可能会说,给定的连接只能执行更新和插入,而另一个连接必须与某些正则表达式相匹配,等等。 代理MaxScale也能保护你抵御DDos攻击:当太多的连接,直接进入数据库服务器,它可以被重载。...3实行严格的用户账户管理 仔细管理数据库用户帐户是非常重要的。这几乎适用于您IT生态系统的所有方面,我们在此不一一详述。...相反,我们只需要提醒您用户帐户管理的关键方面: 只允许本地客户端访问root权限。 始终使用密码。 为每个应用程序都有一个独立的数据库用户帐户。 限制访问数据库服务器的IP地址的数量。...4保持数据库软件和操作系统的更新 我们都知道保持软件更新的重要性,但这并不能阻止我们中的许多人运行遗留操作系统和几个版本的旧数据库服务器。...如果数据在应用程序中被加密,那么破坏数据库的黑客就看不到数据是什么(这只适用于那些不是密钥的数据)。 接下来是对传输中数据的加密。这意味着数据在网络从客户端移动到数据库服务器(或代理)时进行加密。

    1.2K110

    开源KMS之vault part3

    当一个机密引擎被禁用时,它的所有机密都会被吊销(如果这些机密支持吊销的话),并且在物理存储层中该引擎存储的所有数据都会被删除-移动 —— 将一个现存机密引擎移动到一个新路径上。...这意味着需要访问数据库的服务不再需要使用硬编码的凭据:它们可以从 Vault 请求凭据,并使用 Vault 的租约机制来更轻松地轮换密钥。这些被称为“动态角色”或“动态机密”。...由于每个服务都使用与众不同的凭据访问数据库,因此当发现有问题的数据访问时,审计会变得更加容易。我们可以通过 SQL 用户名跟踪到服务的特定实例。...静态角色数据库机密引擎支持“静态角色”的概念,即 Vault 角色与数据库中的用户名的一对一映射。数据库用户的当前密码由 Vault 在可配置的时间段内存储和自动轮换。...这与动态机密不同,动态机密的每次请求凭据都会生成唯一的用户名和密码对。当为角色请求凭据时,Vault 会返回已配置数据库用户的当前密码,允许任何拥有适当 Vault 策略的人访问数据库中的用户帐户。

    21710
    领券