GitHub Copilot信任中心
GitHub Copilot信任中心
GitHub Copilot和AI
安全
GitHub Copilot和安全
安全传输/加密
第三方测试/认证
审核和认证: GitHub Copilot Business和Copilot Enterprise提供合规报告。 具体来说,GitHub发布了一份针对Copilot Business的SOC 2 Type I报告(包括IDE中的代码完成,以及IDE、CLI和Mobile中的聊天)。 该1类报告表明,Copilot Business拥有保护服务安全所需的控制措施。 我们将在2024年末发布的下一份SOC 2类型2报告中纳入Copilot Business和Copilit Enterprise,报告涵盖2024年4月1日至9月30日。 此外,正如我们于2024年5月9日更新的ISO 27001证书所反映的那样,Copilot Business和Cophilot Enterprise现已纳入GitHub信息安全管理系统的范围。 该认证表明,Copilot Business和Copilot-Enterprise的开发和运营采用了与GitHub其他产品相同的安全流程和标准。 外部渗透测试: GitHub可以根据保密协议向我们当前的企业客户提供第三方渗透和应用程序测试报告,该报告来自对GitHubCopilot for Business进行的评估。 此外,GitHub Copilot还可用于 GitHub的Bug Bounty计划 .
你如何帮助
您可以通过使用GitHub Copilot并在反馈论坛中共享反馈来提供帮助。 还请将事件(例如,攻击性输出、代码漏洞、代码生成中的明显个人信息)直接报告给 copilot-safety@github.com 这样我们才能改进我们的保障措施。 GitHub非常重视安全保障,我们致力于不断改进。 Copilot包含在 GitHub Bug Bounty计划 。通过现有的漏洞奖励工作流对Copilot提交进行分类和处理。
GitHub Copilot如何帮助安全开发
在生成建议并将其返回给用户之前,Copilot应用了一个基于AI的漏洞预防系统,该系统实时阻止不安全的编码模式,以使Copilot建议更加安全。 我们的模型针对最常见的易受攻击的编码模式,包括硬编码凭证、SQL注入和路径注入。 该系统利用LLM来近似静态分析工具的行为,甚至可以在不完整的代码片段中检测到易受攻击的模式。 这意味着不安全的编码模式可以被快速阻止,并被替代建议所取代。 构建安全软件的最佳方法是通过 安全软件开发生命周期(SDLC) GitHub提供解决方案来帮助SDLC中的其他安全方面,包括 代码扫描(SAST)、秘密扫描和依赖项管理 (SCA)。 我们建议启用以下功能 分支保护 以确保代码只有在通过了所需的测试和同行评审后才合并到代码库中。
GitHub Copilot如何与其他安全措施配合使用
用于筛选的代理,例如PII:出站请求包含一个提示,该提示由当前编辑的文件和相关文件中的代码组成。 如果此请求是 下降 ,则Copilot将无法提供完成,并可能显示错误消息。 如果通过删除个人信息或可疑内容或代码的代理过滤器操作修改请求,则Copilot能够正常处理请求。 充气环境。 GitHub Copilot for Business需要用户的IDE和GitHub Copilot Proxy服务之间的主动互联网连接。 因此,它在气封环境中不起作用。
GitHub Copilot的局限性
隐私
GitHub Copilot和隐私
GitHub Copilot处理哪些个人数据?
用户参与数据:这包括用户与Copilot交互时捕获的假名标识符,例如接受或拒绝的完成、错误消息、系统日志和产品使用指标。 提示:这些是聊天或代码的输入,以及上下文,发送到Copilot的AI以生成建议。 建议:这些是AI生成的代码行或根据用户提示提供给用户的聊天响应。 反馈数据:这包括实时用户反馈,包括反应(例如,拇指向上/向下)和可选评论,以及来自支持票的反馈。
GitHub如何使用Copilot数据?
根据客户的配置和使用交付、维护和更新服务,以确保个性化体验和建议 故障排除,包括通过修复软件错误和维护在线服务的功能和最新性来预防、检测、解决和缓解问题,包括安全事件和产品相关问题 通过保持服务的最新和可操作性,提高用户的生产效率、可靠性、有效性、质量、隐私、可访问性和安全性
账单和账户管理 遵守并解决法律义务 用于滥用检测、预防和保护、病毒扫描以及扫描以检测违反服务条款的行为 生成汇总报告以计算员工佣金和合作伙伴奖励 为内部使用和战略规划生成聚合报告,涵盖预测、收入分析、容量规划和产品战略等领域,
GitHub对Copilot Business和Enterprise数据(控制器或处理器)的处理角色是什么?
根据客户的配置和使用交付、维护和更新服务,以确保个性化体验和建议 通过修复软件错误并维护在线服务的功能和最新性,进行故障排除,包括预防、检测、解决和缓解问题,包括安全事件和产品相关问题 通过保持服务的最新和可操作性,提高用户的生产效率、可靠性、有效性、质量、隐私、可访问性和安全性
用于计费和账户管理 生成汇总报告以计算员工佣金和合作伙伴奖励 遵守并解决法律义务 用于滥用检测、预防和保护、病毒扫描以及扫描以检测违反服务条款的行为 为内部使用和战略规划生成聚合报告,涵盖预测、收入分析、容量规划和产品战略等领域,
GitHub Copilot是否支持遵守GDPR和其他数据保护法律?
GitHub是否使用Copilot Business或Enterprise数据来训练GitHub的模型?
GitHub为商业和企业客户保留Copilot数据多长时间?
提示和建议:未保留 用户参与度数据:保存两年。 反馈数据:根据预期用途的需要保存多长时间。
提示和建议:保留28天。 用户参与度数据:保存两年。 反馈数据:根据预期用途的需要保存多长时间。
GitHub Copilot是否使用GDPR第22条意义上的自动决策?
GitHub Copilot是否使用第三方子处理器?
GitHub Copilot和数据流
IP和开源
GitHub Copilot和版权
GitHub Copilot是否“复制/粘贴”?
在考虑知识产权和开源问题时,了解GitHub Copilot的实际工作方式至关重要。 创建Copilot建议的AI模型可以根据公共代码进行训练,但不包含任何代码。 当他们生成建议时,并不是从任何代码库“复制和粘贴”。 为了生成代码建议,Copilot扩展首先检查编辑器中的代码 — 重点放在光标前后的行上,还包括信息,包括在编辑器中打开的其他文件以及存储库的URL或文件路径,以标识相关上下文。 这些信息被发送到Copilot的模型,以概率确定接下来可能发生什么,并生成建议。 为了在代码编辑器中生成聊天建议,Copilot扩展通过将提示与其他上下文(包括活动文档中打开的代码文件、代码选择和一般工作区信息,如框架、语言和依赖项)相结合来创建上下文提示。 这些信息被发送到Copilot的模型,以概率确定接下来可能发生什么,并生成建议。 为了在GitHub.com上生成聊天建议,例如从聊天提示符中提供问题的答案,Copilot通过将提示符与其他上下文相结合来创建上下文提示符,包括以前的提示、GitHub.com上打开的页面以及从代码库或Bing搜索中检索的上下文。 这些信息被发送到Copilot的模型,以对接下来可能发生的事情进行概率确定,并生成建议。
使用GitHub Copilot时需要考虑哪些知识产权问题?
版权法允许使用受版权保护的作品来训练人工智能模型:世界各国在其版权法中有规定,允许机器学习、理解、提取受版权保护材料(包括软件代码)中的模式和事实。 例如,欧盟、日本和新加坡明确规定允许机器学习开发人工智能模型。 包括加拿大、印度和美国在内的其他国家也根据其公平使用/公平处理规定允许此类培训。 GitHub Copilot的AI模型是使用GitHup公共存储库中的代码进行训练的 — 在允许的版权使用范围内公开访问。 建议中的版权风险如何? 在极少数情况下(根据GitHub的研究,不足1%),GitHup的建议可能与用于训练GitHubAI模型的代码示例相匹配。 同样,Copilot不是“查找”或“复制并粘贴”代码,而是使用用户工作空间中的上下文来合成和生成建议。 我们的经验表明,匹配建议最有可能出现在两种情况下:(i)当Copilot的模型合成的代码编辑器中没有上下文或上下文很少时,或(ii)当匹配建议代表一种常见的方法或方法时。 如果代码建议与现有代码匹配,则使用该建议可能会引发侵犯版权的索赔,这取决于所使用代码的数量和性质以及代码的使用背景。 从许多方面来说,这与使用开发人员未开发的任何代码时产生的风险相同,例如从在线源复制代码或重用库中的代码。 这就是为什么负责任的组织和开发人员建议用户使用代码扫描策略来识别和评估潜在的匹配代码。
开源许可证的注意事项是什么?
匹配代码的建议是否会自动引发版权或开源考虑? 不。匹配代码的存在本身并不决定是否存在问题及其法律风险。 这些考虑是否适用以及何时适用取决于许多因素,包括使用的开源代码的数量和性质,以及适用于此类代码的特定开源许可证。 与您的开发人员没有编写的任何代码一样,您的组织需要根据其政策并与行业和法律服务提供商协商,来决定何时、使用多少以及在什么上下文中使用任何代码。 所有组织都应保持适当的政策和程序,以确保这些许可问题得到妥善解决,如下所述。
每个组织都负责制定其开源政策和程序。
GitHub Copilot是否包含一种过滤机制来降低风险?
GitHub创建了一个重复检测过滤器,用于检测和抑制包含超过特定长度的代码段的建议,这些代码段与GitHup上的公共代码相匹配。 此筛选器可以由企业管理员启用,它可以应用于企业内的所有组织,或者管理员可以将控制权推迟到单个组织。 启用过滤器后,Copilot将根据GitHub上65个或更多词汇(平均150个字符)的公共代码检查代码建议是否匹配或接近匹配。 如果匹配,则不会向用户显示建议。
GitHub Copilot是否包含一些功能,以便用户更容易识别潜在相关的开放源码许可证以匹配建议?
如果建议与GitHub上公开的代码相匹配,请与组织的开源策略和过程保持一致。 谨慎和负责任的步骤应包括调查可用信息,以确定是否使用建议。 GitHub Copilot的代码引用功能标识包含与公共代码完全匹配或接近匹配的建议。 当找到匹配项时,Copilot会提供一个警报,其中包括指向任何此类匹配代码的存储库的链接,以及有关适用软件许可证的任何可用信息,并记录此信息。 Copilot用户可以查看这些信息,以确定适用的建议是否适合使用,以及使用这些建议是否需要其他措施。 Copilot用户也可以将此功能用作学习工具。 使用代码引用功能提供的信息,开发人员可能会从其他代码库中获得灵感,发现文档,几乎可以肯定地获得信心,认为这个片段适合在他们的项目中使用。 他们可能会采取依赖关系,在适当的时候提供归属,甚至可能寻求另一种实现策略。 通过帮助开发人员理解其代码的社区上下文,同时保持开发人员的流动性,我们相信Copilot将继续在键盘上提供负责任的创新和真正的快乐。
GitHub Copilot是否旨在完全自动化代码生成并取代开发人员?
该产品被称为“Copilot”而非“Autopilot(自动驾驶仪)”,其目的不是在没有监督的情况下生成建议。 对于Copilot的建议,您应该使用与任何第三方代码完全相同的保护和谨慎。 确定使用第三方代码的最佳实践超出了本节的范围。 也就是说,无论您的组织目前使用什么实践——严格的功能测试、代码扫描、安全测试等——您都应该根据Copilot的建议继续执行这些策略。 此外,您应该确保代码编辑器或编辑器在审阅生成的代码之前不会自动编译或运行它。
GitHub Copilot用户可以毫无顾虑地使用建议吗?
如上所述,GitHub Copilot无意取代开发人员或他们的个人技能和判断,也无意完全自动化代码开发过程。 使用任何第三方代码的风险同样适用于使用Copilot的建议。 根据您的特定用例,您应该考虑实现上面讨论的保护。 你有责任评估什么适合这种情况,并实施适当的保障措施。
GitHub Copilot如何使用您的代码提供建议?
生成性AI工具提供对一般称为“提示”的东西的响应。在GitHub Copilot的情况下,提示由代码编辑器中的各种元素组成。 这可能包括正在编辑的文件中的文件内容,以及项目中的相邻文件或相关文件。 它还可能包括存储库或文件路径的URL,以标识相关上下文。 然后,注释和代码以及此上下文用于合成和建议单行代码和整个函数。 提示需要传输到GitHub的服务器进行处理。 传输的数据在传输中和静止时都经过加密 Copilot与其托管在Microsoft Azure服务上的模型进行交互,以生成建议。 然后将这些建议发送回用户。 如上所述,这些建议在传输和休息时都被加密 提示仅实时传输以返回建议。 如果您正在代码编辑器中使用Copilot扩展,那么您的提示、建议和支持上下文将被丢弃。 如果您在代码编辑器外使用Copilot,那么您的提示、建议和支持上下文将存储28天。
GitHub Copilot是否保留了作为提供建议基础的任何提示?
如上所述,Copilot确实会将内容从代码编辑器传输到GitHub的服务器,以评估上下文并提供建议。 转移的副本纯粹是昙花一现,在Copilot提供建议后不久,副本就被删除了。 它不用于任何其他目的。
GitHub Copilot是否使用您的任何代码来训练GitHub的模型(或任何后续模型)?
谁拥有GitHub Copilot提供的建议?
人工智能模型生成的建议是否可以拥有取决于许多因素(例如,相关国家的知识产权法、建议的长度、建议被视为“功能性”而非表达性的程度等)。 如果一个建议能够被拥有,我们的条款是明确的:GitHub不主张所有权。 在某些情况下,Copilot可以为不同的用户提供类似的建议。 例如,两个不相关的用户都启动新文件,用Java编写快速排序算法,他们可能会得到相同的建议。 向多个用户提供类似建议的可能性是生成性人工智能系统的一个常见部分。 无论如何,GitHub不主张所有权。
劳动力市场
GitHub Copilot和未来工作
GitHub Copilot是否赋予开发人员权力并提高生产力?
GitHub Copilot如何支持包容性开发催化剂?
GitHub Copilot如何改变开发人员的机会?
无障碍
GitHub Copilot和可访问性
GitHub在开发人员协作和残疾人无障碍环境方面的使命和目标是什么?
GitHub使用什么可访问性标准?
Web内容无障碍指南(WCAG) 美国第508条 EN 301 549标准
GitHub如何在开发过程中包含可访问性?
GitHub如何测试可访问性?
用户在哪里可以找到有关GitHub可访问性的信息?
访问 可访问性.github.com 用于我们的可访问性声明和可访问性一致性报告 检查 辅助功能更改日志 了解最新改进 在上获取最新消息 GitHub辅助功能博客 在上提问 辅助功能社区讨论页 在报告问题 支持.github.com