[{"data":1,"prerenderedAt":904},["ShallowReactive",2],{"site-content:zh":3,"training-course:web-application-penetration-testing-course:zh":653},{"nav":4,"hero":19,"headings":36,"intro":43,"blog":44,"reasonsToHire":64,"coverage":82,"services":97,"engagementFaq":462,"process":482,"about":497,"contact":507,"privacy":557,"cta":650},{"services":5,"training":6,"research":7,"blog":8,"about":9,"contact":10,"menu":11,"close":12,"skip":13,"language":14,"home":15,"privacy":16,"roles":17,"serviceDetails":18},"服务","培训","过往成果","博客","关于我","联系","菜单","关闭","跳到正文","选择语言","首页","隐私","职位与研究合作","查看服务",{"eyebrow":20,"lines":21,"lead":25,"primary":26,"secondary":27,"readout":28},"Web、移动端与桌面应用渗透测试",[22,23,24],"赶在攻击者之前，","帮您找出应用中的","\u003Cem>安全漏洞。\u003C\u002Fem>","我对 Web、移动端和桌面应用及其 API 进行测试，专门查找扫描器发现不了的缺陷：失效的访问控制、不安全的数据处理、业务逻辑漏洞以及原生代码中的缺陷。从确定测试范围到最后的结果讲解，您始终直接与我本人沟通。","获取方案报价","查看过往成果",{"title":29,"items":30,"note":35},"可公开核实的记录",[31,32,33,34],"已报告 150 多个安全漏洞","Facebook 和 Instagram 中 7 个漏洞获 Meta 确认","9 个补丁进入 Linux 内核主线，其中包括 2 个 CVE 的修复","自主开发上下文感知 DAST 扫描器 Hendra","从第一次沟通到最终报告，全程由我本人负责。范围、价格和日期在开始前以书面形式确定。",{"evidence":37,"expertise":38,"work":39,"research":40,"experience":41,"contact":10,"process":42},"可以核实的专业能力","选择您的产品所需的服务","我报告的漏洞，以及我编写的修复","我打造的扫描器及其背后的研究","开发与安全经验","从第一个问题到有价值的结果","为 Web、移动端和桌面软件提供渗透测试和安全代码审计，并提供模糊测试、修复验证以及定制安全工具。我已报告 150 多个安全漏洞，每个项目都由我本人亲自完成。范围、价格和日期在开始前以书面形式确定。",{"title":45,"lead":46,"latest":47,"readArticle":48,"allArticles":49,"all":50,"categories":51,"published":55,"updated":56,"author":57,"sources":58,"contents":59,"relatedService":60,"empty":61,"titleLatest":62,"related":63},"应用安全博客","为软件开发者和产品负责人提供 CVE 解读、代码审计方法和实用指导。","最新文章","阅读全文","全部文章","全部",{"cve":52,"guides":53,"news":54},"CVE 解读","实用指南","安全资讯","发布于","更新于","作者","参考来源","本文目录","需要在您自己的产品中检查这个问题吗？","该分类下暂无文章。","我如何分析真实漏洞","延伸阅读",{"title":65,"lead":66,"items":67},"为什么选择一位同样从事软件开发的安全研究员","扫描器只报告表象。我会把每个发现追溯到引发问题的代码，并给出开发团队可以直接上线的修复方案。",[68,73,78],{"title":69,"body":70,"evidence":71,"href":72},"找到根因，并亲自编写修复。","我编写了两个 Linux 内核 CVE 的补丁，另有七个修复已合入主线。在您的产品中，每个发现都会附上代码路径、触发条件以及可供团队审阅的修复方案。","查看已合入的 9 个内核补丁","\u002Fresearch#kernel-patches",{"title":74,"body":75,"evidence":76,"href":77},"我本身做开发，修复方案贴合您的代码。","我曾主导 Web 开发，并从架构开始设计了一款 DAST 扫描器。在提出修复建议时，我已经考虑过您的团队将如何实现和测试它。","了解我如何打造 Hendra","\u002Fresearch\u002Fhendra",{"title":79,"body":80,"evidence":26,"href":81},"方案由谁制定，测试就由谁执行。","我与您共同确定范围，亲自完成每一项测试，并与开发人员逐一讲解每个发现。","\u002Fcontact",{"title":83,"items":84},"Web、移动端和桌面应用，由同一个人完成测试。",[85,89,93],{"title":86,"body":87,"href":88},"Web 与 API","身份认证、权限、敏感业务流程以及 API 背后的应用逻辑。这是我最擅长、也最专注的领域。","\u002Fservices\u002Fweb-application-security-assessment",{"title":90,"body":91,"href":92},"移动应用","应用本身、其本地数据以及与后端服务的连接，平台和 API 的测试边界事先明确约定。","\u002Fservices\u002Fmobile-application-security-assessment",{"title":94,"body":95,"href":96},"桌面与原生软件","处理不可信输入的应用代码、库和组件。C、C++ 和 Java 项目围绕真正重要的风险确定范围。","\u002Fservices\u002Fdesktop-application-security-assessment",[98,130,168,205,241,276,309,342,377,420],{"slug":99,"keywords":100,"type":106,"featured":107,"title":101,"summary":108,"audience":109,"fit":110,"tags":111,"scope":114,"deliverables":118,"faq":123},"application-penetration-testing",[101,102,103,104,105],"应用渗透测试","自由职业渗透测试工程师","Web 移动端桌面渗透测试","软件安全评估","移动应用渗透测试","application-pentest",true,"了解您的 Web、移动端或桌面应用中的薄弱环节可能如何影响用户、数据和业务。您将获得经确认的发现以及清晰的修复优先级。","适合正在准备发布、需要响应客户安全评估要求，或希望检查现有产品的产品负责人、CTO 和开发团队。","在发布、客户审查或重要产品变更之前。",[86,112,113],"移动端","桌面端",[115,116,117],"明确产品、版本、环境、访问权限以及允许的测试行为。","研究相关的攻击路径、信任边界和安全敏感功能。","在约定范围内验证发现，并说明其影响。",[119,120,121,122],"一份评估报告，包含经确认的发现、证据和复现步骤。","基于受影响产品和每个发现影响程度的优先级排序。","切实可行的修复建议，以及与您的技术团队进行的结果讲解。","已测试范围、范围限制以及约定后续步骤的记录。",[124,127],{"question":125,"answer":126},"您能测试 Web、移动端和桌面应用吗？","可以。请告诉我产品、平台和目标，我们会确定适合您应用的测试对象、方法和访问权限。Web 和 API 安全是我最擅长、也最专注的领域。",{"question":128,"answer":129},"如果我们只需要检查一个功能呢？","我们可以针对某个关键流程或组件确定聚焦的审查范围。方案会写明边界，让您清楚哪些内容已评估、哪些没有。",{"slug":131,"keywords":132,"type":138,"featured":107,"title":133,"summary":139,"audience":140,"fit":141,"tags":142,"scope":146,"deliverables":150,"faq":155},"secure-code-review",[133,134,135,136,137],"安全代码审计","C C++ Java 代码安全审计","源代码安全评估","漏洞根因分析","代码审计服务","code-review","找出漏洞在代码中的起点、它能影响到哪些部分，以及能够修复它的最小改动。","适合正在修改敏感功能、接手现有代码库或调查已知问题的技术负责人、产品负责人和开发团队。","当您需要根因分析和切实可行的修复方案时。",[143,144,145],"C \u002F C++","Java","应用代码",[147,148,149],"明确模块、变更、依赖以及相关的数据流。","审查信任边界、权限以及对不可信输入的处理。","结合上下文调查发现，并讨论符合现有架构的修复方案。",[151,152,153,154],"代码级发现，包括受影响位置、证据和影响。","根本原因说明以及切实可行的修复选项。","验证步骤，以及面向开发人员的技术讲解。","已审查的范围，以及访问或验证方面的任何限制。",[156,159,162,165],{"question":157,"answer":158},"您审计哪些语言和技术栈？","我审计包括 C、C++ 和 Java 在内的应用代码，同时具备 PHP\u002FLaravel、Vue、Node.js 和 MySQL 的开发背景。请告诉我您的技术栈和审计目标，以便确认合适的范围。",{"question":160,"answer":161},"您需要整个代码库吗？","需要哪些访问权限取决于要回答的问题。即使是聚焦的审计，也可能需要相关代码、构建信息或测试，才能理解权限、依赖和数据流。",{"question":163,"answer":164},"审计可以聚焦于某个拟议的修复吗？","可以。我们可以检查约定的修改是否解决了原始根因，以及是否引入了相关问题。如需开发实现，另行约定。",{"question":166,"answer":167},"可以先从一个组件开始吗？","可以。针对某个关键功能、模块或变更进行有边界的审计，是一个很好的首次合作方式。报告会明确写出这些边界。",{"slug":169,"keywords":170,"type":169,"featured":107,"title":171,"summary":176,"audience":177,"fit":178,"tags":179,"scope":183,"deliverables":187,"faq":192},"fuzzing",[171,172,173,174,175],"定向模糊测试","C C++ 模糊测试","解析器安全测试","库的模糊测试","崩溃分析","用非预期输入测试选定的组件，调查程序失效，并识别与安全相关的薄弱环节。从对您的产品最重要的目标开始。","适合开发解析器、库、SDK、协议或处理不可信输入的应用组件的团队。","当畸形文件、消息或输入可能暴露薄弱环节时。",[180,181,182],"组件与库","非预期输入","失效分析",[184,185,186],"评估目标的可行性、构建要求、入口点和测试目标。","为选定组件搭建并运行约定的测试方案。","调查失效并去重，精简有价值的样例，评估其安全相关性。",[188,189,190,191],"可行性评估以及约定的测试范围。","经调查的失效，附可复现的样例和安全分析。","搭建文档以及约定的测试产出物，供您的团队留用。","结果讲解、修复建议，以及后续测试的建议。",[193,196,199,202],{"question":194,"answer":195},"什么样的目标适合做模糊测试？","输入边界清晰、且我们能够构建或运行的组件。解析器、库和协议处理程序都是不错的候选。在承诺开展测试之前，我们会先确认其适用性。",{"question":197,"answer":198},"可以从一个小型试点开始吗？","可以。一个付费的可行性阶段可以确认目标是否可行、需要怎样的搭建工作，以及更大规模的测试应包含哪些内容。",{"question":200,"answer":201},"您会交付测试框架（harness）或可持续使用的测试环境吗？","产出物在确定范围时商定。根据目标不同，可能包括 harness、种子输入、运行说明、复现样例或集成指导，并写入方案。",{"question":203,"answer":204},"每次崩溃都意味着存在漏洞吗？","不是。失效需要调查。报告会区分观察到的行为、已确认的安全影响以及尚未解决的问题；不承诺漏洞或 CVE 的数量。",{"slug":206,"keywords":207,"type":213,"featured":107,"title":214,"summary":215,"audience":216,"fit":217,"tags":218,"scope":222,"deliverables":226,"faq":231},"remediation-verification",[208,209,210,211,212],"漏洞修复","安全修复验证","渗透测试复测","漏洞整改","开发人员安全咨询","remediation","漏洞修复与修复验证","已经有渗透测试报告？我帮助您的团队确定修复优先级、完成修复，并验证修复确实有效。","适合需要处理安全评估、漏洞报告或重要安全变更的产品和工程团队。","当您已有发现，需要一条清晰的路径来关闭它们时。",[219,220,221],"修复优先级","开发人员指导","复测",[223,224,225],"审查原始证据、受影响版本和拟议的修改。","与负责团队讨论根本原因、修复选项和优先级。","对照原始问题及相关行为，验证约定的修复。",[227,228,229,230],"针对约定发现的切实可行的修复计划。","与受影响组件或流程相对应的技术指导。","验证结果，说明测试了哪些内容以及仍存在的问题。","对未解决问题和后续步骤的清晰记录。",[232,235,238],{"question":233,"answer":234},"您能基于其他测试人员的报告开展工作吗？","可以，前提是具备访问权限和足够的证据。我们会先确认原始发现说明了什么，以及哪些需要复现、澄清或验证。",{"question":236,"answer":237},"您会负责实施修复吗？","开发咨询和修复验证可以单独确定范围。任何实现或补丁工作都需要另行约定责任、访问权限和验收标准。",{"question":239,"answer":240},"复测通过是否意味着整个产品都安全了？","它确认的是约定检查项在被测版本上的结果。验证报告会写明其范围，不能替代对其他无关部分的评估。",{"slug":242,"keywords":243,"type":249,"title":250,"summary":251,"audience":252,"fit":253,"tags":254,"scope":258,"deliverables":262,"faq":266},"web-application-security-assessment",[244,245,246,247,248],"Web 应用安全评估","API 渗透测试","越权测试","SaaS 渗透测试","访问控制失效","web-assessment","Web 应用与 API 渗透测试","一个客户能否读取另一个客户的数据？我测试身份认证、角色权限、租户隔离，以及扫描器无法建模的业务逻辑。","适合正在准备发布、修改敏感功能或需要响应客户安全要求的 Web 产品、SaaS 平台和 API 的负责人与开发人员。","在上线敏感 Web 功能或向客户开放 API 之前。",[255,256,257],"身份认证","授权","业务逻辑",[259,260,261],"约定应用、API 端点、环境、账户以及测试边界。","审查身份认证、授权、输入处理以及相关业务逻辑。","在约定范围内验证攻击路径及其影响。",[263,264,265],"经确认的发现，附证据、复现步骤和风险等级依据。","与受影响功能或代码对应的修复建议。","关于优先级、限制和后续步骤的技术讲解。",[267,270,273],{"question":268,"answer":269},"评估可以包括 API 吗？","可以。请说明 API、现有文档、账户角色以及相关的应用流程。我们会约定纳入范围的端点和集成。",{"question":271,"answer":272},"您能评估生产环境中的应用吗？","需要先约定环境、允许的操作和运行限制。讨论范围时，请告知可用性要求和其他约束条件。",{"question":274,"answer":275},"您能检查业务逻辑和权限吗？","可以，前提是约定的访问权限和范围支持。产品规则、账户角色和敏感流程有助于设计有效的测试。",{"slug":277,"keywords":278,"type":283,"title":279,"summary":284,"audience":285,"fit":286,"tags":287,"scope":291,"deliverables":295,"faq":299},"mobile-application-security-assessment",[279,105,280,281,282],"移动应用安全评估","移动端 API 安全","Android iOS 渗透测试","移动应用数据安全","mobile-assessment","检查移动产品中的安全薄弱环节、数据处理方式以及与后端的交互。客户端与 API 的边界在测试前约定。","适合正在准备发布、引入敏感数据流或需要为客户安排独立评估的移动产品负责人和开发团队。","在移动端发布或敏感数据处理方式变更之前。",[288,289,290],"移动客户端","本地数据","后端边界",[292,293,294],"确认纳入范围的平台、应用版本、访问权限和后端服务。","检查相关的数据处理、信任边界以及客户端与服务器的交互。","验证发现，并区分客户端问题与后端风险。",[296,297,298],"经确认的发现，附受影响组件、证据和复现步骤。","为负责修复的移动端和后端开发人员提供的实用指导。","已测试范围、平台限制以及待解决问题的说明。",[300,303,306],{"question":301,"answer":302},"您能评估哪些移动平台？","请说明平台、框架和构建要求。在约定合作之前，我们会确认适用性和测试方法；方案会写明支持的测试对象。",{"question":304,"answer":305},"是否包含后端和 API 测试？","只有在明确纳入范围时才包含。移动应用评估和后端评估的边界相互关联但各不相同，方案会说明清楚。",{"question":307,"answer":308},"您需要哪些访问权限？","这取决于约定的方法。可能需要相关构建版本、测试账户、环境信息，以及在结合代码的测试中提供部分源代码。",{"slug":310,"keywords":311,"type":317,"title":318,"summary":319,"audience":320,"fit":321,"tags":322,"scope":324,"deliverables":328,"faq":332},"desktop-application-security-assessment",[312,313,314,315,316],"桌面应用安全评估","原生应用渗透测试","C C++ Java 应用安全","库与 SDK 安全","原生软件安全分析","desktop-assessment","桌面与原生应用安全评估","排查桌面应用、库和原生组件中的风险，审查代码和输入路径，找出缺陷可能演变为安全问题的地方。","适合使用 C、C++ 或 Java 开发桌面软件、库、SDK 和开发者工具，且组件需要处理不可信输入的厂商。","在引入解析器、协议、库或重要原生组件时。",[143,144,323],"库与输入路径",[325,326,327],"明确目标组件、运行环境、构建要求和信任边界。","检查相关代码、输入处理和应用行为。","根据目标的约定，采用代码审计、动态测试或定向模糊测试。",[329,330,331],"与受影响代码或行为相对应的发现，附可复现的证据。","面向负责开发人员的根因分析和修复指导。","记录在案的测试边界、搭建限制以及约定的后续步骤。",[333,336,339],{"question":334,"answer":335},"哪些桌面项目适合？","有明确安全问题的应用、库和组件，尤其是涉及不可信输入的情况。请说明开发语言、操作系统和构建要求，以便确认是否合适。",{"question":337,"answer":338},"模糊测试是评估的一部分吗？","如果适合目标，可以纳入。我们会分别约定可行性工作、测试方案和产出物，而不是假设每个应用都需要相同的方法。",{"question":340,"answer":341},"哪些公开成果可以佐证这项服务？","我的公开成果包括 Linux 内核中的 CVE-2024-26855 和 CVE-2025-37858，其修复已被上游接受。这些记录展示了原生代码方面具体的调查和修复工作。",{"slug":343,"keywords":344,"type":350,"title":351,"summary":352,"audience":353,"fit":354,"tags":355,"scope":358,"deliverables":363,"faq":367},"ai-built-app-security-review",[345,346,347,348,349],"AI 生成应用安全审查","Vibe Coding 安全审计","Supabase RLS 安全检查","Lovable 应用安全","AI 生成代码安全","ai-app-review","AI 生成应用的安全审查","用 Cursor、Lovable、Bolt 或 Copilot 开发的应用？在真实用户和真实数据到来之前，我会检查 AI 生成代码经常出错的身份认证、数据访问和 API 密钥。","适合借助 AI 编程工具快速上线、现在需要确认一个用户能否访问另一个用户数据的创业者、独立开发者和小团队。","在正式上线、开始收费或接入首批企业客户之前。",[255,356,357],"数据访问与 RLS","密钥与 API Key",[359,360,361,362],"审查注册、登录、会话和密码重置。","检查谁能读取和修改谁的数据，包括 Supabase、Firebase 或自建 API 中的行级和对象级规则。","查找暴露在客户端、代码仓库或公开存储中的密钥和 API Key。","测试过度信任客户端的支付、Webhook 和管理后台流程。",[364,365,366],"一份按风险排序的修复清单，每个问题都附有证据。","每项修复所需的具体代码、配置或提示词修改。","一次简短的通话，讲解测试结果。",[368,371,374],{"question":369,"answer":370},"这和自动化扫描一样吗？","不一样。扫描器和 AI 审查工具只能发现常见模式。我会像攻击者一样测试应用：注册账户、在不同账户之间切换，并尝试访问不属于我的数据。",{"question":372,"answer":373},"您需要我提供什么？","应用的网址、两个不同角色的测试账户，如有可能，再提供代码仓库和后端设置的只读权限。请不要通过电子邮件发送生产环境的密码。",{"question":375,"answer":376},"您支持哪些技术栈？","使用 Cursor、Lovable、Bolt、Replit、v0 或 Copilot 等工具开发的应用，通常基于 Next.js、React、Supabase、Firebase 或 Node.js API。告诉我您的技术栈，我会确认是否适合。",{"slug":378,"keywords":379,"type":385,"title":386,"summary":387,"audience":388,"fit":389,"tags":390,"scope":394,"deliverables":399,"faq":404},"appsec-tooling-dast-advisory",[380,381,382,383,384],"安全工具开发","SAST DAST 工程","定制漏洞扫描器开发","DAST 扫描器评估","静态分析工具开发","tooling-advisory","安全工具开发与 SAST\u002FDAST 工程","我开发并扩展 SAST 和 DAST 工具，并评估您正在使用的扫描器能否在您的技术栈中发现真正重要的问题。架构、检测组件和效果评估都以您的实际目标为依据。","适合正在构建分析能力、扩展扫描器或评估安全测试工具质量的安全产品团队和工程组织。","当您需要构建、扩展或评估某项安全分析能力时。",[391,392,393],"SAST 开发","DAST 工程","检测与评估",[395,396,397,398],"明确分析目标、目标技术、访问权限、约束条件和验收标准。","设计约定的架构，或实现并扩展选定的分析、检测或扫描组件。","在有代表性的目标上评估约定的能力，记录覆盖范围、检测结果和局限。","结合团队的工作流程和维护需求，规划集成与交接。",[400,401,402,403],"一份范围明确的工程计划，包含架构决策和验收标准。","约定的设计方案或已实现的组件，附测试和技术文档。","针对约定目标的可复现评估方法及其结果。","涵盖集成、局限和后续开发的技术交接。",[405,408,411,414,417],{"question":406,"answer":407},"您开发安全工具吗？","是的。我设计并开发 SAST 和 DAST 应用。合作可以涵盖架构、特定检测组件、扩展、集成或效果评估。方案会明确目标技术和交付内容。",{"question":409,"answer":410},"您开发过什么？","Hendra 是我在 ITMO 大学完成博士研究期间开发的模块化、上下文感知 DAST 扫描器。我设计了它的核心架构、技术识别、扫描规划、请求去重、发现审查以及基准测试方法。",{"question":412,"answer":413},"您能扩展现有工具吗？","可以，前提是其架构、访问权限和许可证允许约定的工作。我们会先确定扩展点、所需行为以及目标能力的测试。",{"question":415,"answer":416},"SAST 项目可以覆盖哪些语言？","语言覆盖范围按项目确定。在约定开发之前，我们会审查目标语言、现有的分析基础设施、代码模式和评估用例。覆盖范围和局限都会形成文档。",{"question":418,"answer":419},"在投入开发之前，您能先评估一款工具吗？","可以。范围明确的评估可以检查检测行为、有效覆盖率、分诊工作量和集成限制。已发布的实验室基准测试可作参考；评估本身需要与您的团队相关的目标和标准。",{"slug":421,"type":422,"title":423,"summary":424,"audience":425,"fit":426,"keywords":427,"tags":435,"scope":439,"deliverables":444,"faq":449},"secure-software-engineering","software-engineering","定制软件与网站开发","把您的想法变为现实：作品集网站、企业官网、应用程序或完整的业务系统。我负责架构设计、产品开发以及所需服务的对接，里程碑清晰，交接务实。","适合个人、企业主、创业者和团队：建设网站、作品集、Web\u002F移动端\u002F桌面应用、业务系统、API 与系统集成，或改进现有产品。","从个人作品集到复杂的企业平台，技术选型和范围都由项目需求决定。",[428,429,430,431,432,433,434],"自由职业软件开发","定制应用开发","网站开发","作品集网站制作","业务系统开发","Web 移动端桌面应用开发","软件架构设计",[436,437,438],"系统与应用","网站与作品集","架构设计",[440,441,442,443],"明确用户、业务流程、约束条件、集成需求和验收标准。","规划界面、架构、数据流和集成方案，并配备与产品相称的安全措施。","按可审阅的里程碑设计并实现约定的组件。","测试约定的功能行为，并编写部署、运维和交接文档。",[445,446,447,448],"适合您产品的项目计划和架构方案。","约定的源代码、测试和集成产出物。","每个里程碑对照验收标准进行演示。","技术文档以及面向您团队的技术交接。",[450,453,456,459],{"question":451,"answer":452},"您可以开发哪些内容？","网站、作品集、Web\u002F移动端\u002F桌面应用、业务系统、API 及系统集成。合作可以涵盖架构设计、开发实现，或两者兼有。开始之前，我们会商定技术栈、功能范围以及交付成功的标准。",{"question":454,"answer":455},"可以加入正在进行的项目吗？","可以。在承诺开发里程碑之前，可以先安排一个聚焦的初始阶段，梳理代码库、架构和当前的阻塞问题；也可以只针对一个关键组件。",{"question":457,"answer":458},"是否包含独立的安全评估？","开发工作包含约定的安全要求和测试。单独立项的安全评估可以检查更多攻击路径，并出具独立报告；其边界会明确约定。",{"question":460,"answer":461},"如何控制范围和预算？","从一个明确定义的需求分析或开发阶段开始。开工前商定交付物、验收标准、价格和进度；任何变更都先评审，再纳入项目。",[463,467,470,473,476,479],{"question":464,"answer":465,"assessmentOnly":466},"您多快会回复？","最迟三天内回复。您会收到关于产品的问题，或者一份方案大纲。",false,{"question":468,"answer":469,"assessmentOnly":466},"费用是多少？","公布的价格为起步价。最终价格取决于范围和技术复杂度，并在开始前写入书面方案。",{"question":471,"answer":472,"assessmentOnly":466},"需要多长时间？什么时候可以开始？","周期和开始日期取决于范围、技术复杂度以及我当前的工作安排。方案中会写明日期。",{"question":474,"answer":475,"assessmentOnly":466},"可以签署 NDA 吗？","可以。在您分享代码、凭据或漏洞发现之前，保密条款（包括您需要的 NDA）会在方案中约定。",{"question":477,"answer":478,"assessmentOnly":107},"包含复测吗？","复测在每次合作的方案中单独约定：针对哪些发现、哪个版本以及时间窗口。",{"question":480,"answer":481,"assessmentOnly":107},"您与服务公司合作吗？","合作。服务公司可以邀请我参与其客户项目。交付条款（包括白标报告）在方案中逐案约定。",{"title":483,"steps":484},"合作流程",[485,488,491,494],{"title":486,"body":487},"发送简要需求","说明产品情况、近期变更、您想确认的问题以及时间要求。一段话即可，我会在三天内回复。",{"title":489,"body":490},"获取书面方案","方案写明范围、方法、排除项、交付物、价格和日期。保密条款、NDA 和复测安排也在同一份方案中约定。",{"title":492,"body":493},"全程了解工作进展","安全评估期间，证据和优先级一经确认即同步给您；开发项目则按约定的里程碑供您审阅。",{"title":495,"body":496},"报告与结果讲解","您将收到报告或交付成果，并与您的团队进行一次结果讲解。后续的修复或验证工作另行与您商定。",{"title":498,"lead":499,"paragraphs":500},"我发现漏洞，也编写修复。","我是 Rand Deeb，首席应用安全工程师、独立安全研究员。我已报告 150 多个安全漏洞，为两个 Linux 内核 CVE 编写了修复补丁，并打造了 DAST 扫描器 Hendra。我为产品团队测试 Web 应用和 API，所有工作均由我本人完成。",[501,502,503,504,505,506],"全栈开发的背景让我能够理解一个功能是如何构建的，以及修复会如何影响应用的其他部分。我将这一视角与安全测试、代码审计和漏洞研究结合起来。","我还设计并开发用于静态分析（SAST）和动态测试（DAST）的安全应用。这项工作把软件架构、检测逻辑和可复现的评估联系在一起，这些经验可以用于范围明确的工具开发或扩展项目。","在 Confident，我的工程工作涵盖 SAST、DAST、C++ 和安全工程。此前，我在 Momento 从事 Web 开发和 Web 安全工作。","Meta 已验证并确认了我在 Facebook 和 Instagram 中报告的 7 个安全漏洞。在 Linux 内核代码中，我分析了 300 多份静态分析报告，并贡献了 9 个补丁。我的工作还包括两个已公开的 CVE：CVE-2024-26855 和 CVE-2025-37858，其修复已被 Linux 主线接受。ice 驱动的修复还被回移植到了稳定分支。CVE 记录和相关修复链接均可供您查阅。","Hendra 就是一个具体的例子：这是我在 ITMO 大学已完成的博士研究项目中开发的模块化、上下文感知 DAST 扫描器。我设计了它的核心架构，以及技术识别、扫描规划、请求去重、发现审查和基准测试等组件。我的论文探讨了这项工作背后的方法。","如果您正在准备发布，或需要回应客户的安全审查，请给我发一份简要需求。",{"title":26,"lead":508,"labels":509,"types":528},"告诉我您要上线什么、需要弄清楚什么，以及时间要求。我会在三天内回复问题或方案大纲。如果在提供细节之前需要签署 NDA，请一并说明。",{"name":510,"email":511,"company":512,"type":513,"message":514,"consent":515,"source":516,"submit":26,"sending":517,"success":518,"successBody":519,"successArticle":520,"error":521,"privacyNote":522,"scopeNote":523,"unavailable":524,"emailInstead":525,"retry":526,"trainingNote":527},"姓名","电子邮件","公司或团队（选填）","您需要什么服务？","需要我测试什么？为什么是现在？","我同意按照隐私声明中的说明处理我的咨询内容和联系方式。","您是如何了解到我的？（选填）","正在发送…","谢谢，我已收到您的需求。","我会在三天内回复到您提供的电子邮箱。在此期间，您可以查看我的过往成果，或阅读如何在渗透测试和代码审计之间做选择。","渗透测试还是代码审计：您需要哪一种？","您的咨询未能发送。请重试，或使用其他可用的联系方式。","Rand Deeb 常驻俄罗斯，会使用您提供的信息回复您并沟通项目。表单会通过电子邮件发送您的消息。如果最终没有形成项目，往来邮件将在最后一次联系的 12 个月后删除。您的权利请参阅隐私声明。","请不要在此表单中填写机密信息：密码、令牌、源代码和尚未公开的漏洞细节可以稍后提供，如有需要可在签署 NDA 之后。","表单暂时无法使用。请直接通过电子邮件发送您的项目详情。","通过电子邮件发送咨询","重新尝试提交表单","咨询培训时，请说明课程名称、您目前的水平以及希望达到的目标；课程以英语授课。如果由公司赞助培训，请说明参训工程师人数及其使用的编程语言或框架。",[529,530,531,532,534,535,536,537,539,541,544,546,549,552,555],{"value":106,"label":101},{"value":249,"label":250},{"value":283,"label":279},{"value":317,"label":533},"桌面 \u002F 原生应用评估",{"value":350,"label":351},{"value":138,"label":133},{"value":169,"label":171},{"value":213,"label":538},"漏洞修复 \u002F 修复验证",{"value":385,"label":540},"安全工具开发 \u002F SAST 与 DAST",{"value":542,"label":543},"agency","服务公司或合作伙伴项目",{"value":422,"label":545},"软件 \u002F 网站 \u002F 作品集开发",{"value":547,"label":548},"training-course","培训：一对一课程",{"value":550,"label":551},"training-company","培训：由公司赞助",{"value":553,"label":554},"other","帮我选择 \u002F 其他咨询",{"value":556,"label":17},"roles-research",{"title":558,"lead":559,"updatedLabel":560,"updatedDate":561,"contentsLabel":562,"contactLabel":563,"sections":564},"隐私声明","本声明说明我如何处理您的咨询、您访问本网站时收集的信息，以及您享有的选择。","最后更新","2026 年 10 月 7 日","本页内容","就您的数据联系我",[565,572,580,594,608,615,623,630,644],{"id":566,"title":567,"paragraphs":568,"links":571},"operator","谁负责处理您的信息",[569,570],"我是 Rand Deeb，常驻俄罗斯的独立软件工程师和安全专家。我负责运营 rand-deeb.com，并对处理本网站咨询时使用的个人信息负责。","如有隐私方面的问题或与您个人信息相关的请求，请发送电子邮件至 contact@rand-deeb.com。本声明适用于本网站及初次咨询。客户项目可能需要另行签订协议，以约定保密资料和项目数据的处理方式。",[],{"id":573,"title":574,"paragraphs":575,"links":579},"enquiries","当您联系我时",[576,577,578],"表单会收集您的姓名、电子邮件地址、所选服务、留言内容、语言，以及您同意处理本次咨询的确认。公司或团队名称以及“您是如何了解到我的？”这一问题为选填项。提交咨询时，表单还会一并发送您在本网站打开的第一个页面（包括其网址中的推广活动标记）以及将您引导至此的网站域名。在您关闭标签页之前，浏览器会将这两项信息保存在会话存储中；除非您提交表单，否则它们不会被发送到任何地方。我使用这些信息来理解您的需求、了解哪些页面和链接带来了咨询、沟通范围和报价，并回复您。","是否联系我由您自行决定。必填字段是我处理表单提交所必需的；缺少这些字段，表单将无法发送。您也可以改用电子邮件链接。提交咨询不会让您订阅任何邮件列表。","第一封消息请只简要描述您的项目。请勿发送密码、访问令牌、保密源代码或尚未公开的漏洞细节。在分享敏感资料之前，我们可以先签署 NDA 并约定合适的传输渠道。",[],{"id":581,"title":582,"paragraphs":583,"links":587},"hosting","托管、电子邮件及其他服务",[584,585,586],"本网站托管于 Vercel，会处理您的连接以提供页面并接收表单提交。技术信息包括您的 IP 地址、请求的页面、请求时间以及浏览器或设备信息，用于网站运行、问题诊断和防范滥用。","成功提交的表单会通过电子邮件投递服务转发到我的收件箱。电子邮件服务商会处理该消息以完成投递和存储。本网站不单独建立咨询消息数据库。托管和电子邮件服务可能在您所在国家\u002F地区以外处理信息，包括俄罗斯和欧洲经济区以外。","Telegram、LinkedIn 和其他外部链接会将您带到独立的服务。您使用这些服务时，它们会接收相关信息，并适用其各自的隐私条款。联系表单不会自动将您的消息发送到 Telegram。访谈录像和会议照片由本网站直接提供，而非通过嵌入的社交媒体播放器播放。",[588,591],{"label":589,"href":590},"Vercel 隐私声明","https:\u002F\u002Fvercel.com\u002Flegal\u002Fprivacy-notice",{"label":592,"href":593},"Telegram 隐私政策","https:\u002F\u002Ftelegram.org\u002Fprivacy",{"id":595,"title":596,"paragraphs":597,"links":601},"measurement","访问统计与性能监测",[598,599,600],"在 Vercel 上，Web Analytics 统计访问量和页面浏览量，Speed Insights 衡量加载速度、视觉稳定性和交互响应速度。这些报告帮助我了解哪些内容有用、网站哪些方面需要改进。","统计数据包括页面地址、来源网站、浏览器和设备信息、大致位置以及性能耗时。Speed Insights 还会接收连接信息以及有关页面元素的诊断数据。Vercel 将这些报告描述为汇总或匿名数据；Web Analytics 不使用分析类 Cookie。","表单字段和留言内容不会作为自定义分析事件发送。我不使用广告像素、会话录制，也不通过自动化决策来决定是否与客户合作。浏览器的内容拦截工具可能会阻止统计脚本加载。",[602,605],{"label":603,"href":604},"Vercel Web Analytics：收集的数据","https:\u002F\u002Fvercel.com\u002Fdocs\u002Fanalytics\u002Fprivacy-policy",{"label":606,"href":607},"Vercel Speed Insights：收集的数据","https:\u002F\u002Fvercel.com\u002Fdocs\u002Fspeed-insights\u002Fprivacy-policy",{"id":609,"title":610,"paragraphs":611,"links":614},"language","您的语言偏好",[612,613],"名为 i18n_redirected 的 Cookie 会记住您选择的语言，最长保留一年。首次访问首页时，如果网站支持您的浏览器语言，则使用该语言；否则网站以英文打开。您可以随时切换语言。","此 Cookie 仅用于语言选择，不用于追踪访客。您可以在浏览器设置中将其删除。本网站使用本地托管的字体，阅读页面无需向 Google Fonts 发送请求。",[],{"id":616,"title":617,"paragraphs":618,"links":622},"retention","信息保留期限",[619,620,621],"如果咨询最终没有形成项目，我会在最后一次联系的 12 个月后，从我的常用收件箱中删除相关往来邮件。这是我的收件箱清理规则；网站本身不会自动删除电子邮件。","如果我们开展合作，项目往来邮件和合同记录将在项目期间保留，并在适用的记录保存义务或法律索赔所需期限内继续保留。托管日志、统计报告和电子邮件服务商的备份遵循各服务商的保留设置。从收件箱中删除邮件并不会立即清除服务商的所有备份。","您可以在 12 个月期满之前要求删除。如果出于法律义务或正在进行的索赔需要保留某些信息，我会向您说明需要保留哪些信息以及原因。",[],{"id":624,"title":625,"paragraphs":626,"links":629},"rights","查阅、更正和删除",[627,628],"请发送电子邮件至 contact@rand-deeb.com，查询我持有的关于您的信息、进行更正、要求删除，或撤回您对基于同意的处理所给予的同意。如果您希望我不再跟进某项咨询，请在邮件中说明。","根据适用法律，您可能还有权限制或反对处理，或以可携带的格式获取您的信息。我可能会请您提供足以核实请求的信息，但不会收集不必要的身份证件。撤回同意不影响撤回之前已合法进行的处理。",[],{"id":631,"title":632,"paragraphs":633,"links":637},"regional-rights","您所在地区的权利",[634,635,636],"俄罗斯：在适用第 152-FZ 号联邦法律的情况下，您可以要求获取有关您个人数据处理情况的信息，并在该法规定的情形下要求更正、封存或删除。您可以向俄罗斯联邦通信、信息技术和大众传媒监督局（Roskomnadzor）反映问题，或寻求司法救济。","欧盟和欧洲经济区：在适用《通用数据保护条例》（GDPR）的情况下，应您要求进行的项目沟通以订立合同前应您请求采取的措施为依据；一般往来通信和网站安全以答复咨询和安全运营网站的正当利益为依据。需要征得同意的处理必须事先取得同意。您享有 GDPR 规定的相应权利，并可向您所在国家的监管机构投诉。基于 GDPR 的请求通常在一个月内答复，在该条例允许的情况下可以延长。","适用哪些权利和规则，取决于您所在的地点以及处理的具体情况，与您在本网站选择的语言无关。其他地区的访客可以就其个人信息以及当地法律赋予的权利与我联系。",[638,641],{"label":639,"href":640},"Roskomnadzor 个人数据门户","https:\u002F\u002Fpd.rkn.gov.ru\u002F",{"label":642,"href":643},"欧洲各国数据保护机构","https:\u002F\u002Fwww.edpb.europa.eu\u002Fabout-edpb\u002Fabout-edpb\u002Fmembers_en",{"id":645,"title":646,"paragraphs":647,"links":649},"changes","本声明的变更",[648],"当网站的数据处理方式发生变化时，我会更新本声明。上方日期标明本版本。在将咨询信息用于其他目的之前，我会向您提供相关说明，并取得该用途所需的任何同意。",[],{"title":651,"body":652,"label":26},"即将上线处理用户数据的产品？","给我发一份简要需求。我会在三天内回复问题或方案大纲，价格在开始前以书面形式确定。",{"course":654,"company":466,"cases":837,"labels":847,"hub":864,"pricing":867,"cta":870,"faq":873,"others":897},{"slug":655,"enquiry":547,"title":656,"card":657,"summary":658,"price":659,"keywords":664,"facts":670,"audience":686,"prerequisites":690,"outcomes":694,"curriculumTitle":701,"curriculumLead":702,"modules":703,"practice":768,"capstone":778,"tools":788,"references":797,"difference":813,"faq":823,"next":836},"web-application-penetration-testing-course","Web 应用渗透测试课程（一对一）","Web 与 API 渗透测试","学会按照真实专业项目的流程开展 Web 与 API 渗透测试：确定范围，在可查看源代码的条件下测试，安全地证明影响，撰写报告并验证修复。一对一在线授课，按您的节奏进行。",{"amount":660,"per":661,"value":662,"currency":663},"1,490 美元","每门课程",1490,"USD",[665,666,667,668,669],"Web 渗透测试课程","白盒渗透测试","API 渗透测试课程","渗透测试一对一辅导","实战渗透测试培训",[671,674,677,680,683],{"label":672,"value":673},"级别","中级",{"label":675,"value":676},"形式","一对一在线直播课程，课间安排实验",{"label":678,"value":679},"进度","初始评估后为您量身制定",{"label":681,"value":682},"授课语言","英语；母语为阿拉伯语者可选阿拉伯语",{"label":684,"value":685},"测试对象","Web 应用以及 REST 和 GraphQL API，提供源代码",[687,688,689],"希望掌握一套项目级方法、而不只是一堆 Payload 的初中级渗透测试工程师。","希望理解漏洞为何存在、并在报告中讲清影响的漏洞赏金猎人。","负责测试本公司应用的开发人员和应用安全工程师。",[691,692,693],"理解 HTTP、Cookie、请求头，以及 Web 应用和 API 的工作原理。","使用过 Burp Suite 或 Caido，并完成过一些 Web 安全实验，例如 PortSwigger Web Security Academy 上的练习。","能阅读一些代码，会使用 Linux 和 Docker，并能够以英语学习。我们会先进行简短的水平评估。",[695,696,697,698,699,700],"在书面授权、测试规则和测试计划的基础上，确定 Web 或 API 测试的范围。","同时从运行中的应用和源代码两个角度绘制攻击面。","用可重复的方法发现并确认身份认证、访问控制和多租户方面的缺陷。","在实验环境中利用服务端和浏览器端漏洞，并为线上系统选择安全的验证方式。","测试自动化扫描器无法建模的业务逻辑和竞态条件。","撰写包含影响、证据和修复建议的报告，并在打过补丁的版本上验证修复。","课程大纲","八个模块，按照真实项目的顺序安排，并根据您的水平调整。",[704,712,720,728,736,744,752,760],{"title":705,"summary":706,"topics":707},"项目基础","在发出第一个请求之前，先约定可以测试什么、如何测试。",[708,709,710,711],"书面授权与测试规则","确定应用、API、环境、账户和角色的范围","对照 OWASP WSTG 和 ASVS 制定测试计划","安全地处理证据和个人数据",{"title":713,"summary":714,"topics":715},"信息收集与攻击面测绘","从外部和代码两个方向，找出所有入口。",[716,717,718,719],"爬取结果与源代码中声明的路由相互对照","OpenAPI 规范、GraphQL Schema 和 JavaScript 打包文件","角色 × 端点矩阵","决定优先测试哪些部分",{"title":721,"summary":722,"topics":723},"身份认证与会话测试","测试应用如何判断“您是谁”。",[724,725,726,727],"登录、多因素认证、密码重置和会话管理","JWT、OAuth 和 OpenID Connect 缺陷","账户接管攻击链","在代码中确认根本原因",{"title":729,"summary":730,"topics":731},"访问控制与多租户","证明一个用户能否访问另一个用户的数据或功能。",[732,733,734,735],"针对 BOLA、IDOR 和 BFLA 的双账户测试法","权限提升与突破租户隔离","半自动化的授权检查","在源代码中找到缺失的检查",{"title":737,"summary":738,"topics":739},"服务端注入与请求伪造","攻击服务器，并清楚在线上系统中应止步于何处。",[740,741,742,743],"SQL 注入、命令注入和模板注入","SSRF、路径遍历、XXE 和不安全的反序列化","文件上传与解析器滥用","生产环境中的安全验证与实验环境中的完整利用",{"title":745,"summary":746,"topics":747},"浏览器端漏洞","测试应用允许攻击者在受害者浏览器中做些什么。",[748,749,750,751],"按上下文区分的 XSS，以及 CSP 能拦截和不能拦截的内容","CSRF、CORS 和点击劫持","postMessage 与客户端路由","负责任地展示影响",{"title":753,"summary":754,"topics":755},"业务逻辑、竞态与 API 滥用","打破产品的规则，而不只是它的解析器。",[756,757,758,759],"业务流程与状态滥用","额度、余额和优惠券中的竞态条件","批量赋值、速率限制和 Webhook","实践中的 OWASP API Security Top 10",{"title":761,"summary":762,"topics":763},"影响、报告与复测","把发现转化为决策，再确认修复是否到位。",[764,765,766,767],"串联多个发现并说明真实影响","结合 CVSS v4.0 和业务背景评定风险等级","可复现的证据和管理层摘要","在打过补丁的版本上验证修复",[769,772,775],{"title":770,"body":771},"模块实验","针对我为课程准备的应用进行实验，提供源代码，让您可以在根源处确认每一个发现。",{"title":773,"body":774},"双账户演练","可重复进行的访问控制和租户隔离测试练习，这正是真实应用中最常出问题的地方。",{"title":776,"body":777},"报告写作练习","简短的写作练习，把原始发现转化为开发人员和管理者都能据以行动的报告条目。",{"title":779,"body":780,"criteria":781},"一次完整的项目，从确定范围到复测","在限定时间内测试一个为课程开发的多角色 SaaS 应用，并可访问源代码。您需要编写范围说明和测试计划，完成测试、撰写报告，然后对打过补丁的版本进行复测。我们会一起复盘您的报告。",[782,783,784,785,786,787],"范围和测试计划符合测试规则","覆盖身份认证、访问控制和业务逻辑","已确认、可复现的发现，风险等级评定合理","安全、适度的验证方式","开发人员和管理者都能据以行动的报告","对修复的准确复测",[789,790,791,792,793,794,795,796],"Burp Suite Community \u002F Pro","Caido","ffuf","sqlmap","curl \u002F HTTPie","Browser DevTools","Semgrep","Docker",[798,801,804,807,810],{"label":799,"href":800},"OWASP Web Security Testing Guide (WSTG)","https:\u002F\u002Fowasp.org\u002Fwww-project-web-security-testing-guide\u002F",{"label":802,"href":803},"OWASP API Security Top 10","https:\u002F\u002Fowasp.org\u002FAPI-Security\u002F",{"label":805,"href":806},"OWASP Application Security Verification Standard (ASVS)","https:\u002F\u002Fowasp.org\u002Fwww-project-application-security-verification-standard\u002F",{"label":808,"href":809},"NIST SP 800-115, Technical Guide to Information Security Testing","https:\u002F\u002Fcsrc.nist.gov\u002Fpubs\u002Fsp\u002F800\u002F115\u002Ffinal",{"label":811,"href":812},"FIRST CVSS v4.0","https:\u002F\u002Fwww.first.org\u002Fcvss\u002Fv4.0\u002F",[814,817,820],{"title":815,"body":816},"一位学员，一位讲师","您和我一起测试，每次课程都从您上次课后的新发现开始。",{"title":818,"body":819},"黑盒与白盒结合","您测试运行中的应用，并在源代码中确认每一个发现，这正是区分真实漏洞与巧合的方法。",{"title":821,"body":822},"完整的项目流程","范围确定、报告撰写和复测与漏洞利用一样都会教授和考核，并以我分析过的近期 CVE 作为案例。",[824,827,830,833],{"question":825,"answer":826},"这是面向零基础的道德黑客课程吗？","不是。课程假定您已掌握 Web 安全基础。如果从零开始，PortSwigger Web Security Academy 等免费资源是合适的第一步；初始评估也会告诉您是否已经准备好学习本课程。",{"question":828,"answer":829},"需要多长时间？","取决于您的起点水平以及课程之间可投入的时间。我们会在初始评估后制定计划，并根据您的进展随时调整。",{"question":831,"answer":832},"需要 Burp Suite Professional 吗？","不需要。实验使用 Burp Suite Community 或 Caido 即可完成。如果某个 Professional 功能能节省时间，我会介绍免费的替代方案。",{"question":834,"answer":835},"课程涉及网络或 Active Directory 吗？","不涉及。课程专注于 Web 应用和 API，这也是我自己从事测试的领域。","通过安全代码审计课程，深入掌握代码层面的技能。",[838,841,844],{"slug":839,"title":840},"cve-2026-104935","CVE-2026-104935：Ivanti 信任的是请求头，而不是 URL",{"slug":842,"title":843},"cve-2026-85097","CVE-2026-85097：Bricksforge 信任了攻击者指定的文件名",{"slug":845,"title":846},"security-code-review-vs-penetration-testing","安全代码审计还是渗透测试：应该选择哪一种？",{"facts":848,"audience":849,"prerequisites":850,"outcomes":851,"practice":852,"capstone":853,"criteria":854,"tools":855,"references":856,"difference":857,"cases":858,"faq":859,"next":860,"price":861,"statusNote":862,"companyNote":863},"课程概览","适合人群","先修要求","学完后您能做到","实操练习","结业考核","考核标准","使用的工具","标准与参考资料","这门课程的不同之处","现在就能阅读的案例","关于本课程的问题","下一步","价格","首次 20 分钟的水平评估通话免费。学习计划和开课日期在通话之后商定。","范围、时间安排和价格在培训开始前以书面形式约定。",{"primary":865,"company":866},"预约免费评估通话","为您的工程师安排培训",{"note":868,"all":869},"价格以美元计。学习计划、课时数和开课日期在免费评估通话之后商定。","查看全部价格",{"title":871,"body":872,"label":865},"准备好开始了吗？","发一条简短的消息：想学哪门课程、您目前的水平，以及希望学会什么。课程以英语授课（母语为阿拉伯语者可选阿拉伯语）。我会在三天内回复，安排您的免费评估通话。",[824,827,830,833,874,877,879,882,885,888,891,894],{"question":875,"answer":876,"course":107},"什么时候可以开始？","发一条简短的消息，说明您的水平和目标。我会在三天内回复，安排一次免费的 20 分钟水平评估通话，之后再商定您的学习计划和开课日期。",{"question":468,"answer":878,"course":107},"每门课程 1,490 美元，包含约 10 次每次 90 分钟的一对一课程，以及实验、练习批改、结业考核和证书。两门课程合计 2,690 美元，单次 90 分钟课程 150 美元。",{"question":880,"answer":881,"course":107},"一对一培训是怎么进行的？","我们在线上进行直播课程。两次课程之间，您完成我根据您的水平布置的实验和练习，下次课上我们一起复盘结果。进度跟随您的学习情况，而不是固定的课表。",{"question":883,"answer":884,"course":107},"课程使用什么语言？","国际学员以英语授课。母语为阿拉伯语的学员可以选择阿拉伯语或英语；阿拉伯语课程会保留您在工具、报告和招聘信息中会看到的英文术语。",{"question":886,"answer":887,"course":107},"有线下课程吗？","没有。所有课程、实验、练习和反馈都在线上进行。",{"question":889,"answer":890,"course":107},"能拿到证书吗？","通过结业考核后，您将获得一份结业证书。证书由我本人颁发，并不是 OSWE 这类行业认证。雇主真正可以查看的，是您的工作成果本身：您的最终报告。",{"question":892,"answer":893,"course":107},"实操练习合法吗？","合法。所有实操内容都使用我为课程准备的应用，以及已发布安全公告的特定版本开源项目，并且都运行在您自己的电脑上。您永远不会去测试不属于您、或未获书面授权的系统。",{"question":895,"answer":896,"course":107},"如果我需要更多时间怎么办？","如果需要比计划更多的课时，每增加一次课程收费 150 美元，并会事先与您商定。",[898,901],{"slug":899,"title":900},"secure-code-review-course","安全代码审计课程（一对一）",{"slug":902,"title":903},"for-companies","面向工程师的一对一安全代码审计培训",1792901318933]