Skip to content
Projects

MWDLH/ShellSentry-AI

View on GitHub

MWDLH/ShellSentry-AI has 53 GitHub stars and 0 forks. GitHot measured 0 stars in 24 hours and 0 in 7 days. Last checked 2026-11-14 23:48 UTC. Last push 2026-10-14.

How these counts are measured

Measured star growth

in 24h
0
in 7 days
0
in 15 days
Collecting history
in 1 month
Collecting history

Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.

About

确定性取证 × 大模型定性 × Agent 反证复核的恶意代码审计智能体 · Deterministic forensics × LLM verdict × agent falsification for malicious-code audits

AI

README.md

Original

ShellSentry-AI

License Python Platform LLM Local-first

确定性取证 × 大模型定性 × Agent 反证复核的恶意代码审计智能体。

它不是特征库匹配器,而是一个走完「取证 → 定性 → 复核」才下结论的 Agent:确定性工具(规则 / 解码 / 行为链)先固定证据,大模型在证据之上推理定性,再经 Agent 反证复核(主动证伪、排除误报)。全程零执行、不落盘,样本代码只发往你自己指定的模型接口。

覆盖 PHP / Java·JSP / ASP·ASPX / C# / Python / JavaScript / Ruby / Shell / Go 等语言,共 128 条检测规则(含 30 条跨语言通用规则)、9 种程序化解码算法。

ShellSentry-AI 审计界面


为什么是「智能体」而不是扫描器

规则扫描器 ShellSentry-AI
产出 报出命中的规则 读码定性 —— 命中只是线索,需交叉验证、给良性反证
证据 只看关键词 先做确定性还原(非 LLM 推断)再交模型解读
不确定 照报 标注「需运行时验证 / 认不出来」,绝不编造
复核 无 Agent 反证复核:主动证伪、排除误报后才下结论

智能体的工作循环

智能体的工作循环:取证(工具层) → 定性(大模型) → 复核(Agent) → 五段式报告

  • 工具层(不需 API Key):规则扫描、行为链分析、程序化解码 —— 结果确定、可复现;也是 shellsentry scan 单独提供的纯静态能力(输出 JSON)。
  • 推理 + 复核层(需 API Key):大模型在证据上解读定性,Agent 再对初稿证伪、排查误报,最后与确定性结论融合。

未配置并启用大模型时,审计不会启动,会提示先在「模型设置」中完成配置。

它能做什么

能力 说明
静态规则扫描 128 条规则覆盖编码解码、动态执行、反弹 Shell、持久化、C2 外联、DOM XSS 等 9 类威胁行为,映射 12 项 CWE
反混淆还原 Base64 / Hex / ROT13 / URL / PowerShell ps_encoded / gzip / XOR 暴破 / charcode 拼接,9 种算法程序化解码;变量级混淆($a=[0]."sys"."tem")由模型语义补全
行为链分析 Source → Propagation → Sink 完整闭环判定,能区分「有漏洞的业务代码」与「植入的恶意代码」
家族识别 识别 Behinder / Godzilla / AntSword / 天蝎 / Cobalt Strike / Metasploit / Viper / 挖矿投递等,并区分「认不出来」——不确定时输出空而非猜测
五段式报告 攻击意图定性 · 反混淆源码 · C2 通信溯源 · 威胁行为研判 · 可执行应急响应(IOC / Snort 规则 / 主机清扫 / 安服口径)

可信边界

智能体只做静态判断,看不到运行环境与调用上下文,误报与漏报无法完全避免,重要结论请人工复核。内置盲测样本集 zz_samples/(7 个样本可复现),可自行复跑核对。

安全模型

「零执行」的确切含义:工具把待审文件当纯文本读取分析,从不运行、从不编译、从不加载、从不反序列化样本 —— 无论它是 PHP 一句话、JSP/Java 内存马(class 字节码)、ASPX、PowerShell 还是 Shell。整条链路没有任何 eval / exec / subprocess / pickle 之类的执行入口;ZIP 也在内存中解包,不落盘。样本因此只可能被「读」,不可能被「跑」。

  • 样本内容只在本机内存中读取:既不执行,也不写入磁盘;历史记录只留报告与元数据,不含样本源码
  • 代码内容只发往你自己指定的大模型接口,不经过任何第三方中转
  • 审计界面与配置只监听 127.0.0.1,默认不对外网开放
  • 配置与审计记录存放在系统用户数据目录(Windows %LOCALAPPDATA% / macOS ~/Library/Application Support / Linux $XDG_DATA_HOME),不入库

部署须知(重要)

  • 访问控制 —— 界面面向单机使用,无身份认证,默认仅监听 127.0.0.1。如需对外监听或经反向代理暴露,必须自行增加访问控制(SSH 隧道 / 认证代理等),否则历史记录与模型配置可被任意访问。
  • 数据出站 —— 样本内容会发送至「模型设置」中配置的 Base URL,请确保该端点可信。
  • 处置提醒 —— 工具不执行样本;报告与导出的「反混淆源码」仍属恶意样本,请勿在真实环境运行。

快速开始

# Windows:双击 start-shellsentry.cmd
# Linux / macOS:
chmod +x start-shellsentry.sh && ./start-shellsentry.sh

脚本自动创建项目内独立环境、安装依赖、启动本地界面(默认 127.0.0.1:8765,端口占用时自动避让)。

首次使用需配置大模型 API:点击界面左侧栏底部的「模型设置」,填入 Base URL、API Key、模型名(支持任意 OpenAI 兼容接口),再点「测试连接」确认可用。

命令行另有纯静态扫描(只跑规则与解码,不需要 API Key,输出 JSON):

pip install -e .
shellsentry serve                # 启动 Web 界面(完整智能体审计,需 API Key)
shellsentry scan suspicious.php  # 静态扫描单个文件,输出 JSON

若 pip install -e . 报 File "setup.py" or "setup.cfg" not found,是 pip 版本过旧——早于 21.3 的 pip 不支持从 pyproject.toml 做 editable 安装。先执行 python -m pip install -U pip 再装即可(启动脚本已自动处理这一步)。

免责声明

本工具仅用于授权范围内的安全审计与防御。误报与漏报不可避免,重要结论请人工复核。

License

Apache-2.0