代码、安全与模型
我给自己贴过两个标签,软件开发工程师和网络安全工程师。这两个标签在很长一段时间里像两种互相较劲的习惯。一个总想把功能做出来,一个总想把它拆掉。其实真正有用的地方恰恰在两者交界处。
这个博客,就用来记录我在较劲时的一些的东西。
为什么同时做开发和网络安全
写代码的人如果完全不考虑安全,交付的不是功能,是带后门的半成品。做安全的人如果不懂开发,看到的往往只是漏洞名称,而不是漏洞为什么会出现在那一行代码里。
我并不认为安全是开发的附加项。它应该是开发的一部分,像内存管理或错误处理一样自然。一个登录接口,开发视角是“用户能正常登录”,安全视角是“攻击者能不能绕过登录、枚举用户、暴力破解、篡改响应”。这两种视角分开看都不完整,合在一起才更接近真实。
所以我的工作状态常常是:上午在写业务逻辑,下午就在审计同一段代码。这种切换不轻松,但让我对“质量”这件事有了更具体的理解。
AI训练开发和安全并不是两件事
过去两年,我把不少时间花在AI模型训练和开发上,也顺手把安全的视角带了进去。
AI没有改变开发和安全的基本逻辑,但确实改变了攻击面。数据可能被投毒,模型权重可能被窃取或篡改,生成出来的代码可能带着漏洞,依赖的预训练模型可能来自不可信来源。这些问题不是纯算法问题,也不是纯安全策略问题,而是开发、数据、模型、部署链条上的系统问题。
我也用AI辅助写代码、做代码审计。工具确实能提高效率,但前提是你得有能力判断它给的建议是不是在挖坑。一个不懂安全的人用AI生成代码,可能比不用AI更快地制造漏洞。AI是放大器,不是裁判。
这个博客会写什么
之后的内容大概会围绕这几个方向展开:
- 开发技术:后端工程、代码质量、架构设计,以及日常踩坑记录。
- 安全技术:Web漏洞分析、代码审计、渗透测试中的具体手法和思路。
- AI相关:模型训练开发流程、训练管道安全、模型风险评估,以及AI辅助开发的实际体验。
- 交叉实践:开发和安全如何在同一项目里落地,比如DevSecOps、安全开发规范、漏洞修复复盘。
不会只写理论。我尽量把内容落到代码、命令或者具体场景里,哪怕那个场景很小。
做安全的时间越久,越不敢说自己什么都懂。写这个博客,一部分原因也是逼自己把模糊的想法整理清楚。
如果你也在写代码,或者在做安全,或者正在训练模型,欢迎联系。第一篇不打算写太满,先把想法放出来,后面慢慢写。