编程语言选择#
网络安全领域,建议:
- Python(⭐)
- Go
- JavaScript
如果你刚接触一门语言#
先配合 AI,了解:
- 该语言的基础、核心语法
- 该语言的“思维模型”(每门语言的核心设计,比如 Python 的“一切皆对象”和可变/不可变类型、JavaScript 的异步和事件循环)
- 该语言的编程格式规范(比如 Python 中的 PEP 8)
学会查官方文档#
官方文档一般分成四类:
| 类别 | 描述 | 适用于 |
|---|---|---|
| Tutorials | 手把手带你跑通第一个例子 | 快速上手 |
| How-to guides | 任务导向,解决具体问题 | 想完成某个任务 |
| Reference | 信息导向,精确描述事实 | 需要精确信息,比如:返回值、返回值的类型、具体有哪些属性…… |
| Explanation | 讲为什么、设计理念、背景 | 想理解原理,比如:想知道“为什么这样设计”、想要解决“为什么会这样”的困惑 |
刚接触文档的时候,你可以让 AI 帮你分类。
文档之外#
文档之外还有很多的有价值的信息:
| 信息源 | 描述 |
|---|---|
| 源码 | 代码的底层实现、某库的源码等。 |
| GitHub 代码搜索 | 搜某个函数名,看别人在真实项目里怎么用它。 |
| 相似的开源工具 | 比如想写目录扫描器,就去读 ffuf 或 dirsearch 的源码,看它们怎么组织并发和处理响应。 |
| Google 搜索 | 用英文搜,命中率高很多。 |
AI in the loop#
写完代码之后,可以让 AI 来评估一下你写的代码。
AI 能发现许多的问题:
- 写法是否够现代?
- 是否在重复造轮子?
- 是否有更简洁、通用的写法?
- ……
积累自己的“代码词汇”#
每用代码解决一个问题,就把那段代码和要点记到自己的笔记里。
练习#
- CVE 的 Poc/Exp 编写
- 有用的工具
- 解决某个问题