picoclaw/pkg
uiyzzi 16d23d8cdc feat(security): add sensitive data filtering for tool results sent to
LLM

Prevent LLM from seeing its own credentials (API keys, tokens, secrets)
by filtering sensitive values from tool call results before sending to
the
model. Values are collected from .security.yml and replaced with
[FILTERED] using an efficient strings.Replacer (O(n+m)).

- Add FilterSensitiveData and FilterMinLength to ToolsConfig
- Implement SensitiveDataReplacer() with sync.Once caching in
  SecurityConfig
- Use reflection to collect all sensitive values (Model API keys,
  channel
  tokens, web tool API keys, skills tokens)
- Apply filtering in agent loop at 4 tool result locations
- Add comprehensive tests covering all token types
2026-03-23 20:55:41 +08:00
..
agent feat(security): add sensitive data filtering for tool results sent to 2026-03-23 20:55:41 +08:00
auth Merge branch 'main' into version 2026-03-19 18:04:58 +08:00
bus feat(telegram): stream LLM responses via sendMessageDraft (#1101) 2026-03-20 21:04:14 +08:00
channels Merge branch 'main' into version 2026-03-23 15:00:18 +08:00
commands Merge branch 'main' into feat/skill-channel-commands 2026-03-22 20:51:16 +01:00
config feat(security): add sensitive data filtering for tool results sent to 2026-03-23 20:55:41 +08:00
constants refactor: replace bool map with set-style map for internal channels (#472) 2026-02-19 11:48:17 +01:00
credential refactor: centralize environment variable key constants (#1730) 2026-03-18 18:03:24 +08:00
cron feat(cron): refactor scheduler to event-driven model and add unit tests (#1313) 2026-03-18 00:02:51 +08:00
devices refactor: cleanup dead code and turn on dead code detection in CI (#515) 2026-02-24 21:52:25 +08:00
fileutil refactor(pkg): move atomic file write to dedicated fileutil package 2026-02-24 23:57:13 +08:00
gateway implement panic log for gateway and launcher 2026-03-23 15:40:30 +08:00
health feat: add /reload to gateway api and command (#1725) 2026-03-19 13:42:36 +08:00
heartbeat fix(heartbeat): ignore untouched default template 2026-03-15 21:58:21 +08:00
identity fix(identity): support negative integers in isNumeric for Telegram group IDs 2026-03-21 17:09:02 +07:00
logger feat(security): add sensitive data filtering for tool results sent to 2026-03-23 20:55:41 +08:00
mcp Feat/add tool enable or disable configuration (#1071) 2026-03-05 14:53:26 +08:00
media Fix 1886 media cleanup policy (#1887) 2026-03-23 12:13:59 +08:00
memory refactor Config to add Version and migratable 2026-03-12 13:52:55 +08:00
migrate refactor: seperate security.yml for store keys 2026-03-22 01:55:00 +08:00
providers fix(provider): deduplicate tool results and merge consecutive tool_result blocks for Anthropic API (#1793) 2026-03-23 17:24:46 +08:00
routing refactor Config to add Version and migratable 2026-03-12 13:52:55 +08:00
session refactor Config to add Version and migratable 2026-03-12 13:52:55 +08:00
skills enhance skill installer (#1252) 2026-03-13 14:04:02 +08:00
state refactor Config to add Version and migratable 2026-03-12 13:52:55 +08:00
tools Fix 1886 media cleanup policy (#1887) 2026-03-23 12:13:59 +08:00
utils Merge pull request #1891 from RussellLuo/audio-transcription 2026-03-23 00:23:30 +01:00
voice Merge branch 'main' into version 2026-03-23 10:54:08 +08:00
env.go Merge branch 'main' into version 2026-03-19 18:04:58 +08:00