前言
21 年 9 月,我正式决定从贝壳离职,与几位志同道合的小伙伴(也就是现公司墨菲安全的联合创始人)一起去做点有意思的事情,就此,21 年 11 月墨菲安全正式成立,专注于软件供应链安全方向。
一年时间转瞬即逝,关于自己创业的经历,想通过公众号的形式能把过程一些收获和心得分享出来,也算是自己定期总结的一种形式吧,第一篇文章作为一个开头,分享一下最近被很多朋友问到的问题:我为什么在互联网寒冬的一个时期选择出来创业?
我仔细思考了一下这个问题,总结出来就主要三点:
心之所向:天生爱折腾,必须去创业折腾一番;
清晰的认知:有一件值得我全身心投入的事情;
不打无准备的仗:能力和心态的双重准备。
天生爱折腾
大学期间我与其他人一样叛逆:喜欢逃课、打 Dota,对于课外的技术有着浓厚的兴趣,经常自己去主动接触安全相关的内容。《精通脚本黑客》算是我的入门导师,2011 年互联网安全并没有现在这么受重视,学着书里的内容还不算过时,慢慢开始在寝室研究溯雪、流光,再到后来发现 awvs、Pangolin、appscan 才是利器,每次借助工具扫到一个 xss 都兴奋的不得了,就像发现新大陆一样。
失败是成功之母,踏上白帽子之路
分享几个当年非常囧的事情,都是在 2011 年秋季校园招聘的时候,当时不知道哪来的自信,当年校园招聘只去面了四家公司,就是当时如日中天的 BAT 和网易,过程真的是一言难尽,但是又印象深刻。
腾讯校招和二胡大佬的尬聊
依稀记得当时去腾讯是二胡是我的一面面试官,时间太久已经记不清当时二胡问了我什么技术问题了(大概是因为当时问的技术问题我都没有答上来),与大多数刚毕业的学生一样,两个问题下来什么都不会,当时很尴尬,二胡大概是觉得 5 分钟就结束了有点不好意思,于是乎我们开始闲聊一些武汉的地方特色等等...氛围一度比较尴尬。显而易见,此次面试 fail 了。回去很不甘心(当时内心 OS:可能觉得二胡不懂,没有问到我的擅长之处)。
于是乎第二天我又跑到腾讯当时校招的酒店去霸面另外一个部门的安全岗位,非常自信拿出一份appscan 对腾讯某网站的扫描给面试官一顿分析,结果可想而知,面试官(我已经不记得是谁了)非常礼貌的把我送出了酒店。现在想想,自己也忍俊不禁。
百度被拒,偶遇 xsser 大佬
另一次是去百度面试的时候,一面是 xsser(jx),当时我想着既然 appscan 报告不行,那我就拿我当时在乌云发了的几个漏洞来说事,年少的我当时还不知道 xsser 就是乌云的创始人,我当时跟他说我是乌云白帽子,结果他当时当然很兴奋,然后问我的ID(非常可笑的是,我当时提了两个 xss 漏洞,还没被乌云审核通过)当时场面又一度陷入了尴尬,被 xsser 礼貌送出了酒店。不过我回去之后惊讶的发现我提的那 2 个 xss 被审核通过了,于是我就有了我的第一个乌云账号(也是我现在的微信号)。
阿里被拒,刺总一段话激励了我
经历了百度和腾讯的校招面试尴尬受挫之后我也积攒了“大量”的失败经验,之后顺利通过了阿里云舒的一面(也有可能是被放水了,因为我记得当时也回答的不太好),然而二面被刺总(吴瀚青)斩于马下,但当时刺总婉拒我的一番话,竟然被我当真了,刺总告诉我:“如果你来阿里做安全测试的话肯定没问题,但是如果只是做安全测试的话有点可惜了,你回去好好再学习学习,什么时候学好了随时来找我,阿里安全的大门永远为你敞开。”紧接着给我留了一个邮箱,老实说当时真的天真的信了,虽然被拒绝了,但是我心里暗下决心,一定要回去好好学,来年春招一定要去阿里。
网易顺利通过,感恩 Diana 老板
本来阿里面完我就准备回去学习,后面就不再面了,但是刚好当时网易还给我发了面试通知,所以想着要不然再积攒积攒面试经验吧,所以就抱着试一试的心态去参加了网易的面试,由于之前 3 轮面试下来积累了丰富的实战经验加上过程中狂补课,结果很顺利的就通过了(功夫不负有心人啊,泪奔)。网易北京安全团队的负责人 diana 当时立即就问我要不要去实习,当时我当然是非常兴奋的(千载难逢的学习和锻炼的机会,说不定还能碰到大佬),就此 2011 年 11 月,开始了我的北漂之旅——入职网易。
网易的实习之旅
在网易实习的三个月,基本上就是每天挖漏洞,对于来之不易的大厂工作机会,当时自然是非常珍惜。那段时间我记得网易北京安全团队实习就是我、高鹤大佬(adra1n)还有米兰春天;那段时间每天白天在网易帮公司挖漏洞,晚上回去就去乌云报漏洞,我记得那段时间发现了国内所有的邮箱服务的好几个通用存储型 xss,邮箱的 xss 漏洞在那个防护能力很差的年代可以说是危害非常大的漏洞,当时甚至借着这一批漏洞冲到了乌云白帽子前十,也是那段时间再次接触了 xsser 大佬。
之后在实习结束之前在上地五街的风标咖啡(现在已经倒闭了)约了一次 xsser,当时他和 blue 每周末在风标咖啡兼职写乌云平台的代码,跟他聊了一番之后,xsser 问我要不要去百度(当时 xsser 还在百度当安全架构师),我当时没有多想觉得听大佬的肯定不会错,在大佬的推荐下我面试进入了百度。面试路途其实也磕磕绊绊,被当时的一面面试官 d4rkwind 打了 2.5 分(2.5分是待定,当然我确实菜),后来还是感谢 xsser 帮忙“背书”才进去百度的。
在百度快速成长的那几年
2012 年的夏天我毕业之后就正式入职了百度,在百度的那 2 年半时间也是赶上了百度发展最辉煌的时光,安全团队从最初入职时候十几人的一个小组发展到了一百多人的独立部门,非常庆幸经历当时企业安全建设从摸着石头过河到逐步形成体系化建设的整个过程,中间我自己也一路换过很多个方向,从一个只会 xss 的脚本小子到后来一年之内连续晋升,非常感谢当时百度的一众大佬的指导和帮助,现在想起来那段时间也是自己职业生涯中技术成长最快的时间,从 xi4oyu、d4rkwind、GaRY、fireswood、buddygirl 等一众技术大佬身上学到非常多,也结识了tcpper、lovesuae、非零解、高渐离、X-SPRing、Lucifer、shineast、sh4wsh4hk、lanz、安惞等等一众大佬。时至今日,也非常怀念当时的环境,非常纯粹的技术氛围,无忧无虑的每天做着自己感兴趣的事情,印象最深刻的就是天天和 sh4wsh4hk、lanz 大晚上的应急,分析流量,最开心的当然是溯源到攻击者身份的那一刻,每次都是拿到结果后第一时间兴奋的跟 xi4oyu 大佬汇报,然后被 xi4oyu 一顿喷:“没见过世面”,然后一脸不屑地走开了(可能这就是真正的大佬吧)。
遇到瓶颈和寻找突破
很快我发现自己遇到了职业发展的瓶颈,发现自己可能一下子都能想到在百度待十年二十年后的场景,我会觉得这是一件很可怕的事情,当时主要还是觉得我换了几个方向,从最开始在百度每天发工单到后来负责一些独立的安全系统,当时觉得再干下去也是来来回回做这些事情,自己的安全技术和能力永远只能服务于百度这家公司和他的用户,而一个公司对安全需求的程度永远都是非常有限。
当时就希望有机会去做一些通用的产品,有机会服务更多的像百度这样的公司,这样我们的技术应用瓶颈不会受某一个公司的限制,可以有更大的发挥空间。当时我去找老板沟通了想离职出去看看做产品的机会,但是当时老板和 HR 都劝我在公司内部转岗找找机会,刚好碰到当时百度安全尝试做商业化:云加速服务,心里想着内部如果有机会去做这个事情也是一个不错的尝试,所以就转到云加速团队和碳基体搭档做云加速的 WAF,但是实际上也没做多长时间,最后感觉可能也不是自己太适应的角色。
当时百度安全正在进行第一次比较大的组织架构调整,综上,我最终选择要离开百度,期望有机会在一家安全公司独立负责一款安全产品。说巧不巧,14 年底乌云当时刚好拿了红杉的一轮融资准备正式开启商业化,我和 xsser 在上地三街的嘉华大厦楼下的星巴克聊了一个小时,xsser 当时问了我一个问题:“你觉得做产品最重要的是什么?”我回答说:“要创造价值。”之后,很快我就决定加入乌云。
2015年春节后,我正式入职开始负责唐朝安全相关的商业产品,第一个产品是 tangscan,至今我都觉得那是一个特别有意思的产品,也算是国内最早的一批 SaaS 安全产品了,里面结合社区的一些玩法,也算是当时做安全产品的一大创新(之前在 tangscan 有汤圆的白帽子可以给我发私信呀,在墨菲安全来给你们兑现)。
tangscan 主要解决的其实也是企业通用组件漏洞的检测,只不过当时是做的黑盒的方式,这也是我这次出来创业选择做软件供应链安全这个方向的一个很重要的原因,希望之前的积累能够得到延续。而且当时 tangscan 在我看来算是做的还不错的了,现在看来,作为那么早期的安全 SAAS 产品,客户能接受且付费,我记得当时我们内部经常调侃当时浩翔是最快的男人,因为他在线几分钟就卖出去一套 tangscan 的产品。当然,现在回头看,当时那个产品还非常稚嫩。当然这段愉快的创业经历也让我认识了很多很多优秀的小伙伴,包括当时和我搭档做 tangscan 的 fireswood、Mosuan、Snaker、Redfree、fr1d4y、fate0、A1opex,还有其他团队的 fenggou、wudi、浩天、secdragon、小戮、301、Sky、piaca、狗胜、LN 等等好多好多小伙伴,那是一个让所有人都拥有美好回忆的集体。
2015 年 12 月在 798 举办的 tangscan 产品发布会
不忘初心,不畏将来
乌云之后我短暂回归了一段时间百度去主要负责蓝军攻防和安全运营,想了想觉得自己在管理方面还有短板,刚好当时贝壳要准备上市,需要搭建安全团队,也是面试过程中被玉洁老板的魅力吸引了(当然,很重要的一个原因还是我当时觉得贝壳作为一家能管理好 50 万经纪人的企业,他们在管理上的能力是非常吸引我的),之后加入贝壳负责平台安全部门,在贝壳短暂的两年多的时间里,自己的管理能力也是得到了快速的提升,直到 20 年 8 月贝壳上市之后,我已经基本把贝壳的安全团队和安全体系搭建起来了(当时我带的平台安全部门也有 50 人左右的规模了,整体的安全建设和规划也在稳步推进)。
不由得想起我最初的想法,待在贝壳长期干下去,五年十年后转管理?那十年之后呢?我觉得这可能不是我的初心,我还是要去做一款能够服务更多企业和用户的产品,那可能才是我的天空,才是我自由飞翔的归宿,于是开始用业余时间做一些产品的准备,和几个小伙伴(也是我们现在的几个志同道合的联合创始人)一起把墨菲安全的核心知识库能力能逐步建立起来了。
再出发,创业
直到 21 年 9 月份,产品准备得差不多,正巧碰上贝壳内部组织架构也有一些调整。当时就想,时机到了,抓紧时间出来创业吧。正巧我们现在的投资人张馨苑找到了我,过程聊了几次都非常愉快,很快在馨苑的帮助下我们花了一个月左右的时间就 close 了天使轮的融资,过程中其实特别感谢馨苑的信任,过程中帮我搞定了很多问题。我自己在创业的一年时间体会到,有一个信任你,认可你的投资人是非常非常重要的,也许不需要她给你在创业的路上带来多大的指导和资源上的帮助,给予更多的信任与志同道合也是非常让我感激的。
为什么选择软件供应链安全这个方向
2021 年是我信安从业的第十年,这一路走来,内心一直有一个声音,希望有一个机会能够去做一款好的安全产品,能服务更多的企业和用户,那可能是值得自己用十年二十年去全力以赴的事情。
什么是软件供应链安全?
SCA?开源安全?这两都是软件供应链安全的一部分,不是全部,我理解软件供应链安全是一个非常复杂和系统的“工程”,供应链这一概念在 1905 年被提出,指的是为了向客户交付某个产品或者服务过程中涉及到的组织、人员、活动、信息和资源所形成的网络。引申到软件领域,就是为了交付软件产品或者服务 ,过程中涉及到的各类人事物,包括开发者使用的代码、编译器,软件的分发渠道都属于供应链。
从企业的软件供应链角度来出发,软件供应链所包含的对象通常包括开源软件、闭源商业软件、闭源免费软件、外包软件开发人员、软件分发渠道等;而软件供应链安全则主要面向这些对象的本身及软件构建过程的安全管理。
嗯,听起来这个事情有点复杂,也有点难。
下笨功夫,做难而正确的事情
在贝壳,几乎所有的人都知道老左经常说的一句话:做难而正确的事情,我也不例外,我始终坚信难而正确的事情才是真正有价值的事情,才是能轮到我去做的事情。我自认为做不了什么投机的事情,也没有那个天赋,下下笨功夫可能是我的特长。
关于软件供应链安全,话还得从我做 tangscan 说起,当时 WY 爆出的大部分的安全问题其实都是一些通用组件导致的安全漏洞,包括最早的 Struts2 漏洞、Heartbleed 心脏滴血漏洞、ImageMagick 漏洞,再到后来的 fastjson 漏洞等等...所以当时 tangscan 的思路是我们只搭建一个漏洞检测框架,由社区的白帽子来贡献检测策略,核心检测的安全问题还是这些通用的安全漏洞。数字化社会所有的一切都和通用软件相关,大量标准的开源软件、闭源软件、商业软件构建成了这个数字化社会,任何一个通用的软件产生安全漏洞都会对大量依赖它的数字化应用产生影响,包括数据安全、业务连续性甚至关联物理安全威胁。
今天几乎 100% 引入信息化的企业、家庭都直接或间接的使用了外部供应链的软件(包括开源软件、闭源软件、商业软件等),包括我们日常生活息息相关的手机、路由器、IoT 设备(空调、洗衣机、电视)等等以及日常办公用的电脑、办公软件;还有企业生产相关的所有服务器、数据库、开发工具等等;这些所有的一切都是由大量的供应链软件组装而成。这些供应链软件就像搭建这个数字时间的一块块积木,它们几乎已经渗透到了我们生活的方方面面,这每一块“积木”都存储着大量的用户数据,也成为构建整个数字时间正常运转的一个必要模块。每一块积木发生安全问题都有可能导致数据的泄露和局部数字世界的停摆,这块积木越通用越底层,对数字世界的影响就越大。
但是就是这样一块一块通用的积木,每天大概被爆出数百个通用的安全漏洞(来自 CVE 的漏洞统计),这还不包括大量没有被 CVE 收录的通用软件的漏洞,比如很多国产软件,其实一旦发生安全漏洞并不会被授予 CVE 编号,也不会被官方漏洞库收录。
试想,随着数字世界的复杂度越来越高,供应链软件应用越来复杂越来越渗透到社会每一个角落,如果底层构成数字世界的某一个关键节点通用“积木”出现严重的安全问题,会对整个世界造成多大的冲击?那么,对于所有生活在数字化社会中的人们来说,你身边每一块对你生活息息相关的软件“积木”哪些是存在安全缺陷的?一旦发现安全问题应该如何快速修复他们?甚至说如何减少有安全缺陷的“积木”被应用到数字世界,这是一个非常值得用十年甚至更长的时间去解决的问题。而且我也坚信这件事情是未来必须要有人去做好的一件事,那既然这样,还等什么呢?
当然创业并不是一件可以轻易去尝试的事情,我们需要一个团队,背负一个梦想和责任,可能90%的时光都是“痛苦”的过程,所以我们必须从家庭、团队、能力、心态各个方面都做好充分的准备才能开始启程的,刚好在出发之前,我也和团队的小伙伴一起认真的思考了这个问题。
磨刀不误砍柴工
我始终认为一个人要把一件困难的事情做好,必须要具备两个条件:
一是具备强烈的意愿和决心;
二是足够的能力。
从这个角度出发,我认真的思考了一些事情。首先,创业不是一个人的事情,是需要一个团队,一个有共同理想和价值观的团队,一个对于团队所有人来说在这个过程都能有所收获的团队;其次需要对创业有充分的认知和心态的调整,创业可能 90% 的时间里都是一个“痛苦”的经历,会不断遇到挑战——做自己以前做不了的事情,一旦出发就很难回头;不可或缺的,也需要坚实的后盾——来自家庭的支持和理解;最后也需要一丢丢对于时机的选择,古人云:天时地利人和,时机的选择可以让我们少走很多弯路。
关于家庭
创业是一场长跑,我会需要投入大量精力在工作上,回顾过去一年,我几乎 90% 的非睡眠时间都投入在工作这个事情上,这个过程特别需要家人的支持和理解,所以我认为出来创业还是需要首先保障基础的家庭生活条件和生活质量,不然会额外增加很大的负担。一旦开始创业之后,可能最初几年收入是直线下降的,所以开始创业之前需要给家庭有一个稳定的维持正常家庭生活的经济保障,以及需要得到家人的支持和理解。创业之前,是需要做大量的准备工作及思想工作的!
关于团队
关于团队和能力,一个创业团队当然最重要的就是一个好的团队,好的创业团队需要有很多方面的特质,对于我来说,我会更加关注这三个方面:
共同的理想和价值观;
优秀且互补的(包括专业能力和软素质的互补);
相互信任。
首先是共同的理想和价值观,这个是保证这个团队是否能够一起经历风雨和挫折挑战到达终点的最关键因素,我很庆幸,我在正式创业的第一天就有这样一个团队。我们一起从百度到贝壳,再到墨菲安全一起创业,感谢团队小伙伴们的相互信任。强斌、志远、泷跃再到后来在贝壳认识的佰超,这些人内心都有一团火,都希望能做成一些事情。
创业团队各个角色之间能力互补是非常重要的,没有任何一个人是全能的,就算你是全能的,但是你也很难在某一个方面比花了所有时间专注在这个领域的专业人才做的擅长,所以一个团队很重要的是找到关键的互补的人,并且让他们每一个人在团队里面发挥最大的价值,而且不可忽视的一点是,核心团队的能力模型决定了这个公司未来的核心竞争力,如果你是一个以产品为核心的创业团队,那么团队里面同学的产品能力就非常重要。反之,你如果是想做一个以产品为核心的公司,但是你团队里面又没有以产品见长的人,那么显然这家公司肯定走不远。我们其他四个联合创始人,有负责产品的、工程技术的、安全研究的、解决方案的,在我们这样一个以产品和技术为核心的创业团队来说,可以说是一个比较完美的组合了。
相互信任是一件非常非常重要的事情,但同时又是非常难的事情,对于我来说,我始终认为如何能够快速建立信任,最重要的是真诚和诚实,去成就别人,其他的交给时间就好了。
最后讲讲关于时机的选择
关于软件供应链安全这个方向的调研和准备是在 2017 年开始的,2020 年正式搭建团队启动项目的开发。我翻了翻聊天记录,当时应该是 2020 年 5 月 4 号,我们几个联合创始人一起开了个在线会议,大致简单与大家谈了谈我的整个想法,然后就开始分工正式启动项目了,等到 2021 年的时候我们发现这个方向需求已经非常旺了。
从外部大环境来看
根上来说,全球产业数字化升级速度越来越快,各行各业越来越多引入供应链的软件来提升生产效率和生活水平,那么一些应用非常广泛的供应链软件一旦发生安全问题就会导致非常大的影响,SolarWinds 供应链攻击事件导致漂亮国 18000+ 政府及企事业单位受到攻击,这个事件直接点燃了大家对于软件供应链安全的关注,再加上过去几年国际局势非常紧张,然后各国之间的重要基础设施及企事业单位都大量使用了来自竞争对手国际的供应链软件(开源的、商业的、闭源免费的),这就导致直接将软件供应链安全的威胁一下子直接上升到了国家安全层面,紧接着欧美及我们国家就出台了一系列的关于软件供应链安全及开源安全相关的政策、标准、法规,直接一下子就将软件供应链安全推到了一个很高的高度。
从企业内部来看
从企业内部来看,我们分析随着企业这几年一直在推 devops,软件开发和全生命周期管理的标准化程度越来越高,会使得软件供应链安全的治理落地变得更有可能。因为软件供应链安全治理最难的一个问题其实就是解决起来很难(修复难),因为往往这些供应链的软件已经被嵌入到企业负责的基础架构中去了,如果没有一套标准的软件管理流程和能力来做支撑的话,就算检测也会发现一堆安全问题,实际上治理起来是非常难的。
从外部行业变化来看,今天软件供应链安全风险给企业和社会带来的威胁已经逐渐显露;而从企业内部来看,软件开发及管理流程的标准化和逐步成熟给软件供应链安全在企业的落地变得更加现实;而从我们团队自身出发,多年的技术积累和实践经验也是做好了充分的准备,所以似乎一切都是那么理所当然,但是实际你会发现也是这么多年的坚持积累,所迎来的就是一个机会。
当然,未来还有非常大的挑战,软件供应链安全这件事情是一个非常复杂的系统性工程,不仅需要做好产品和技术,还需要整个技术社区甚至社会各方的协同,才有可能真正推进软件供应链的健康发展。
创业是一场修行,广结善缘
我是墨菲安全的创始人章华鹏,网络 ID:boooooom,一个一直在奔跑的创业者。
以上,就是我为什么选择在这个时候出来创业的主要原因,过去一年只是迈出了万里长征的第一步,创业是一场修行,也希望在这一路上广结善缘,感谢一路上帮助过我们的很多很多小伙伴,包括过去一年所有的客户、合作伙伴、投资人、朋友及家人,当然最重要的是要感谢陪伴我一起创业的墨菲安全的小伙伴,我们既然一起选择了远方,那便只顾风雨兼程。
未来我会在这个公众号持续分享我创业的经历,一些对安全行业的观察、思考和创业经历,频度不会太高,但是会持续更新,欢迎持续关注。
最后
2022年10月29日,我会联合来自中国信通院、知名开源专家谭中意、蚂蚁、快手、墨菲安全的同学带来一场关于软件供应链安全的技术分享和讨论,届时我也会分享我们在软件供应链安全领域的一些思考和洞察,感兴趣的朋友可以关注我们视频号预约观看。
阅读原文,查看活动详情和报名线下活动