VSCode Command Audit
监控 VS Code 扩展宿主进程中对 child_process 的调用,并将以下信息写入日志:
- 插件 ID(
extensionId)
- 调用堆栈(
stack)
- 命令行(
commandLine)
- 调用方法(
exec / spawn / execFile / fork 等)
- 时间戳(
timestamp)
使用方式
- 在 VS Code 中打开本目录。
- 按
F5 启动 Extension Development Host。
- 扩展会在启动后自动安装 hook。
- 运行命令
Command Audit: Open Latest Log 查看最新日志。
日志位置
日志写到该扩展的 globalStorage 目录下:
command-audit-logs/command-audit-YYYYMMDD.jsonl
每行是一个 JSON 对象,示例:
{"timestamp":"2026-03-13T08:00:00.000Z","extensionId":"ms-python.python","method":"spawn","commandLine":"python -m pip list","stack":"Error: ..."}
注意
- 该方案通过 monkey patch
child_process 实现,属于运行时拦截。
- 只能记录在扩展宿主进程内发起的调用;无法覆盖宿主之外的外部进程行为。
- 若某些扩展在本扩展激活前就已缓存了
child_process 方法引用,可能出现漏记。
| |