Skip to content

Releases

v0.5.1

Choose a tag to compare

@jingcha-release-bot jingcha-release-bot released this 06 Oct 09:03

(2026-10-06)纯文档修正,无代码改动。

  • docs: CONTRIBUTING 自检计数同步至 179/111/14;
  • docs: README 安全边界去重、补 kill.forensics 说明;
  • docs: CODE_OF_CONDUCT 举报渠道具体化;
  • docs: examples 04a 改名为 04-old-way;
  • docs: WIDGET-SPEC 实现状态计数同步。

v0.5.0

Choose a tag to compare

@jingcha-release-bot jingcha-release-bot released this 06 Oct 08:51

(2026-10-06)判定规则可编排 · 会话维度过滤 · 迷你时间线 · 强停取证卡。自检 290 项(179 离线 + 111 挂件),全绿。

v0.4.3 的两路独立安全审查结论与逐条处置见 docs/SECURITY-REVIEW-0.4.3.md。

  • 判定规则可编排:verdict 的长 if 链抽成规则表——内置 8 条(inflight-calls / event-loop / memory-leak / no-progress / error-storm / failure-loop / agent-error-loop / plugin-error);第三方可用 monitor.registerRule({ id, evaluate }) 注册,unregisterRule / setRuleEnabled / listRules 管理;支持 escalate 升级语义(把 warn 级理由升到 stalled 等)与失败隔离(单条规则抛错只记账、不影响判定,同一规则 5 分钟最多报一次);新增配置 disabledRules 可按 id 停用内置规则;
  • 会话维度过滤:GET /api/jingcha/status?session=<id> 只看指定会话(sessionSummary / SESSION_SCOPED_KINDS);sessions 汇总始终全局(否则挂件没法选会话),带过滤时理由标注 scope: session|host;查询工具新增 includeRules 参数;
  • 迷你时间线:挂件面板新增最近 5 分钟 / 30 段的判定时间线——本地采样、内存有界(采样上限 150 点)、按级别上色、悬停看时间与理由、可折叠,轮询只改色不重建 DOM;
  • 强停取证卡:强制停止成功时落一张 kill.forensics 事件卡(工具 / 会话 / 参数摘要 / 耗时 / 静默时长 / 嵌套标记),事后能复盘「这次调用长什么样」;
  • install / uninstall 加固:删 junction 改用 cmd /c rmdir /q(只删链接本身,绝不 -Recurse 删到目标)+ 删失败显式报错;install 的备份目录只保留最新 10 份;两个脚本转纯 ASCII(Windows PowerShell 5.1 读无 BOM 的 UTF-8 中文会按 ANSI 解析);
  • 发布链:SSH 推送失败(受限沙箱里 Git for Windows 的 sh.exe 起不来)自动回落到 HTTPS + GitHub App 会话 token(tools/gh-push.mjs);release.mjs 的只读 git 查询改用文件重定向,绕开沙箱禁止 Node 开管道 stdio 的 EPERM。

v0.4.3

Choose a tag to compare

@jingcha-release-bot jingcha-release-bot released this 27 Sep 19:11

独立安全审查(两路:运行时 / 工具链)后的修复版。自检 229 项(125 离线 + 14 真 cordis + 90 挂件)。

运行时与宿主侧:

  • 脱敏覆盖补齐:空格分隔的凭据(--password hunter2、-p s3cret)、带引号的 JSON 键("password":"x")、裸键(pwd=/sig:/token=)现在都会变成 [已脱敏](审查 M1);
  • memoryLeakWindow 夹紧到 [2,120]、采样数组上限 240 —— 配置写多大都不会无界增长(审查 M2);
  • apiToken 改为常量时间比较(各自 sha256 后 timingSafeEqual),避免时序侧信道(审查 L1);
  • Host 白名单接受 IPv4-mapped 写法([::ffff:127.0.0.1]:port),避免把本机请求误判为外来(审查 L2);
  • 脱敏正则编译结果缓存,事件热路径不再反复 new RegExp(审查 L4);
  • 默认 toolEnabled: false:不再依赖仓库里的 patch 才是 0 token,编程加载也是 0 token(审查 B-Q5)。

工具链与供应链:

  • 隐私针文件存在但读不出来时直接失败(此前脱敏与自检会一起静默失效);隐私针不存在时警告并用通用形态规则兜底(B-Q1);
  • 隐私自检改为全文件扫描(不再受扩展名白名单限制),二进制也按字节找针,并把「每条规则替换了几次」打印出来,让脱敏可审计(B-Q1/Q2);
  • 复制与扫描改用 lstatSync:符号链接 / junction 一律不跟随并告警(B-Q1);
  • 打包自检的敏感文件名改为大小写不敏感(.PRIVACY-NEEDLES.JSON 之类挡得住)(B-Q1);
  • CI 增加 permissions: contents: read(最小权限)(B-Q4);
  • gh-app.mjs:请求加 20 秒超时、多安装时不再静默挑第一个、App 目录可用 JINGCHA_GH_APP_DIR 覆盖、去掉重复的异常钩子(B-Q3);
  • 契约文档同步:OpenAPI 版本与 PUT 语义、config schema 补 recentCalls/recentFindings/reportWindowMs、toolEnabled 默认值改为 false、注明 JINGCHA_API_TOKEN 兜底(B-Q5)。

已知边界(设计取舍,非漏洞):未登记 controller 的调用会明确回 not-live 而不是乱杀;接口无速率限制(回环前提);同进程死循环只能中止信号。

v0.4.2

Choose a tag to compare

@jingcha-release-bot jingcha-release-bot released this 27 Sep 19:03

发布链加固与隐私清理(不影响运行时行为)

  • 修复打包脚本会把本机私密文件(.privacy-needles.json:含本机用户名 / 邮箱 / 路径)打进分发 zip 的问题:
    tools/pack.mjs 现在跳过点文件,并在打包前做「敏感文件名 + 本机路径」双重自检,命中即失败;
  • 分发 zip 改为从脱敏后的发布副本打包(与仓库内容一致),不再直接打包开发目录;
  • 打包脚本不再清空整个 dist/(此前会误删 dist/publish 这个 git 仓库);
  • 修复 README 里 GitHub 用户名被脱敏规则误替换(QTATQ233 变成 you233)导致的安装命令 / 徽章 / 链接失效;
  • 同期补齐:GIF 演示 + 4 张截图、docs/ARCHITECTURE.md(架构图 + 状态机图)、docs/openapi.yaml、docs/config.schema.json、
    docs/GLOSSARY.md、4 个示例、Issue/PR 模板、ROADMAP.md、CODE_OF_CONDUCT.md、Star History 与分享按钮、英文 README 本地化。