T05 · Unauthorized Access and Privilege Escalation
- Location
scripts/run.py:27- Finding
Arbitrary Local Directory Reconnaissance Beyond the Declared Bookmark Scope
- Content
View full analysis
= limit: break if path.is_file(): if path.suffix.lower() in {".md",".txt",".json",".yaml",".yml",".py",".js",".ts",".csv",".tsv",".sh"}: results.append(path) return results ``` The collected files are subsequently processed and disclosed in the generated report: ```python def directory_report(spec: dict, root: Path, limit: int) -> str: files = list_text_files(root, limit=limit) ext_counter = Counter(p.suffix.lower() or "" for p in files) headings = [] for p in files[: min(10, len(files))]: if p.suffix.lower() == ".md": text = read_text(p) for line in text.splitlines(): if line.startswith("#"): headings.append((p.name, line.strip())) if len(headings) >= 12: break ``` The input path is accepted directly from the caller without confinement to an approved workspace or bookmark export: ```python spec = load_spec() source = Path(args.input).expanduser() if source.exists(): report = build_report(spec, source, args.limit) ``` ### Technical Analysis The Skill is documented as a local bookmark deduplication and classification tool, but its configured `directory_audit` mode accepts any filesystem directory readable by the current process. `Path.rglob("*")` recursively traverses that directory and collects Markdown, text, configuration, source-code, tabular, and shell-script files. Most of these formats are unrelated to exported bookmarks. The impleme ...[truncated 2483 chars]- Remediation
View remediation
