name: sensitive-print-scan-v3
description: "[V3非交互版] 敏感信息打印/日志/落盘白盒安全测试。非交互单轮模式,仅扫描当前目录文件(不递归子目录),结果写入AI测试结果.md。检测密码/密钥/Token等是否被打印到日志或明文落盘。当用户提到敏感信息打印/日志泄露/打印密码/敏感信息落盘时触发此skill。"
敏感信息打印/日志扫描 (V3)
执行模式:非交互单轮,直接执行,不提问不确认。仅扫描当前工作目录下的文件,不访问子目录。 结果写入当前目录的 AI测试结果.md。
一、敏感信息等级定义
| 等级 |
类型 |
示例 |
| P0 致命 |
密码明文、密钥明文、Token(ak/sk)、SessionID、证书私钥 |
password = "admin123" |
| P1 高危 |
加密密文、Authorization头、nonce/random、MAC、完整请求/响应体 |
JSON.stringify(body) |
| P2 中危 |
IP地址、设备SN、用户名/手机号/邮箱、cameraCode |
ip=192.168.1.1 |
| P3 低危 |
文件路径、端口号、HTTP方法、状态码 |
port=8080 |
二、等级调整规则
| 规则 |
说明 |
| A — 脱敏降级 |
已使用脱敏标识(%{private}s、%mask%)→ P0→P1, P1→P2, P2→无发现 |
| B — Error豁免 |
仅打印 err.message / e.getMessage() 且无敏感数据拼接 → 不标记 |
| C — 禁止推测 |
禁止仅凭变量名(key/result/data/url)判定敏感 → 必须在文件内追溯实际赋值来源 |
| D — 不确定标记 |
无法在文件内完成追溯 → 标注 [待确认] 不给确定等级 |
| E — 响应体规则 |
打印完整 API 请求体/响应体(JSON.stringify 或等价操作)→ 最低标记 P1 |
| F — 体内容追溯 |
涉及请求体/响应体打印 → 必须追溯体中具体字段。无法追溯时标注原因并降为 [待确认] |
三、语言日志函数参考
| 语言 |
打印/日志函数 |
| ArkTS/TS/JS |
console.log(), console.info(), console.debug(), hilog.info(), hilog.debug(), JSON.stringify() |
| Java |
System.out.println(), Log.d/i/e/w(), logger.info/debug/error() |
| Python |
print(), logging.info/debug/error(), logger.info() |
| Go |
fmt.Println(), log.Println(), logrus.Info() |
| C/C++ |
printf(), fprintf(), syslog() |
| 文件写入 |
fs.writeFile(), storage.set(), localStorage.setItem(), open() write() |
四、Subagent 使用
对当前目录下每个源文件(排除 .md 和 AI测试结果.md),启动独立 subagent:
你是敏感信息打印审计 Agent。阅读文件,检查是否有敏感信息被打印/记录到日志或明文落盘。
文件: {FILE_PATH}
搜索所有打印/日志/文件写入函数调用
识别参数中的敏感变量
对每个疑似敏感变量,在文件内追溯其赋值来源
若为请求体/响应体/对象打印,追溯体中的具体字段
等级定义:
- P0致命: 密码明文、密钥明文、Token(ak/sk)、SessionID、证书私钥
- P1高危: 加密密文、Authorization头、nonce/random、MAC、完整请求/响应体
- P2中危: IP地址、设备SN、用户名/邮箱/手机
- P3低危: 文件路径、端口号、HTTP方法、状态码
调整规则:A脱敏降级、B Error豁免、C禁止推测、D不确定标[待确认]、E响应体最低P1、F体内容追溯
仅记录发现,不提供修复方案。
输出格式:
### [P等级] {文件名}:{行号}
**代码片段**: (前后各2行)
**敏感变量追溯**: 变量名 → 行号赋值 → 实际类型
**打印内容**: [明确列出被打印信息]
**风险描述**: 一句话
**脱敏状态**: [已脱敏/未脱敏]
**等级调整**: 原始P? → 调整后P?(原因)
若无: "未发现敏感打印"
五、输出格式
# 敏感信息打印/日志审计结果
> 扫描范围:仅当前目录
## 发现列表
| 序号 | 文件 | 行号 | 等级 | 敏感内容 | 脱敏状态 | 风险描述 |
|------|------|------|------|---------|---------|---------|
## 统计
| 等级 | 数量 |
|------|------|
| P0致命 | N |
| P1高危 | N |
| P2中危 | N |
| P3低危 | N |
## P0致命问题清单
| 序号 | 文件 | 行号 | 问题简述 |
|------|------|------|---------|
## 总结
共扫描 N 个文件,发现 M 处敏感信息打印/落盘问题。