Skip to content

fix(security): harden system and temporary tool secrets#7298

Open
FinleyGe wants to merge 3 commits into
labring:mainfrom
FinleyGe:codex/fix-system-tool-secret-security
Open

fix(security): harden system and temporary tool secrets#7298
FinleyGe wants to merge 3 commits into
labring:mainfrom
FinleyGe:codex/fix-system-tool-secret-security

Conversation

@FinleyGe

Copy link
Copy Markdown
Collaborator

Summary

  • synchronize toolset system secrets from parent records and use the parent as the runtime authority
  • clear temporary secret values when switching to system/team credentials, with server-side normalization
  • keep production system secrets out of debug list, detail, and runtime flows
  • add regression coverage for parent-child authority, debug fail-closed behavior, and app secret normalization

Validation

  • 90 targeted tests passed across app, service, and global workspaces
  • Prettier and git diff --check passed
  • app typecheck is limited by the existing missing asset src/pageComponents/dashboard/skill/detail/Content.tsx:11

Scope

The system-secret plaintext-at-rest design remains out of scope for this PR.

@github-actions

github-actions Bot commented Jul 16, 2026

Copy link
Copy Markdown

Coverage Report

Status Category Percentage Covered / Total
🔵 Lines 18.42% 1632 / 8859
🔵 Statements 18.41% 1713 / 9304
🔵 Functions 16.2% 342 / 2110
🔵 Branches 15.14% 761 / 5026
File CoverageNo changed files found.
Generated in workflow #1491 for commit 6fb5061 by the Vitest Coverage Report Action

@github-actions

github-actions Bot commented Jul 16, 2026

Copy link
Copy Markdown

Admin Preview Image Ready!

ghcr.io/labring/fastgpt-pr:admin_6fb5061ae68d33bd2193176f69a5d300cc4e747f

🕒 Time: 2026-07-16 20:56:40 (UTC+8)

@github-actions

github-actions Bot commented Jul 16, 2026

Copy link
Copy Markdown

Build Successful - Preview fastgpt Image for this PR:

ghcr.io/labring/fastgpt-pr:fastgpt_6fb5061ae68d33bd2193176f69a5d300cc4e747f

🕒 Time: 2026-07-16 21:00:17 (UTC+8)

@FinleyGe
FinleyGe force-pushed the codex/fix-system-tool-secret-security branch from 7ea803c to e838c6e Compare July 16, 2026 08:58
FinleyGe added 3 commits July 16, 2026 20:46
Synchronize toolset secrets from parent records, clear temporary values when switching secret sources, and keep production system secrets out of debug tool flows.

Add regression coverage for parent-child authority, debug fail-closed behavior, and app secret normalization.
Store plugin system secrets as AES-GCM wrappers, mask configured values in administrator responses, and keep legacy plaintext and inputListVal records readable during migration. Update the administrator form to edit write-only markers without sending stored ciphertext back to the server.
Keep system secret values visible while editing and continue to replace saved values with the write-only configured marker after reload.
@FinleyGe
FinleyGe force-pushed the codex/fix-system-tool-secret-security branch from e838c6e to 6fb5061 Compare July 16, 2026 12:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant