Skip to content

feat(chatarchive): add symlink loop detection in file discovery #87

@CodeMonkeyCybersecurity

Description

Problem

filepath.WalkDir follows symlinks. A circular symlink tree would cause infinite recursion during chat transcript discovery.

Proposed Fix

Track visited inodes (dev+ino pair) during walk. Skip directories already visited.
On Windows, use file ID from os.SameFile().

Priority

P3 — unlikely in practice for typical home directories, but a robustness improvement.

Refs: pkg/chatarchive/discover.go DiscoverTranscriptFiles()

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions