Skip to content

build(deps-dev): bump the eslint group in /frontend with 7 updates#13

Open
dependabot[bot] wants to merge 11 commits into
mainfrom
dependabot/npm_and_yarn/frontend/eslint-03a4150cd7
Open

build(deps-dev): bump the eslint group in /frontend with 7 updates#13
dependabot[bot] wants to merge 11 commits into
mainfrom
dependabot/npm_and_yarn/frontend/eslint-03a4150cd7

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jul 23, 2026

Copy link
Copy Markdown
Contributor

Bumps the eslint group in /frontend with 7 updates:

Package From To
@tanstack/eslint-plugin-query 5.100.10 5.101.2
@typescript-eslint/eslint-plugin 7.18.0 8.64.0
@typescript-eslint/parser 7.18.0 8.64.0
eslint 8.57.1 10.7.0
eslint-plugin-i18next 6.1.4 6.1.5
eslint-plugin-prettier 5.5.5 5.5.6
eslint-plugin-react-hooks 4.6.2 7.1.1

Updates @tanstack/eslint-plugin-query from 5.100.10 to 5.101.2

Release notes

Sourced from @​tanstack/eslint-plugin-query's releases.

@​tanstack/eslint-plugin-query@​5.101.2

No release notes provided.

Changelog

Sourced from @​tanstack/eslint-plugin-query's changelog.

5.101.2

5.101.1

5.101.0

Minor Changes

  • #10775 dc54932 - no-rest-destructuring now also flags rest destructuring on custom hooks that return a TanStack Query result. Detection uses the TypeScript type checker and runs only when typed linting is enabled, so untyped projects are unaffected. Closes #8951.

5.100.14

5.100.13

5.100.12

Patch Changes

  • fix(no-unstable-deps): handle array-destructured useQueries and useSuspenseQueries results (#10747)

  • Fix no-unstable-deps false positives for useSuspenseQueries results returned from combine. (#10642)

5.100.11

Commits

Updates @typescript-eslint/eslint-plugin from 7.18.0 to 8.64.0

Release notes

Sourced from @​typescript-eslint/eslint-plugin's releases.

v8.64.0

8.64.0 (2026-07-13)

🚀 Features

  • support parsing import defer (#12513)
  • eslint-plugin: [no-loop-func] support using / await using declarations and deprecate the rule (#12500)
  • typescript-estree: throw for invalid definite assignment in class properties (#12543)

🩹 Fixes

  • eslint-plugin: [require-array-sort-compare] handle constrained arrays (#12512)

❤️ Thank You

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

v8.63.0

8.63.0 (2026-07-06)

🚀 Features

  • eslint-plugin: [no-misused-promises] detect async usage of a sync dispose usage (#12426)

🩹 Fixes

  • eslint-plugin: [method-signature-style] suggest converting readonly function properties instead of emitting invalid syntax (#12447, #12446)
  • eslint-plugin: [no-unnecessary-type-assertion] handle optional-chained calls to overloaded functions (#12491, #12485)
  • eslint-plugin: [no-base-to-string] don't flag a shadowed String() call (#12492)
  • scope-manager: export ClassStaticBlockScope (#12460)

❤️ Thank You

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

v8.62.1

8.62.1 (2026-06-29)

... (truncated)

Changelog

Sourced from @​typescript-eslint/eslint-plugin's changelog.

8.64.0 (2026-07-13)

🚀 Features

  • eslint-plugin: [no-loop-func] support using / await using declarations and deprecate the rule (#12500)
  • typescript-estree: throw for invalid definite assignment in class properties (#12543)

🩹 Fixes

  • eslint-plugin: [require-array-sort-compare] handle constrained arrays (#12512)

❤️ Thank You

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

8.63.0 (2026-07-06)

🚀 Features

  • eslint-plugin: [no-misused-promises] detect async usage of a sync dispose usage (#12426)

🩹 Fixes

  • eslint-plugin: [no-base-to-string] don't flag a shadowed String() call (#12492)
  • eslint-plugin: [no-unnecessary-type-assertion] handle optional-chained calls to overloaded functions (#12491, #12485)
  • eslint-plugin: [method-signature-style] suggest converting readonly function properties instead of emitting invalid syntax (#12447, #12446)

❤️ Thank You

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

8.62.1 (2026-06-29)

🩹 Fixes

  • eslint-plugin: [no-unnecessary-type-assertion] parenthesize object literal at left edge of expression statement (#12443, #12418)
  • eslint-plugin: [no-unnecessary-boolean-literal-compare] preserve boolean result in fixer for nullable true comparisons (#12365)

... (truncated)

Commits
  • 414d9ab chore(release): publish 8.64.0
  • bcfe16f feat(eslint-plugin): [no-loop-func] support using / await using declarati...
  • 5b5bfde fix(eslint-plugin): [require-array-sort-compare] handle constrained arrays (#...
  • 321856c chore: cleanup cspell config (#12526)
  • b418cf5 feat(typescript-estree): throw for invalid definite assignment in class prope...
  • 737de2b docs: align unified-signatures correct example parameter (#12506)
  • a63c17a docs: fix shadowed parameter name in unified-signatures example (#12502)
  • 290cf6c chore(release): publish 8.63.0
  • 8d8fda6 feat(eslint-plugin): [no-misused-promises] detect async usage of a sync dispo...
  • fec4f4f fix(eslint-plugin): [no-base-to-string] don't flag a shadowed String() call (...
  • Additional commits viewable in compare view
Maintainer changes

This version was pushed to npm by GitHub Actions, a new releaser for @​typescript-eslint/eslint-plugin since your current version.


Updates @typescript-eslint/parser from 7.18.0 to 8.64.0

Release notes

Sourced from @​typescript-eslint/parser's releases.

v8.64.0

8.64.0 (2026-07-13)

🚀 Features

  • support parsing import defer (#12513)
  • eslint-plugin: [no-loop-func] support using / await using declarations and deprecate the rule (#12500)
  • typescript-estree: throw for invalid definite assignment in class properties (#12543)

🩹 Fixes

  • eslint-plugin: [require-array-sort-compare] handle constrained arrays (#12512)

❤️ Thank You

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

v8.63.0

8.63.0 (2026-07-06)

🚀 Features

  • eslint-plugin: [no-misused-promises] detect async usage of a sync dispose usage (#12426)

🩹 Fixes

  • eslint-plugin: [method-signature-style] suggest converting readonly function properties instead of emitting invalid syntax (#12447, #12446)
  • eslint-plugin: [no-unnecessary-type-assertion] handle optional-chained calls to overloaded functions (#12491, #12485)
  • eslint-plugin: [no-base-to-string] don't flag a shadowed String() call (#12492)
  • scope-manager: export ClassStaticBlockScope (#12460)

❤️ Thank You

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

v8.62.1

8.62.1 (2026-06-29)

... (truncated)

Changelog

Sourced from @​typescript-eslint/parser's changelog.

8.64.0 (2026-07-13)

This was a version bump only for parser to align it with other projects, there were no code changes.

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

8.63.0 (2026-07-06)

This was a version bump only for parser to align it with other projects, there were no code changes.

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

8.62.1 (2026-06-29)

This was a version bump only for parser to align it with other projects, there were no code changes.

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

8.62.0 (2026-06-22)

🚀 Features

  • remove redundant package.json "files" (#12444)

❤️ Thank You

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

8.61.1 (2026-06-15)

This was a version bump only for parser to align it with other projects, there were no code changes.

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

8.61.0 (2026-06-08)

This was a version bump only for parser to align it with other projects, there were no code changes.

... (truncated)

Commits
Maintainer changes

This version was pushed to npm by GitHub Actions, a new releaser for @​typescript-eslint/parser since your current version.


Updates eslint from 8.57.1 to 10.7.0

Release notes

Sourced from eslint's releases.

v10.7.0

Features

  • cf2a9bf feat: add errorClassNames option to preserve-caught-error rule (#21032) (sethamus)
  • f8b873a feat: max-nested-callbacks option for constructor callbacks (#21063) (fnx)
  • 557fde8 feat: support computed Number.parseInt member access in radix rule (#21041) (Pixel)
  • 0b4a73b feat: add suggestions to no-compare-neg-zero (#21034) (den$)
  • 96cdd42 feat: report invalid signed numeric radix values in radix rule (#21030) (Pixel)

Bug Fixes

  • 3e7bf15 fix: apply ignoreClassesWithImplements to class expressions (#21069) (Pixel)
  • 0d7d70c fix: insert cause outside wrapping parens in preserve-caught-error (#21062) (Mahin Anowar)
  • 75ec753 fix: handle static template literals in eqeqeq rule (#21058) (Pixel)
  • b717a22 fix: prevent eqeqeq null option from reporting non-equality operators (#21057) (Pixel)
  • e35b05f fix: avoid no-invalid-regexp false positive for shadowed RegExp (#21051) (Pixel)
  • a3172b6 fix: avoid no-control-regex false positive for shadowed RegExp (#21050) (Pixel)
  • d1f637e fix: parenthesize sequence expression operands in no-implicit-coercion (#21045) (spokodev)
  • 8859baf fix: avoid prefer-numeric-literals false positive for shadowed globals (#21047) (한국)
  • a9e5961 fix: use-isnan false positive on shadowed NaN/Number (#20958) (sethamus)
  • 8a240a7 fix: avoid false positives in radix rule for spread arguments (#21044) (Pixel)

Documentation

  • c30d808 docs: Update README (GitHub Actions Bot)
  • 5139800 docs: document ESLint migration codemods in v9 and v10 guides (#20980) (Alex Bit)
  • 04174cb docs: Update README (GitHub Actions Bot)
  • 026e130 docs: update semver policy for bug fixes (#21048) (Milos Djermanovic)
  • 9d42fef docs: Update README (GitHub Actions Bot)
  • b230159 docs: Update README (GitHub Actions Bot)
  • 0129972 docs: correct **/.js glob to **/*.js in config files guide (#21036) (EduardF1)

Chores

  • 9489379 chore: update dependency @​eslint/eslintrc to ^3.3.6 (#21076) (renovate[bot])
  • 81a4774 chore: updates for v9.39.5 release (Jenkins)
  • 9835414 chore: enable $ExpectType annotations in all TypeScript files (#21071) (Francesco Trotta)
  • 72adf6b chore: restrict markdownlint-cli2 updates in renovate (#21067) (lumir)
  • 833ec10 chore: update dependency prettier to v3.9.4 (#21061) (renovate[bot])
  • 7ea106d chore: update ecosystem plugins (#21059) (ESLint Bot)
  • 8fb550e chore: add prettier update commit to .git-blame-ignore-revs (#21056) (lumir)
  • e4e1166 chore: update dependency prettier to v3.9.1 (#21055) (renovate[bot])
  • 0493f53 chore: update prettier to v3.9.0 (#21054) (Pixel)
  • 1056a99 chore: update dependency prettier to v3.8.5 (#21049) (renovate[bot])
  • 4d4155d ci: run ecosystem tests on pull requests (#21027) (sethamus)
  • 993539f chore: update dependency @​eslint/json to ^2.0.1 (#21042) (renovate[bot])
  • 53f8b69 test: add error locations to no-constant-binary-expression (#21039) (lumir)
  • 5ab71d5 refactor: clean up radix rule internals (#21015) (Pixel)
  • a80a9a4 chore: update ecosystem plugins (#21035) (ESLint Bot)
  • 7c9a029 ci: add Node.js 26 to CI (#20847) (lumir)

v10.6.0

Features

  • b1f9106 feat: detect Symbol() and BigInt() in no-constant-binary-expression (#20981) (Taejin Kim)

... (truncated)

Commits
  • fabd99b 10.7.0
  • 37c5e75 Build: changelog update for 10.7.0
  • 9489379 chore: update dependency @​eslint/eslintrc to ^3.3.6 (#21076)
  • 81a4774 chore: updates for v9.39.5 release
  • 3e7bf15 fix: apply ignoreClassesWithImplements to class expressions (#21069)
  • 9835414 chore: enable $ExpectType annotations in all TypeScript files (#21071)
  • cf2a9bf feat: add errorClassNames option to preserve-caught-error rule (#21032)
  • c30d808 docs: Update README
  • f8b873a feat: max-nested-callbacks option for constructor callbacks (#21063)
  • 72adf6b chore: restrict markdownlint-cli2 updates in renovate (#21067)
  • Additional commits viewable in compare view

Updates eslint-plugin-i18next from 6.1.4 to 6.1.5

Changelog

Sourced from eslint-plugin-i18next's changelog.

6.1.5 (2026-06-28)

Bug Fixes

  • detect strings ending with ellipsis (a3d5198)
Commits
  • afe9e87 chore(release): 6.1.5
  • 7a6794f Merge pull request #160 from mrginglymus/rm-lodash
  • 27a7996 chore(deps): swap lodash for native object spread
  • 5ff15a8 Merge pull request #159 from edvardchen/fix-ellipsis-detection-138
  • a3d5198 fix: detect strings ending with ellipsis
  • See full diff in compare view

Updates eslint-plugin-prettier from 5.5.5 to 5.5.6

Release notes

Sourced from eslint-plugin-prettier's releases.

v5.5.6

Patch Changes

Changelog

Sourced from eslint-plugin-prettier's changelog.

5.5.6

Patch Changes

Commits

Updates eslint-plugin-react-hooks from 4.6.2 to 7.1.1

Release notes

Sourced from eslint-plugin-react-hooks's releases.

eslint-plugin-react-hooks@7.1.1 (April 17, 2026)

Note: 7.1.0 accidentally removed the component-hook-factories rule, causing errors for users who referenced it in their ESLint config. This is now fixed.

  • Add deprecated no-op component-hook-factories rule for backwards compatibility. (@​mofeiZ in #36307)

eslint-plugin-react-hooks@7.1.0 (April 16, 2026)

This release adds ESLint v10 support, improves performance by skipping compilation for non-React files, and includes compiler lint improvements including better set-state-in-effect detection, improved ref validation, and more helpful error reporting.

eslint-plugin-react-hooks@5.0.0 (Oct 11, 2024)

This release only contains eslint-plugin-react-hooks. Notably, new violations and support for ESLint v9 were added.

eslint-plugin-react-hooks

  • New Violations: Component names now need to start with an uppercase letter instead of a non-lowercase letter. This means _Button or _component are no longer valid. (@​kassens) in #25162 For example, in
    function _Component() {
      useState()
      ^^^^^^^^ A React Hook "useState" is called in function "_Component" which is neither a Component nor a custom React Hook function.
    }
    _Component should be renamed to Component.
Changelog

Sourced from eslint-plugin-react-hooks's changelog.

7.1.1

Note: 7.1.0 accidentally removed the component-hook-factories rule, causing errors for users who referenced it in their ESLint config. This is now fixed.

  • Add deprecated no-op component-hook-factories rule for backwards compatibility. (@​mofeiZ in #36307)

7.1.0

This release adds ESLint v10 support, improves performance by skipping compilation for non-React files, and includes compiler lint improvements including better set-state-in-effect detection, improved ref validation, and more helpful error reporting.

7.0.1

  • Disallowed passing inline useEffectEvent values as JSX props to guard against accidental propagation. (#34820 by @​jf-eirinha)
  • Switch to export = so eslint-plugin-react-hooks emits correct types for consumers in Node16 ESM projects. (#34949 by @​karlhorky)
  • Tightened the typing of configs.flat so the configs export is always defined. (#34950 by @​poteto)
  • Fix named import runtime errors. (#34951, #34953 by @​karlhorky)

7.0.0

This release slims down presets to just 2 configurations (recommended and recommended-latest), and all compiler rules are enabled by default.

  • Breaking: Removed recommended-latest-legacy and flat/recommended configs. The plugin now provides recommended (legacy and flat configs with all recommended rules), and recommended-latest (legacy and flat configs with all recommended rules plus new bleeding edge experimental compiler rules). (@​poteto in #34757)

6.1.1

Note: 6.1.0 accidentally allowed use of recommended without flat config, causing errors when used with ESLint v9's defineConfig() helper. This has been fixed in 6.1.1.

6.1.0

Note: Version 6.0.0 was mistakenly released and immediately deprecated and untagged on npm. This is the first official 6.x major release and includes breaking changes.

... (truncated)

Commits

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore <dependency name> major version will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
  • @dependabot ignore <dependency name> minor version will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
  • @dependabot ignore <dependency name> will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
  • @dependabot unignore <dependency name> will remove all of the ignore conditions of the specified dependency
  • @dependabot unignore <dependency name> <ignore condition> will remove the ignore condition of the specified dependency and ignore conditions

lxcxjxhx and others added 11 commits July 23, 2026 08:59
Create HOS-Forge extension layer on top of OpenHands base:

- hosforge/ package structure with security extension modules
- Security Agent framework (Base, Supervisor, Audit, Defense agents)
- Security rule engine with OWASP Top 10 coverage
- Knowledge base interface for CVE/CWE RAG integration
- Security Tool base class for external tool adapters
- HOS-Forge branding and project configuration

Architecture:
- All extensions in hosforge/ — zero modifications to openhands/ core
- Extension Layer pattern enables upstream sync compatibility
- Agent system uses composition over inheritance with OpenHands

Co-Authored-By: Claude <noreply@anthropic.com>
Major update: Reality Enforcement + Brand Visual Identity

=== HOS-Silly-Mock (Python Port) ===
- Ported 4-layer detection engine from TypeScript to Python
- Layer 1: Mock Exposure — catch→fallback + unannotated static data detection
- Layer 2: Regex Blocker — detection of regex for structured data parsing
- Layer 3: Reality Binding — source→transform→sink variable trace tracking
- Layer 4: Silent Failure — empty catch + missing error path + no-IO system detection
- Reality Score calculator with weighted layer scoring (0-100)
- Full EnforcementConfig with per-layer options
- CLI-friendly analyze_lines() and enforce_text() interfaces

=== Safe Hyacinth Visual Theme ===
- New CSS design token system (hos-forge-theme.css)
- Color palette: deep purple (#2D1A36), lavender (#8C6E9F), burgundy (#862C3B),
  neon green (#6CCB4C), dark charcoal (#1E1F1D)
- Glass glaze effect with CSS gradients (hos-petal, hos-glaze)
- UI components: hos-btn, hos-card, hos-input, hos-status-dot
- Tailwind config: hyacinth/hos color families
- PNG favicon replacing OpenHands branding
- HOS-Forge branded SVGs preserving hand shape with new colors
- Root meta title/description updated
- i18n branding strings replaced

Architecture:
- All visual changes via CSS variable override — no React component rewrites
- Silly-Mock in hosforge/reality_enforcement/ — zero OpenHands core changes
- Reality Score gates in CI/CD pipeline ready

Co-Authored-By: Claude <noreply@anthropic.com>
=== Attack Agent (Penetration Testing) ===
- Full PTES workflow: Recon → Scanning → Vuln Assessment → Exploit → Report
- 5-phase pentest lifecycle with detailed phase tracking
- Tool adapter system: auto-detects Nmap/Nuclei for scanning
- Authorization gating: exploit phase only runs when authorized
- HTML + Markdown report generation built-in
- Executive summary, risk scoring, dedup, severity classification

=== MCP Security Tool Adapters ===
- NmapTool: port scanning, service detection, OS fingerprinting
- SemgrepTool: SAST scanning, custom rules, SARIF output
- NucleiTool: template-based vulnerability scanning, CVE detection
- BurpTool: Burp Suite REST API integration (scan/proxy/replay/report)
- All tools inherit from BaseSecurityTool with validate() + run()

=== CVE/CWE RAG Knowledge Base ===
- LocalKnowledgeBase: SQLite-backed CVE/CWE storage
- NVD JSON import: batch CVE data ingestion
- CWE JSON import: weakness taxonomy with mitigations
- Keyword search across CVE descriptions and CWE entries
- ExploitDB PoC retrieval interface
- KEV (Known Exploited Vulnerabilities) check
- Vulnerability explanation engine (CVE + CWE + code context)

=== Security HTML Reporter ===
- Fixed-format HTML reports (safe hyacinth design system)
- Pentest/Audit/Scan/Compliance report types
- Risk score visualization with animated bar
- Vulnerability table with severity badges
- Phase execution grid
- Print/PDF optimized (auto light mode on print)
- HTML escaping and responsive layout

Co-Authored-By: Claude <noreply@anthropic.com>
=== 定位升级: 网络安全 → 信息安全全领域 ===
- Web安全 | 数据安全 | 终端安全 | 密码学 | 云安全 | 应用安全 | 移动安全
- CLAUDE.md/README.md 全量更新

=== HOS-Model-Optimizer 集成 ===
- 本地模型微调 (QLoRA/LoRA, 8GB VRAM)
- RAG打标引擎 (SecurityRAGTagger) — 自动提取安全标签+分类
- 批量CVE/CWE知识库打标 (chunking + embedding)
- JSONL训练数据导出 (用于微调安全专用模型)
- 兼容Alpaca/ShareGPT格式

=== HOS MCP Server (关键基础设施) ===
- 基于FastMCP, 支持stdio/SSE双模式传输
- 12个MCP工具端点:
  hos_nmap_scan, hos_semgrep_scan, hos_nuclei_scan,
  hos_burp_scan, hos_cve_query, hos_cwe_query,
  hos_vuln_explain, hos_pentest_run, hos_security_audit,
  hos_fix_vulnerability, hos_report_generate, hos_reality_check
- Claude Desktop/Code / Cursor 可直接调用
- 端口8321 (安全风信子)

=== Security Dashboard ===
- 态势感知仪表盘 (风险评分/漏洞统计/阶段展示)
- 可嵌入HTML/React (iframe/webview)
- 支持从PentestReport自动构建
- 安全风信子设计系统

Co-Authored-By: Claude <noreply@anthropic.com>
=== MCP Discovery Engine ===
- 自动检测: 进程/Docker/端口/环境变量/Claude配置
- 5种发现来源覆盖所有安装场景
- 已知安全MCP注册表 (Burp/SecurityHub/pentestMCP/Ghidra/CVE)
- 服务去重与状态管理

=== MCP Adapters ===
- StdioMCPAdapter: 子进程 stdio 通信 (Claude Desktop模式)
- SSEHttpMCPAdapter: HTTP SSE 通信 (服务模式)
- 统一 connect/call_tool/disconnect 生命周期

=== 具体连接器 ===
- BurpConnector: 桥接 PortSwigger 官方 MCP
  * get_proxy_history / analyze_request / start_scan / repeater
- SecurityHubConnector: 桥接 FuzzingLabs mcp-security-hub
  * 14个子工具: nmap/nuclei/sqlmap/ghidra/cve_search/subfinder/...

=== MCP Orchestrator ===
- Pipeline编排: 顺序执行多步骤安全测试 (依赖感知)
- Parallel执行: 并行运行独立安全任务
- 智能路由: 自动选择 HOS-Forge / Burp / SecurityHub
- 3个预定义模板:
  * quick_recon: 快速侦察 (nmap+subfinder+whois)
  * web_audit: Web审计 (nmap+nuclei+burp+sqlmap)
  * full_pentest: 完整渗透测试 (全流程PTES)

=== MCP工具注册 (新增7个桥接+编排端点) ===
- hos_mcp_discover       — 发现外部MCP服务
- hos_mcp_connect        — 连接外部MCP服务
- hos_burp_bridge         — Burp桥接调用
- hos_security_hub_bridge — SecurityHub桥接
- hos_workflow_templates  — 工作流模板列表
- hos_workflow_run        — 执行安全工作流
- hos_parallel_scan       — 并行安全扫描

架构:
  AI Agent → HOS MCP Server → Bridge/Orchestrator → 三方MCP服务
                           ↕
                    HOS-Forge 原生工具

Co-Authored-By: Claude <noreply@anthropic.com>
=== Removed ===
- Deleted hosforge/reality_enforcement/ (hardcoded HOS-Silly-Mock port)
- Added .agents/skills/hos-silly-mock/SKILL.md (remote skill reference only)
- Removed hos_reality_check MCP tool that depended on deleted module

=== Security Dashboard (React-ready) ===
- MCPTopologyWidget: service topology visualization
- VulnStatWidget: vulnerability statistics cards
- RiskScoreWidget: risk score bar
- PentestResultWidget: pentest phase grid
- RecentFindingsWidget: recent findings list
- Dashboard API: FastAPI router at /api/hos/dashboard/*

=== CI/CD Quality Gates ===
- GitHub Actions: hos-security-scan.yml (4 jobs)
- Pre-commit hooks: .pre-commit-config.yaml
- CLI: python -m hosforge.ci {check-reality|check-sast|install-hook|ci-scan}
- Score threshold: 50 (blocks build below)

Co-Authored-By: Claude <noreply@anthropic.com>
=== 报告生成架构升级 ===
之前: Python f-string 拼接 HTML (含大量硬编码样式和数据)
之后: React CDN 单页模板 (零构建工具, 双击即预览)

=== 核心变更 ===
- 移除 Python 拼接 HTML 方式的所有硬编码数据
- 新增 CDN React 模板: react_report_template.html
  * React 18 + Babel Standalone (CDN, 无需 npm)
  * Chart.js 分布图 + highlight.js 代码高亮
  * 漏洞生命周期管理 (待修复/已修复/忽略/误报)
  * 多级筛选 (严重级/类别/关键词)
  * 分页加载 (每页20条)
  * 一键导出 CSV
- window.__HOS_REPORT_DATA__ 数据注入机制
- 无数据时显示空状态 + 注入指南
- 所有样式使用 CSS 变量 (安全风信子色板)

=== Python 适配 ===
- SecurityHtmlReporter.generate() 读取模板 + 注入真实数据
- SecurityHtmlReporter.save() 直接输出 .html
- ReportMetadata 导入修复
- 零模板内 mock/vulns 计数 bug 修复

Co-Authored-By: Claude <noreply@anthropic.com>
=== 打包发布 ===
- 更新 pyproject.toml: 添加 [project.scripts] CLI 入口点
  * hos-mcp — MCP Server (端口 8321)
  * hos-ci — CI/CD 安全检查
  * hos-report — 安全报告生成
  * hos-dashboard — Dashboard API 服务
- 新增 setup.py pip 兼容入口
- 更新 MANIFEST.in: 包含模板文件
- 新增 RELEASE.md 版本发布文档
- 修复若干 import 错误

=== 验证 ===
- 全部 8 个 hosforge 子模块导入通过
- 4 个 CLI 入口点均可正常调用
- MIT 开源协议

Co-Authored-By: Claude <noreply@anthropic.com>
=== 部署方式 (对标 openhands.dev) ===

1) pip install (源码安装)
   pip install -e .
   python -m hosforge mcp

2) Docker (容器化部署)
   docker compose -f docker-compose.hos.yml build
   docker compose -f docker-compose.hos.yml up hos-forge-mcp

3) Makefile (开发/生产)
   make hos-mcp         # 启动 MCP Server
   make hos-docker-run  # Docker 运行
   make hos-ci          # CI 安全检查

4) CLI 入口 (4个命令)
   hos-mcp           MCP Server (:8321)
   hos-ci            CI/CD 安全检查
   hos-report        安全报告生成
   hos-dashboard     Dashboard API

=== 修复 ===
- FastMCP 兼容: 移除 emoji/description 中的非 ASCII
- 移除 **kwargs 工具函数 (FastMCP 不支持)
- 添加 python -m hosforge 主入口
- 添加 Dockerfile.hos + docker-compose.hos.yml
- 修复 .dockerignore 排除 .agents 目录的问题
- 验证: 19 个 MCP 工具全部注册通过

Co-Authored-By: Claude <noreply@anthropic.com>
Bumps the eslint group in /frontend with 7 updates:

| Package | From | To |
| --- | --- | --- |
| [@tanstack/eslint-plugin-query](https://github.com/TanStack/query/tree/HEAD/packages/eslint-plugin-query) | `5.100.10` | `5.101.2` |
| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `7.18.0` | `8.64.0` |
| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `7.18.0` | `8.64.0` |
| [eslint](https://github.com/eslint/eslint) | `8.57.1` | `10.7.0` |
| [eslint-plugin-i18next](https://github.com/edvardchen/eslint-plugin-i18next) | `6.1.4` | `6.1.5` |
| [eslint-plugin-prettier](https://github.com/prettier/eslint-plugin-prettier) | `5.5.5` | `5.5.6` |
| [eslint-plugin-react-hooks](https://github.com/facebook/react/tree/HEAD/packages/eslint-plugin-react-hooks) | `4.6.2` | `7.1.1` |


Updates `@tanstack/eslint-plugin-query` from 5.100.10 to 5.101.2
- [Release notes](https://github.com/TanStack/query/releases)
- [Changelog](https://github.com/TanStack/query/blob/main/packages/eslint-plugin-query/CHANGELOG.md)
- [Commits](https://github.com/TanStack/query/commits/@tanstack/eslint-plugin-query@5.101.2/packages/eslint-plugin-query)

Updates `@typescript-eslint/eslint-plugin` from 7.18.0 to 8.64.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.64.0/packages/eslint-plugin)

Updates `@typescript-eslint/parser` from 7.18.0 to 8.64.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.64.0/packages/parser)

Updates `eslint` from 8.57.1 to 10.7.0
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](eslint/eslint@v8.57.1...v10.7.0)

Updates `eslint-plugin-i18next` from 6.1.4 to 6.1.5
- [Changelog](https://github.com/edvardchen/eslint-plugin-i18next/blob/main/CHANGELOG.md)
- [Commits](edvardchen/eslint-plugin-i18next@v6.1.4...v6.1.5)

Updates `eslint-plugin-prettier` from 5.5.5 to 5.5.6
- [Release notes](https://github.com/prettier/eslint-plugin-prettier/releases)
- [Changelog](https://github.com/prettier/eslint-plugin-prettier/blob/main/CHANGELOG.md)
- [Commits](prettier/eslint-plugin-prettier@v5.5.5...v5.5.6)

Updates `eslint-plugin-react-hooks` from 4.6.2 to 7.1.1
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/react/react/blob/main/packages/eslint-plugin-react-hooks/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/commits/eslint-plugin-react-hooks@7.1.1/packages/eslint-plugin-react-hooks)

---
updated-dependencies:
- dependency-name: "@tanstack/eslint-plugin-query"
  dependency-version: 5.101.2
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: eslint
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-version: 8.64.0
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: eslint
- dependency-name: "@typescript-eslint/parser"
  dependency-version: 8.64.0
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: eslint
- dependency-name: eslint
  dependency-version: 10.7.0
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: eslint
- dependency-name: eslint-plugin-i18next
  dependency-version: 6.1.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: eslint
- dependency-name: eslint-plugin-prettier
  dependency-version: 5.5.6
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: eslint
- dependency-name: eslint-plugin-react-hooks
  dependency-version: 7.1.1
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: eslint
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code labels Jul 23, 2026
@github-actions github-actions Bot added the type: build Build system or dependencies label Jul 23, 2026
@github-actions

Copy link
Copy Markdown
Contributor

👋 Thanks for opening this PR!

Before review, please add a short note in the HUMAN: section at the top of the PR description telling maintainers, in your own words, what this PR does.

Please put that note between HUMAN: and the - [ ] A human has tested these changes. checkbox.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code type: build Build system or dependencies

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant