zgsfsec/Full-Chain-Sentinel-System

★ 156⑂ 57

【全链哨兵】全流程渗透测试 Agent 系统,安全服务渗透测试辅助工具,禁止用于非法攻击。

About zgsfsec/Full-Chain-Sentinel-System

zgsfsec/Full-Chain-Sentinel-System is an open-source project on GitHub, mainly written in TypeScript. 【全链哨兵】全流程渗透测试 Agent 系统,安全服务渗透测试辅助工具,禁止用于非法攻击。 It currently holds 156 stars and 57 forks with 0 open issues, and was last pushed on an unknown date (repository created unknown).

Project Overview

AI Homed tracks it on the Today's Trending board, currently at rank #89 with 0 new stars today.

GitHub Repository Details

Repository zgsfsec/Full-Chain-Sentinel-System · default branch - · size 0 KB · watchers 0 · source: GitHub REST API and repository README

README

全链哨兵 Full Chain Sentinel System

知攻善防实验室,基于 pi agent harness 改造的授权渗透测试 Agent,带中文 Web 控制台与容器化作业环境。

授权使用声明

本项目是攻击性安全工具,只能用于你已获得书面授权的目标。

本项目以 MIT 许可发布,不附带任何担保。

功能

Releases 快速开始

你需要提前安装好 Docker,怎么安装 Docker,在此就不赘述

root@VM-0-11-ubuntu:~# tar -xzvf sentinel-web-linux-x64.tar.gz 
sentinel-web/
sentinel-web/sentinel-web

root@VM-0-11-ubuntu:~# cd sentinel-web/

root@VM-0-11-ubuntu:~/sentinel-web# ls sentinel-web

root@VM-0-11-ubuntu:~/sentinel-web# chmod +x sentinel-web root@VM-0-11-ubuntu:~/sentinel-web# ./sentinel-web

首次运行访问需要设置账号密码

请确保你的所有测试在本地,或者有正规合法的渗透测试授权,并且同意AI 生成式风险,否则无法进入平台。

进入平台后请先部署好容器: 等待即可

全链哨兵(PCSS)是以项目为隔离,为了安全考虑,每个项目一个 kali 容器。 建议开 host 模式,否则公网环境无法进行监听操作。

Dev 快速开始

要求 Node.js >= 22.19.0。

npm install --ignore-scripts
npm run build:offline  # 后端各包与 coding-agent(不联网,模型目录已入库)
npm run build:web      # Web 控制台与前端资源
npm run start:web

npm run build 只构建后端各包,控制台需要额外的 npm run build:web。

启动后日志里会打印本次的入口地址,形如 https://<地址>:<端口>/<随机串>。默认监听 0.0.0.0,随机入口串与 cookie 校验用于挡扫描器:没有入口串的请求一律返回普通 404,入口串每次启动都变。请在日志里取完整地址访问。

默认使用自签 HTTPS:首次启动用本机 openssl 生成证书(存于配置目录 tls/,SAN 覆盖 localhost 与当前所有网卡 IP),之后复用。浏览器首次访问会提示证书不受信任,选择「高级 → 继续前往」即可,也可把 tls/cert.pem 导入系统信任。换网络后局域网 IP 变化导致证书域名不匹配时用 --tls-regen 重签。

首次访问的流程:

1. 设置控制台密码(scrypt 哈希,保存在本机配置目录)。 2. 阅读并勾选授权使用承诺。 3. 在左侧「模型设置」配置端点(Base URL / API Key / 模型 ID)。

启动参数与环境变量:

| 参数 | 环境变量 | 说明 | | --- | --- | --- | | --host <地址> | SENTINEL_HOST | 监听地址,默认 0.0.0.0 | | --port <端口> | SENTINEL_PORT | 监听端口,默认 7777 | | --cwd <目录> | SENTINEL_CWD | 工作目录,默认当前目录 | | --gate-token <串> | SENTINEL_GATE_TOKEN | 固定入口串,默认每次启动随机 | | --no-gate | — | 关闭随机入口,直接以 / 提供服务(仅本机调试) | | --no-tls | SENTINEL_TLS=0 | 关闭 HTTPS,退回明文 HTTP(默认自签 HTTPS) | | --tls-cert / --tls-key | — | 使用指定证书与私钥(成对使用,优先于自动生成) | | --tls-regen | — | 重新生成自签证书(本机 IP 变化、浏览器报域名不匹配时用) | | --no-consent | — | 跳过首次授权承诺(自动化环境) | | --check | — | 只做启动前自检并打印报告,不启动服务 |


目录结构

本仓库沿用上游 pi monorepo 的分包结构(包名仍是上游的 @earendil-works/*,改名单独进行):

| 包 | 说明 | | --- | --- | | packages/web | 全链哨兵 Web 控制台:HTTP + WebSocket 服务与前端 | | packages/coding-agent | Agent CLI 与运行时 | | packages/agent | 工具调用与状态管理 | | packages/ai | 多 provider LLM API | | packages/tui | 终端 UI 库 | | packages/durable | 会话、任务与文档运行时 | | packages/mcp · packages/protocol | MCP 与协议层 | | packages/droid-apk | 安卓 DroidBridge APK(Kotlin) | | docker | 作业容器镜像(Kali + 工具链) |

开发

bash ./test.sh # 全部非 e2e 测试 npm run check # biome + 依赖/导入/入口图检查 + tsc + webui + 浏览器冒烟 npm run build:offline # 全量构建,不联网、不重生成模型目录

本仓库不跑 CI(只保留发布流程):提交前请自己跑 npm run check 和 ./test.sh。

单测从包根目录跑:

bash node "$(git rev-parse --show-toplevel)/node_modules/vitest/dist/cli.js" --run test/.test.ts

packages/ai/src/providers/data/ 是 generate-models 的产物,已固定在版本库里:模型 id 的类型联合体直接由它推导,固定它之后 tsc 和测试不会随厂商轮换模型而漂移(全新克隆也能离线做类型检查)。要更新目录时跑 npm run generate:models(需联网)并提交改动——刷新会改到 .manifest.json 的 generatedAt 时间戳,属正常。发布流程仍会实时刷新,发布产物里的目录是最新的。

作业容器:

bash docker build -t sentinel:latest docker/ ```

基础镜像与 apt/pip/npm/go 软件源可在控制台「设置 → 环境」配置,也可以在命令行用 --build-arg 覆盖。

安全边界

控制台:Docker 是硬依赖。每个项目一个 Kali 容器(sentinel:latest),Agent 的 bash 命令在容器内执行(docker exec),项目目录 bind mount 进 /work,容器以 root 运行。容器网络默认 host(容器直接用宿主机网络栈,反向 shell、payload 服务、本地靶场、内网与 VPN 才是真实的),可在「设置 → 环境 → 容器网络」切到 bridge;两种模式都保留 NET_RAW,NET_ADMIN 只在 bridge 模式授予。Docker 检查有阻断项时控制台拒绝 prompt、compact 与持续目标。

但容器只约束命令,不是整体沙箱:控制台与 Agent 进程本身以启动者的用户身份跑在宿主机上,只有命令进容器。

完整边界与配置见 packages/web/README.md。

自动执行模式下模型可运行任意命令,持续目标在自动执行下也没有危险命令黑名单,请仅在授权目标与隔离环境中使用;需要无人值守又不愿全放行时用 AI 审批。控制台的登录、随机入口串与授权承诺只用于防误用与防扫描,不构成隔离。

安全问题请通过仓库 Issue 反馈,不要在公开 Issue 里附可直接利用的细节。

上游与许可

本项目是 pi 的衍生作品(fork),不是上游官方项目,与上游团队无关。

上游代码以 MIT 许可发布,版权归 Mario Zechner,许可全文见 LICENSE;本仓库保留该许可与版权声明,并在此基础上加入渗透测试相关的系统提示、Web 控制台、容器化作业环境与安卓设备插件。

何为全链路?

渗透测试场景在安全服务工作中,通常分为三种

1.Web 渗透 2.小程序渗透 3.APP 渗透

至此,我们全链路打通,一个平台畅游所有任务

三端是怎么打通的呢? 我们要知道我们渗透测试测的是什么?很多人都不明白道理,我们渗透测试过程,90% 的针对服务器后端进行测试的,后端想给我们前端展示,所以想打通三端也只是不同载体的问题。 比如:

Web 前端载体就是浏览器,

小程序的前端载体就是小程序容器

APP 的前端载体就是一些 UI 框架

所以,本质上 Web、小程序、APP,都是一样的。

使用

使用前必须创建项目,否则无法使用

简单说几个场景怎么用吧, 1.Web 测试 直接输入框使用即可

2.小程序 选择预设 Agent 然后自己在 Tscan 这类工具中把微信小程序反编译,点击左下角“附件”上传即可。

3.APP 在左侧安卓设备中配置好你的安卓机器,然后在你的安卓里面安装好对应 APP,然后在对话框中选择“安卓”即可

因为本人想法是更少的工具和上下文,所以,你如果不开“安卓”这个按钮的话,他是不会插入安卓相关的工具调用的、也不会插入相关 prompt

关于安卓配置

你需要有一台 root 后的设备(虚拟机亦可),并且安装配套的 app 即可

关于手机 root,这里就不再讲解,有兴趣可以去酷安社区逛逛,安卓机为反连主平台,所以你可以将主程序部署在公网服务器。

https://github.com/zgsfsec/Full-Chain-Sentinel-System/blob/HEAD/Pasted image 20261017124518.png

工程模式

适用于批量测试环节,指挥官架构,适用于多任务指挥,这个还是测试阶段,自行玩一玩吧。

守门审计

建议在设置->模型里面再配置一个小模型,比如 qwen,Hook所有 Bash 调用过程,建议用千问的 API 按量付费,不可以用 CodingPlan 模型,因为 CodingPlan 会有速率限制。

https://www.qianwenai.com/models/qwen-flash

采用小模型监管大模型,最大程度上尽量避免对生产环境造成影响。

关于 POC 订阅

你可以做一些自己的 Nuclei 的 POC 订阅服务,放进“设置->POC订阅”里面,这种应用场景主要是打 nday ,本来没打算加 Nuclei 固定 POC 的功能的,但是考虑到像 jeecg boot 、若依这种开发框架,的 api 路由自定义功能,还是加了吧。

你只需要在你的远程服务器上定时的把Nuclei 的所有 POC 打包成 zip,然后远程同步即可。

也可以直接同步 Nuclei 官方的 POC

如何持久化运行?

建议使用 screen -R sentinel

![[images/Pasted image 20261017133338.png]]

然后 ctrl +a ,键入 d 即可,更多用法自行学习 screen

全链哨兵交流群

加群的,一定要在“打招呼内容”备注“全链哨兵”。

https://github.com/zgsfsec/Full-Chain-Sentinel-System/blob/HEAD/Pasted image 20261017125335.png https://github.com/zgsfsec/Full-Chain-Sentinel-System/blob/HEAD/Pasted image 20261017125351.png

GitHub Stars & Activity

156Stars
57Forks
0Open issues
TypeScriptLanguage

GitHub Popularity

GitHub stars156
Forks57
Open issues0
Primary languageTypeScript
License-
Stars gained today0
Created-
Last pushed-

Trending History

Daily boardrank #89 · ▲ 0 stars

Related AI Projects

1

anomalyco / opencode

TypeScript★ 215,031⑂ 28,847▲ 576 stars
→
2

anthropics / claude-code

TypeScript★ 151,591⑂ 26,867▲ 168 stars
→
3

stablyai / orca

TypeScript★ 95,219⑂ 6,094▲ 829 stars
→
4

ruvnet / ruflo

TypeScript★ 75,964⑂ 8,998▲ 406 stars
→
5

Fission-AI / OpenSpec

TypeScript★ 72,238⑂ 4,939▲ 88 stars
→
6

cline / cline

TypeScript★ 70,464⑂ 7,694▲ 58 stars
→
7

krillinai / OpenCreator

TypeScript★ 13,614⑂ 1,488▲ 198 stars
→
8

thesysdev / openui

TypeScript★ 11,536⑂ 777▲ 190 stars
→

More AI Rankings