AX Agent 메모리 구조 4차 강화: 외부 include 보안 정책과 설정 추가
Some checks failed
Release Gate / gate (push) Has been cancelled

- 메모리 내용 관리는 /memory 도구로 유지하고, 외부 include 허용 여부만 설정에서 제어하도록 구조를 분리함

- AllowExternalMemoryIncludes 설정과 UI 토글을 추가해 홈 경로/절대 경로/프로젝트 밖 상대 include를 기본 차단하고 필요 시에만 허용하도록 정리함

- AgentMemoryService가 include 해석 시 프로젝트 경계와 설정값을 함께 검사해 claw-code와 유사한 안전 정책을 따르도록 보강함

- 검증: dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\ (경고 0 / 오류 0)
This commit is contained in:
2026-04-07 00:02:20 +09:00
parent ae765fb543
commit 18551a0aea
6 changed files with 102 additions and 18 deletions

View File

@@ -428,6 +428,13 @@ public class SettingsViewModel : INotifyPropertyChanged
set { _maxMemoryEntries = value; OnPropertyChanged(); }
}
private bool _allowExternalMemoryIncludes;
public bool AllowExternalMemoryIncludes
{
get => _allowExternalMemoryIncludes;
set { _allowExternalMemoryIncludes = value; OnPropertyChanged(); }
}
// ── 이미지 입력 (멀티모달) ──
private bool _enableImageInput = true;
public bool EnableImageInput
@@ -1152,6 +1159,7 @@ public class SettingsViewModel : INotifyPropertyChanged
_enableAgentMemory = llm.EnableAgentMemory;
_enableProjectRules = llm.EnableProjectRules;
_maxMemoryEntries = llm.MaxMemoryEntries;
_allowExternalMemoryIncludes = llm.AllowExternalMemoryIncludes;
_enableImageInput = llm.EnableImageInput;
_maxImageSizeKb = llm.MaxImageSizeKb > 0 ? llm.MaxImageSizeKb : 5120;
_enableToolHooks = llm.EnableToolHooks;
@@ -1594,6 +1602,7 @@ public class SettingsViewModel : INotifyPropertyChanged
s.Llm.EnableAgentMemory = _enableAgentMemory;
s.Llm.EnableProjectRules = _enableProjectRules;
s.Llm.MaxMemoryEntries = _maxMemoryEntries;
s.Llm.AllowExternalMemoryIncludes = _allowExternalMemoryIncludes;
s.Llm.EnableImageInput = _enableImageInput;
s.Llm.MaxImageSizeKb = _maxImageSizeKb;
s.Llm.EnableToolHooks = _enableToolHooks;