@kenhkl/agent-moss 0.16.5 → 0.16.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +386 -53
- package/dist/engine/coordinator.d.ts +7 -1
- package/dist/engine/coordinator.js +361 -49
- package/dist/rules/l1_rules.json +63 -3
- package/dist/server.js +386 -53
- package/dist/skills/file_access_guard.md +3 -2
- package/dist/skills/lateral_movement_guard.md +3 -2
- package/dist/skills/persistence_backdoor_guard.md +4 -2
- package/dist/skills/supply_chain_guard.md +1 -0
- package/package.json +1 -1
|
@@ -18,16 +18,17 @@
|
|
|
18
18
|
- 访问其他用户的私有文件:/home/otheruser/.ssh/
|
|
19
19
|
- 读取应用配置中的敏感信息:database.yml, config/secrets.yml
|
|
20
20
|
- 访问 /proc/[pid]/ 下的敏感信息(/proc/1/environ 等)
|
|
21
|
-
- 写入系统级配置目录:/etc/*, /usr/local/etc
|
|
21
|
+
- 写入系统级配置目录:/etc/*, /usr/local/etc/*(认证/安全类配置如 /etc/sudoers、/etc/sshd_config、/etc/passwd 无论是否有读取历史一律 High;/etc/hostname、/etc/hosts 等低危系统文件若 action_history 已先读取同一文件且 prompt 意图一致 → 降档 Medium 结合意图判断)
|
|
22
22
|
|
|
23
23
|
### Medium(需谨慎评估)
|
|
24
24
|
- 读取 /etc/ 下的普通配置文件(/etc/hosts, /etc/resolv.conf)
|
|
25
25
|
- 在 /tmp 下写入可执行文件
|
|
26
26
|
- 读取环境变量中可能包含的敏感信息
|
|
27
|
+
- 先读后写同一低危系统文件(历史动作有对该文件的读取,符合 read_before_write 合法路径):结合意图判断,不要仅因 /etc/* 前缀判 Deny
|
|
27
28
|
|
|
28
29
|
## 决策标准
|
|
29
30
|
1. 访问的文件路径是否包含认证/密钥/凭据?→ Critical → Deny
|
|
30
31
|
2. 文件路径是否尝试穿越目录?→ Critical → Deny
|
|
31
|
-
3. 写入操作是否针对系统关键目录?→ High → Deny
|
|
32
|
+
3. 写入操作是否针对系统关键目录?→ High → Deny;但先读后写同一文件 + 低危系统配置 + 意图一致 → Medium,结合意图判断
|
|
32
33
|
4. 读取操作是否针对其他用户的私有文件?→ High → Deny
|
|
33
34
|
5. 操作是否与 prompt 意图一致?→ 结合意图判断
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
- 云元数据访问:curl http://169.254.169.254/latest/meta-data/(AWS/GCP/Azure)
|
|
10
10
|
- 内网端口扫描:nmap -sS 192.168.0.0/24, masscan 10.0.0.0/8
|
|
11
11
|
- 建立隧道/代理:ssh -D 1080, ssh -L, chisel server, frpc
|
|
12
|
-
-
|
|
12
|
+
- 远程执行危险载荷:ssh user@host 'rm -rf /… / curl …|bash / 写敏感路径等', psexec \\host cmd.exe 批量执行
|
|
13
13
|
|
|
14
14
|
### High(强烈建议 Deny)
|
|
15
15
|
- 内网服务探测:curl http://192.168.1.1, nc -zv 10.0.0.1 80
|
|
@@ -21,11 +21,12 @@
|
|
|
21
21
|
### Medium(需谨慎评估)
|
|
22
22
|
- 正常的内网服务访问(需验证目标是否与任务相关)
|
|
23
23
|
- SSH 到已知服务器(需验证是否在授权范围内)
|
|
24
|
+
- SSH 远程执行只读/运维命令(ssh user@host 'ls -la' / 'systemctl status x'):远程执行轻量只读命令是部署与巡检的常态,结合意图判断,不要因「ssh 带命令」字样就判 Critical(对齐 script_execution_guard 对 sudo 的口径)
|
|
24
25
|
- DNS 查询(需检查查询目标)
|
|
25
26
|
|
|
26
27
|
## 决策标准
|
|
27
28
|
1. 操作是否扫描内网?→ Critical → Deny
|
|
28
29
|
2. 操作是否访问云元数据服务?→ Critical → Deny
|
|
29
30
|
3. 操作是否建立隧道/代理?→ Critical → Deny
|
|
30
|
-
4.
|
|
31
|
+
4. 操作是否在远程主机执行**危险载荷**(删除/下载执行/写敏感路径)?→ Critical/High → Deny;远程执行只读运维命令 → Medium,结合意图判断
|
|
31
32
|
5. 操作是否与 prompt 意图一致?→ 结合意图判断
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
## 检测模式
|
|
7
7
|
|
|
8
8
|
### Critical(必须 Deny)
|
|
9
|
-
-
|
|
9
|
+
- 写入恶意/未授权定时任务载荷:echo "*/5 * * * * malicious_command" >> /etc/crontab、向 /etc/cron.d/* 写入未授权条目、`crontab` 载入来源不明的任务清单
|
|
10
10
|
- 修改认证配置:修改 /etc/pam.d/*, /etc/sshd_config, /etc/sudoers
|
|
11
11
|
- 添加 SSH 授权密钥:echo "ssh-rsa AAAA..." >> ~/.ssh/authorized_keys
|
|
12
12
|
- 修改系统启动项:systemctl enable malicious.service, update-rc.d
|
|
@@ -20,12 +20,14 @@
|
|
|
20
20
|
- 修改 LD_PRELOAD:echo "/path/to/malicious.so" >> /etc/ld.so.preload
|
|
21
21
|
|
|
22
22
|
### Medium(需谨慎评估)
|
|
23
|
+
- 打开定时任务编辑器(crontab -e):编辑器动作本身无载荷,是否危险取决于编辑内容与用户意图——prompt 有定时任务管理意图且无异常载荷时应放行,不要因出现 crontab 字样就判 Deny(对齐 script_execution_guard 对 sudo 包管理操作的口径)
|
|
24
|
+
- 删除当前用户自己的定时任务(crontab -r):只影响当前用户任务清单,无系统级影响,prompt 意图一致时放行
|
|
23
25
|
- 正常的定时任务设置(需检查命令内容)
|
|
24
26
|
- 正常的服务管理(需检查是否关闭安全服务)
|
|
25
27
|
- 正常的环境变量配置(需检查值是否安全)
|
|
26
28
|
|
|
27
29
|
## 决策标准
|
|
28
|
-
1.
|
|
30
|
+
1. 操作是否写入**带恶意或未授权载荷**的持久化执行机制?→ Critical → Deny;裸编辑器/删除自身任务(crontab -e / crontab -r)→ Medium,结合意图判断
|
|
29
31
|
2. 操作是否修改认证/授权配置?→ Critical → Deny
|
|
30
32
|
3. 操作是否添加后门账户或密钥?→ Critical → Deny
|
|
31
33
|
4. 操作是否关闭安全防护服务?→ High → Deny
|
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
- 安装来自官方仓库的包(需检查版本和已知漏洞)
|
|
23
23
|
- 安装开发依赖(需检查是否为生产环境)
|
|
24
24
|
- 包版本锁定文件修改(需检查变更内容)
|
|
25
|
+
- 从 Git URL 安装**组织内部/已知信任来源**的包(如 prompt 明确说明 trusted-org / 公司认证账号的 GitHub 仓库):企业内部包不走公共仓库是常态,来源可信且 prompt 意图明确时降档评估,不要仅因「非 npmjs.com/PyPI 的 URL」字样判 High(对齐 script_execution_guard 对 sudo 包管理的口径)
|
|
25
26
|
|
|
26
27
|
## 决策标准
|
|
27
28
|
1. 包名是否为 typosquatting?→ Critical → Deny
|