Daily security scan
Date · 2026-09-23 (UTC — plugins first indexed that day)
Effective tier · new today
dynamic first · this report10 of 79 new entries take their tier from a dynamic audit conclusion; the rest use the static scan tier. Where a conclusion exists it is authoritative (it may raise or lower the tier).
Static scan · new today
rule heuristics · fallbackTier = scan verdict: critical hit → critical; warning / non-blocking critical → high / medium; none → low. Used only when no dynamic conclusion exists.
Dynamic audit · subset of new today
model reads source · no executionTier = highest finding. Of 79 new entries: 10 with a conclusion, 18 queued, 1 failed (no conclusion), 50 low-risk not queued.
Data file updated 2026-11-09 08:36 (UTC+8); latest conclusion audited 2026-10-23 08:47 (UTC+8)
| Plugin | Effective | Static | Dynamic | Findings C/W/I | Manifest | Indexed |
|---|---|---|---|---|---|---|
| @AFAP/dsh-desktop-notify Desktop notifications for the DSH web GUI: a system toast when a tool needs authorization, a question or plan review is waiting, or a turn finishes. | low | low | not queued (low risk) | 0/0/2 | 0/0 | 2026-09-23 02:13 |
| @banana770/dsh-work-badge Tiny click-through badge for DSH: shows at a glance whether Beijing time (UTC+8) is inside the peak window - Mon-Fri 09:00-12:00 / 14:00-18:00 - or off-peak. Bilingual: Chinese and English UI text. | low | low | not queued (low risk) | 0/0/0 | 0/0 | 2026-09-23 02:13 |
| @hongxin/dsh-tvision Turbo Vision-style character-cell window manager for DSH agents | low | low | not queued (low risk) | 0/0/0 | 0/0 | 2026-09-23 02:13 |
| @njjpro/dsh-remote-workspace Device-workspace federation plugin for the dsh web GUI: pair into another DSH instance and browse its projects and sessions from the local sidebar, with each peer session opening in the local center column through a loopback embed proxy. | mediumD | medium | medium | 0/7/8 | 0/0 | 2026-09-23 02:13 |
| @virzs/dsh-plugin-data-mask Paste-time data masking plugin for DSH: sensitive values are masked before they reach the composer | lowD↓ | medium | low | 0/10/40 | 0/0 | 2026-09-23 02:13 |
| @lycheelink/dsh-workbench Enterprise Agent Workbench for DSH | medium | medium | queued | 0/2/0 | 0/0 | 2026-09-23 04:13 |
| @LovelyDazai/dsh-model-menu-search Allow user search model in the DSH model list. | low | low | not queued (low risk) | 0/0/0 | 0/0 | 2026-09-23 04:13 |
| @banana770/dsh-model-select-collapse DSH web UI plugin: collapsible per-provider groups in the model selector. English + Chinese docs. | low | low | not queued (low risk) | 0/0/2 | 0/0 | 2026-09-23 04:13 |
| @sweet-boby/dsh-session-isolation DSH plugin for per-session working directories: keep parallel agent sessions from overwriting each other. | low | low | not queued (low risk) | 0/0/2 | 0/0 | 2026-09-23 04:13 |
| @minivv/dsh-activity-bell DSH 侧边栏活动铃铛:会话完成给角标,一键切换最近活动列表 | low | low | not queued (low risk) | 0/0/0 | 0/0 | 2026-09-23 04:13 |
| @exoticknight/dsh-system1 System One foundation and Cordis plugin for DSH | DSH 的 System One 基础能力与 Cordis 插件 | low | low | not queued (low risk) | 0/0/1 | 0/0 | 2026-09-23 04:13 |
| @Juntiantan/dsh-permission-gate UI-level access gate + process-wide agent tool brake for DSH. Shared 60-min idle lock. NOT authentication — pair it with a real boundary. | low | low | not queued (low risk) | 0/0/5 | 0/0 | 2026-09-23 04:13 |
| @zdz6215591/dsh-theme-doubao 豆包主题 — DSH Web 客户端主题插件。 | lowD↓ | medium | low | 0/5/11 | 0/0 | 2026-09-23 04:13 |
| @xianyu9n/dsh-exp-ops Remote experiment operations for DSH: a credential-reference server registry, signal/GPU/rollout watchers that wake the agent instead of polling, box metrics, and one right-sidebar panel with live configuration. | low | low | not queued (low risk) | 0/0/1 | 0/0 | 2026-09-23 06:13 |
| @1959377950-dotcom/dsh-workspace-archive-all DSH Web plugin: Archive-All action on every workspace folder menu in the sidebar (Ungrouped included). Running / open / blank / subagent sessions are skipped. | low | low | not queued (low risk) | 0/0/0 | 0/0 | 2026-09-23 06:13 |
| @pbwheel/dsh-workbuddy-expert 把 WorkBuddy 专家装进 DSH:专家市场一键导入 · 会话选择器随时切换 | low | low | not queued (low risk) | 0/0/4 | 0/0 | 2026-09-23 06:13 |
| @Xixixiao2007/dsh-mail-digest 把每轮回答压成一条详略得当的摘要发到邮箱,并支持邮件回信作答或续接对话(DSH 插件) | medium | medium | queued | 0/2/10 | 0/0 | 2026-09-23 06:13 |
| @loyalchiiina/dsh-lobsterai-daddy LobsterAIDaddy — draggable floating ball + slide-in drawer embedding the LobsterDaddy multi-account console in DSH, with a loopback-only same-origin reverse proxy, live status dot, account badge and a resizable persisted drawer. 把 LobsterDaddy 多账号控制台变成 DSH 界面悬浮球:可拖拽摆位并记忆,抽屉内嵌完整网页控制台,免退出并行登录/自动签到/积分额度/一键切号。 | highD↑ | medium | high | 0/3/11 | 0/0 | 2026-09-23 06:13 |
| @jackovibe/dsh-settings-order DSH Web 设置左列自由排序插件:拖动 / Alt+↑↓ / ↑↓ 按钮,宿主持久,跨浏览器生效(Free ordering for the DSH Web Settings navigation) | low | low | not queued (low risk) | 0/0/15 | 0/0 | 2026-09-23 06:13 |
| @jianghu-lao-yao/sh-volume-knob | medium | medium | queued | 0/1/16 | 0/0 | 2026-09-23 06:13 |
| @YevheniiMiachyn/dsh-tts-live Live sentence-level TTS for DSH with early speech, ordered streaming, barge-in cancellation, and custom WAV provider fixes. | medium | medium | queued | 0/3/1 | 0/0 | 2026-09-23 06:13 |
| @LiHeng99/dsh-starbridge-client StarBridge (星桥) gateway client for DSH — address or platform-account sign-in, chat / feedback / knowledge-base tools, and Web UI panels. Ships with no baked-in gateway address. | low | low | not queued (low risk) | 0/0/3 | 0/0 | 2026-09-23 06:13 |
| @YIRC99/dsh-jev-context | low | low | not queued (low risk) | 0/0/1 | 0/0 | 2026-09-23 06:13 |
| @lphuxhuq/dsh-vietnamese-lang | low | low | not queued (low risk) | 0/0/3 | 0/0 | 2026-09-23 06:13 |
| @zhang0098/dsh-telegram-channel Telegram mobile remote for DSH sessions (Martty/ACP-compatible fork of hi-wenw/dsh-telegram-channel): bind a chat to a live session, plain text = followup, /model /last /sessions. | low | low | not queued (low risk) | 0/0/0 | 0/0 | 2026-09-23 08:13 |
| @xchannel1987/dsh-sdd-progress-xc DSH web plugin: right-sidebar tab showing SDD task progress (todos) and ledger (sdd/progress.md) for the current session. 在右侧边栏展示当前会话的 SDD 任务进度与进度台账。 | low | low | not queued (low risk) | 0/0/7 | 0/0 | 2026-09-23 08:13 |
| @fufuyin/dsh-prompt-workbench Prompt rewrite workbench for DSH: four rewrite modes, cancellable streaming output, and a token-level before/after diff. | low | low | not queued (low risk) | 0/0/4 | 0/0 | 2026-09-23 08:13 |
| @fengchang618gmail/dsh-course-subtitles DSH plugin: fetch course/video captions (DeepLearning.AI, YouTube, Bilibili, Coursera), rebuild whole sentences, translate EN/ZH, auto-generate section headings, publish one Feishu doc per lesson. Also exports a course outline. Zero hardcoded keys - everything comes from env or the harness credential store. | mediumD | medium | medium | 0/4/11 | 0/0 | 2026-09-23 08:13 |
| @ginkgonine/dsh-server-hub A persistent multi-server switcher for DSH Web | medium | medium | queued | 0/8/14 | 0/0 | 2026-09-23 08:13 |
| @passerby325799/dsh-trans-md Keeps DSH chat replies short: final replies over 15 lines are written to a Markdown file in the workspace, leaving a digest and file path in chat. | low | low | not queued (low risk) | 0/0/0 | 0/0 | 2026-09-23 08:13 |
| @exoticknight/dsh-plugin-template One sentence to an AI agent: create, release and list a DSH plugin. DSH 插件模板与 AI 操作手册 | medium | medium | queued | 0/1/14 | 0/0 | 2026-09-23 08:13 |
| @jipika/dsh-memory Two-layer long-term memory for DSH: global + per-project markdown, live re-read, zero extra LLM cost, with a Settings panel. 给 DSH 的两层长期记忆。 | low | low | not queued (low risk) | 0/0/2 | 0/0 | 2026-09-23 08:13 |
| @yicun0316/dsh-claude-slider DSH / DSH 推理强度滑块插件:Claude 风格拖拽滑块 + 23 种 Canvas 粒子动效 + 客制动效自由组合 + 配色与图标自定义。Claude-style reasoning-effort slider plugin for DSH. | low | low | not queued (low risk) | 0/0/0 | 0/0 | 2026-09-23 08:13 |
| @yvhcel888/dsh-slide-gauge DSH 滑动测量仪挂件:右下角拖动角色显示状态,边界彩蛋,记住上次位置 · DSH plugin | low | low | not queued (low risk) | 0/0/2 | 0/0 | 2026-09-23 08:13 |
| @Neptune810/dsh-power-button A draggable one-press stop button for the DSH Web GUI. / DSH 一键结束服务按钮。 | medium | medium | audit failed | 0/4/11 | 0/0 | 2026-09-23 08:13 |
| @XiaoBinGan/dsh-mermaid-fence Render settled ```mermaid fences in the dsh Web GUI chat as SVG diagrams — hardened output, source toggle, and a code-block fallback that never loses the source. | low | low | not queued (low risk) | 0/0/0 | 0/0 | 2026-09-23 08:13 |
| @LeoEthanZ/dsh-beyond-glass A three-column glass UI for deepseek-harness, delivered as installable packages instead of a fork. | low | low | not queued (low risk) | 0/0/0 | 0/0 | 2026-09-23 08:13 |
| @Suguyun/dsh-insight DSH浏览器伴侣:网页划词即解读、侧栏多轮追问,并让 dsh 智能体读取页面、抓取流量、驱动浏览器。Chrome/Edge MV3 扩展 + 配套 dsh host 插件。 | mediumD | medium | medium | 0/6/12 | 0/0 | 2026-09-23 10:13 |
| @wangzhuoyuan229-source/DeepSeekLauncher macOS desktop launcher for DSH — Chrome, custom transparent icon, and installation skill | low | low | not queued (low risk) | 0/0/0 | 0/0 | 2026-09-23 10:13 |
| @liaowenqi123/dsh-meeting-coordinator DSH 多 Agent「会议室」插件:会议室会籍 + fork 上下文入场 + 主持人控场多轮讨论 + 会后各自压缩纪要并回到工作区继续干活。基于 dsh-std 元协议(Community v0.15)。 | low | low | not queued (low risk) | 0/0/0 | 0/0 | 2026-09-23 10:13 |
| @Eapp1e/dsh-poker Texas Hold'em table for DSH: model-callable poker tools, six heuristic opponents, an optional coach, and a browser table whose buttons never post a chat message. | medium | medium | queued | 0/1/6 | 0/0 | 2026-09-23 10:13 |
| @zhang-guo-wen/dsh-worktree Git worktree isolation for DSH: create a worktree, register it as its own project, and start the session inside it | medium | medium | queued | 0/1/1 | 0/0 | 2026-09-23 10:13 |
| @zhang-guo-wen/dsh-memory Claude-compatible memory for DSH: a user-chosen memory directory with MEMORY.md index and topic files, the memory tool, and a settings page | low | low | not queued (low risk) | 0/0/2 | 0/0 | 2026-09-23 10:13 |
| @boyl/dsh-sidebar-pins Codex-style pinned/recent sidebar panes for DSH, with one full row menu on every row (pins, unread, rename/fork/archive, reveal in Finder, guarded workspace delete). | low | low | not queued (low risk) | 0/0/6 | 0/0 | 2026-09-23 10:13 |
| @TOP1Wu/dsh-session-isolation 为 DSH 提供工作区级会话隔离:同一工作区里多个会话各自写自己的产出目录,拒绝覆盖其他会话的文件。 | low | low | not queued (low risk) | 0/0/1 | 0/0 | 2026-09-23 10:13 |
| @zhang-guo-wen/dsh-ui-beautify Page beautification for DSH: ship open-source CJK webfonts and let the Web GUI pick its body font | low | low | not queued (low risk) | 0/0/0 | 0/0 | 2026-09-23 10:13 |
| @victorygod/dsh-tavern-fengyue | low | low | not queued (low risk) | 0/0/0 | 0/0 | 2026-09-23 10:13 |
| @jackovibe/dsh-codex-pin Codex 式会话置顶与归档风格的 DSH Web 插件(置顶=标记不是排序,宿主持久,零顺序改动) | low | low | not queued (low risk) | 0/0/9 | 0/0 | 2026-09-23 10:13 |
| @JessenReinhart/dsh-snapcompact Bitmap-frame context compression plugin for DSH: deterministic pixel-font visual archiving of conversation history | medium | medium | queued | 0/1/2 | 0/0 | 2026-09-23 10:13 |
| @yixiuzhemu/Skills-Manager Skills管理 | low | low | not queued (low risk) | 0/0/4 | 0/0 | 2026-09-23 10:13 |
| @chinazkk/dsh-console DSH 控制台插件:主视图「控制台」标签页,真 PTY 交互终端(iTerm 风格多标签),vim/top/ctrl+c 全支持。 | medium | medium | queued | 0/3/12 | 0/0 | 2026-09-23 10:13 |
| @luxus0946/dsh-uuyc UU Remote (uuyc-cli) Windows remote-control plugin for DSH - device management & remote terminal execution. Everything is a Plugin. | mediumD | medium | medium | 0/3/2 | 0/0 | 2026-09-23 10:13 |
| @dpwgc/dsh-coding-workflow 一个 DSH 编程工作流模式预设(Preset),用于更好地约束LLM进行编程工作。 | medium | medium | queued | 0/3/0 | 0/3 | 2026-09-23 10:13 |
| @2huy4n/roleplaytimer 每隔一段时间主动唤醒会话中的AI,以此达到更沉浸式的角色扮演体验。 | low | low | not queued (low risk) | 0/0/3 | 0/0 | 2026-09-23 12:13 |
| @SciF-Lin/dsh-browsercontrol-mcp Real browser control for DSH: mounts Playwright MCP as native tools so the agent drives a browser you actually use. | low | low | not queued (low risk) | 0/0/0 | 0/0 | 2026-09-23 12:13 |
| @harde1/dsh-xcodebuild Xcode build, test, archive, run and log streaming for DSH: build/test/clean/archive/run an iOS or macOS project, with a live filterable build log and simulator and USB device log channels. macOS only. | low | low | not queued (low risk) | 0/0/2 | 0/0 | 2026-09-23 12:13 |
| @Gnatnaituy/dsh_sidebar_element_picker A browser panel in DSH's right sidebar: browse a site through a per-origin loopback proxy, pick elements into [label][DOMn] references, with tabs, page zoom, phone/tablet viewport preview and saved logins. | medium | medium | queued | 0/2/14 | 0/0 | 2026-09-23 12:13 |
| @azazo1/dsh-approve-prefix 按单命令前缀自动放行 DSH 沙箱提权请求, 含管道与链式的命令一律转人工审批. | low | low | not queued (low risk) | 0/0/0 | 0/0 | 2026-09-23 14:13 |
| @JD579g/dsh-mcp-hub DSH plugin: one-click MCP deployment + built-in MCP toolkit + doctor. Windows-first, connects without restarting. | medium | medium | queued | 0/3/21 | 0/0 | 2026-09-23 14:13 |
| @wuenna/dsh-deepseek-cost DSH plugin: DeepSeek-official cost accounting (session total + current turn) added to the built-in Token usage panel. | low | low | not queued (low risk) | 0/0/1 | 0/0 | 2026-09-23 14:13 |
| @Gnatnaituy/dsh-sidebar-browser A browser panel in DSH's right sidebar: browse a site through a per-origin loopback proxy, pick elements into [label][DOMn] references, with tabs, page zoom, phone/tablet viewport preview and saved logins. | medium | medium | queued | 0/2/14 | 0/0 | 2026-09-23 14:13 |
| @TACONailoong/dsh-plugin-smart-config DSH plugin for model smart configuration and parameter adaptation ported from ZCode | medium | medium | queued | 0/1/2 | 0/0 | 2026-09-23 14:13 |
| @CJYLZS/dsh-browser Give dsh agent a real browser to use | medium | medium | queued | 0/1/7 | 0/0 | 2026-09-23 14:13 |
| @Ztyss/dsh-draft-fold 长输入自动折叠为一张附件式摘要卡 | low | low | not queued (low risk) | 0/0/0 | 0/0 | 2026-09-23 14:13 |
| @anthony1x6000/dsh-searxng-search | lowD↓ | medium | low | 0/11/23 | 0/0 | 2026-09-23 14:13 |
| @anthony1x6000/dsh-remote | low | low | not queued (low risk) | 0/0/1 | 0/0 | 2026-09-23 14:13 |
| @ffyfox/dsh-zcode-project-memory ZCode 项目记忆的 DSH 非官方社区移植:项目级长效记忆插件。Unofficial community port of ZCode's project memory to DSH: project-scoped long-term memory plugin | low | low | not queued (low risk) | 0/0/3 | 0/0 | 2026-09-23 14:13 |
| @wuenna/dsh-workspace-focus DSH plugin: an eye toggle that hides every workspace except the one holding the current session. | low | low | not queued (low risk) | 0/0/2 | 0/0 | 2026-09-23 14:13 |
| @DDDMUC/dsh-provider-hub DSH plugin: paste an API key to add a provider. 21 curated presets (OpenAI-compatible + Anthropic Messages) with per-app de-duplication and a custom endpoint form. | low | low | not queued (low risk) | 0/0/7 | 0/0 | 2026-09-23 14:13 |
| @MaybeMeibeMaybi/dsh-harmonyos-hiboard Push DSH task results to Huawei HarmonyOS assistant-today service cards. Compatible with dsh 0.1.5 / cordis 4. | low | low | not queued (low risk) | 0/0/3 | 0/0 | 2026-09-23 14:13 |
| @cup113/dsh-plugin-pyrun DSH插件:Python 快捷执行工具,源码经 stdin 直灌 `python -X utf8 -u -`,一步返回结果,全链路 UTF-8,支持后台作业与沙箱提权。 | low | low | not queued (low risk) | 0/0/0 | 0/0 | 2026-09-23 16:13 |
| @jackie-cqz/dsh-jev-plugin DSH plugin for TypeSafe Jev: typed decisions, configurable guardrails, and Web UI result cards. | low | low | not queued (low risk) | 0/0/3 | 0/0 | 2026-09-23 16:13 |
| @1475505/miliastra-beyond-simulator 千星沙箱模拟器:Lua 驱动的 2D 奇域外置沙箱 ,支持 DSH、Web 和 MCP | low | low | not queued (low risk) | 0/0/3 | 0/0 | 2026-09-23 16:13 |
| @JohnGD/dsh-office-preview Previews Word (.docx) and Excel (.xlsx) files in the DSH sidebar document pane — OOXML parsed in the browser, no Office, no network. | low | low | not queued (low risk) | 0/0/0 | 0/0 | 2026-09-23 16:13 |
| @hasan-aghayev/dsh-pet-companion Floating desktop pet for DSH with a growing local pet library | lowD↓ | medium | low | 0/5/8 | 0/0 | 2026-09-23 16:13 |
| @rasyidmmz/dsh-ai-memory Memory bridge between DSH and ai-memory: finalizes DSH sessions so they become wiki pages every other harness ai-memory serves can read. | low | low | not queued (low risk) | 0/0/3 | 0/0 | 2026-09-23 18:13 |
| @ClearLeaf13/dsh-llamacpp-connect 把本地 llama.cpp 管理器里的模型接入 DSH — bring local llama.cpp manager models into DSH | mediumD | medium | medium | 0/3/9 | 0/0 | 2026-09-23 18:13 |
| @XGUIMAX/dsh-wrongbook DSH Tavern 错题库:按人物卡分类记下调试中踩过的坑,先查本卡、再跨卡。 / Per-card defect ledger for DSH Tavern. | high | high | queued | 1/8/10 | 0/0 | 2026-09-23 18:13 |
| @tokai-teiodh/dsh-script-cards Script-archive card panel for DSH: rounded card grid, two-level branch canvas, and a host-side Typert bridge that keeps structure inside your own project folder. | medium | medium | queued | 0/1/6 | 0/0 | 2026-09-23 18:13 |
Dynamic audit results · new today (10 with a conclusion)
The model reads redacted source context and never executes plugin code. When a dynamic conclusion exists it is authoritative (it may raise or lower the level); otherwise the static tier applies. The audit never writes the exemption list.
Host half exposes a loopback, unauthenticated HTTP surface whose /open-url spawns `cmd /c start` with an unvalidated URL, allowing Windows command injection, plus CSRF-exposed state-changing routes.
- highWindows command injection via /open-url URL passed to `cmd /c start` · lib/index.js:1085
- mediumState-changing loopback routes lack Origin/CSRF protection · lib/index.js:995
- lowPath traversal in readAccountFile uid used by /local/switch · lib/index.js:300
Visible engine code is mostly defensive; the one real risk is a working-directory config.json that can retarget the LLM base URL while the harness key is auto-filled.
- mediumA config.json in the working directory can retarget the LLM base URL while the API key is auto-filled from the credential store · src/engine/config.js:112
Local WS bridge lacks any auth/Origin check, so another page or process can receive browser tool results and forge replies; other issues are low.
- mediumWebSocket bridge accepts any connection with no authentication or Origin check · host/bridge.js:112
- lowInstaller/uninstaller recursively force-deletes a directory derived from an environment variable · bin/cli.js:70
- lowOpt-in remote CDP fallback drives the browser over the unauthenticated 127.0.0.1:9222 debug endpoint · extension/src/background.js
Loopback-only runtime with defensive parsing, but the unauthenticated POST /sync route lets any origin trigger local port scans and provider churn.
- mediumUnauthenticated POST /sync route lets any origin trigger local port scanning and provider re-registration · src/index.ts:830
- lowDeep scan of every listening loopback port is enabled by default · src/index.ts:152
Diagnostic beacons spray DOM structure to a fixed loopback port and an unvalidated URL is handed to OS protocol handlers; host route/proxy sources were not harvested.
- mediumDiagnostic beacons send document/DOM structure to a fixed loopback port, including while the plugin gate is closed · src/client/peer-mount.tsx:56
- medium'Open in browser' passes an unvalidated URL straight to OS protocol handlers (rundll32/open/xdg-open) · src/index.ts:177
- lowUnbounded synchronous append to a boot-probe log on the request path · src/index.ts:140
UU-remote CLI wrapper: model can run arbitrary commands on remote Windows hosts, and an optional plaintext password is forwarded unconditionally to the remote shell.
- mediumOptional unlock password stored plaintext and sent unconditionally to remote shell as first line · src/session.ts:128
- mediumModel-supplied command runs unrestricted on remote Windows hosts via remote shell · src/session.ts:79
Shell/Electron paths are purpose-bound and the only interpolated window title is correctly PowerShell-escaped; no critical/high issues, two low hardening gaps.
- lowRuntime downloads and executes an Electron binary; artifact source can be redirected by ELECTRON_* env vars · src/runtime.js:25
- lowImage path containment check uses path.resolve without resolving symlinks · src/pets.js:15
Runtime is a no-op host entry plus a browser-side masking client; the flagged spawn/fetch/rmSync code lives only in dev-only, unpackaged test scripts, leaving two low-severity leaks.
- lowDev boot script prints full page/network URLs, including the ?token= GUI token, to stdout · scripts/check-web-boot.mjs:126
- lowScreenshot script defaults its output directory to a hard-coded absolute path on the author's machine · scripts/shoot-settings.mjs:12
Local SearXNG search provider: all exec calls use argv arrays with operator-controlled config, autostart is gated to loopback bases; only low hardening gaps remain.
- lowGenerated settings.yml interpolates SEARXNG_SECRET without escaping and is created with default file permissions · lib/index.js:284
- lowContainer auto-create runs the mutable docker.io/searxng/searxng:latest tag with host directory mounts and restart policy · lib/index.js:294
Browser-only theme: empty node entry, no runtime network, secrets or filesystem access; the only host-touching capability is scoped, restored DOM restyling; dev tools are not published.
- lowTheme applies !important inline overrides and hides children of host-owned ancestors · src/client/hero.js:81
Site-wide effective tiers (dynamic first)
Dynamic conclusions set the tier where they exist; the static scan applies only where there is none. 25,469 in-scope entries (25,139 scanned + 330 pending).
Static scan for reference: low 24,954 · medium 0 · high 183 · critical 0 (dynamic conclusions moved these into the effective tiers above).
Static heuristics + semantic manifest audit + a model-driven dynamic audit — not a full security audit; no code execution, no dependency resolution. Dynamic tiers come from the model reading source context (highest finding) and never exempt a static finding.
Daily report archive
84 reportsWhat does this daily report cover?
This report covers plugins first indexed by dsh.so on 2026-09-23. For each new plugin it records the name, risk tier, scan verdict, critical/warning/info findings, manifest audit signals, and index time. Plugins that were already in the registry before that date are not included.
How are the risk tiers assigned?
Risk tiers follow the same public model used across the site: four levels — critical / high / medium / low — read from finding counts, most severe first. Critical is reserved for secrets, exfiltration, destructive commands, or mining; a high-severity finding without a critical one reads high; medium (warning-level) findings read medium (needs review); no meaningful findings reads low. Where the model-driven dynamic security audit has a conclusion, that conclusion sets the tier (it can raise or lower it); the static scan tier (vet primary, dsh backstop) applies only when there is no conclusion.
Why is this not a full security audit?
The daily scan is a static heuristic scan plus manifest audit. It does not execute code or resolve dependencies, so it cannot prove that a plugin is safe. Use the report to prioritize inspection, not to replace it.
What does the "Manifest" column mean?
Manifest here is the vet engine's semantic analysis of the plugin's JSON manifest — not the dynamic security audit. It flags declaration-level signals such as install scripts, lifecycle hooks and broad file or network permissions.
Is the static scan the only layer?
No. A second, model-driven dynamic security audit runs on top of it for entries the static scan already flags as needing review: it reads source context without executing plugin code, covers that subset only, and its conclusion is authoritative when there is one — it can raise a verdict or lower it; the static scan tier (vet primary, dsh backstop) applies only when there is no dynamic conclusion. Exemptions stay manual and the script never writes the suppression list. This daily report shows both layers: every new entry is marked with its dynamic state (conclusion / queued / failed / out of the queue because it is low risk), and all conclusions of the day are listed below with their tier, model summary and findings. As of the latest run: 2900 dynamic audit records, 2323 with a model conclusion, 312 stricter than the static verdict, 808 softer.
Source: dsh.so security standards · Maintained by dsh.so · Published