T07 · Tool Hijacking and Spoofing
- Location
property_advisor/gt_client.py:27- Finding
Untrusted upstream Skill discovery executes spoofed workspace code during capability probing
- Content
View full analysis
list[Path]: cwd = Path.cwd() codex_home = Path(env.get("CODEX_HOME") or (Path.home() / ".codex")).expanduser() roots: list[Path] = [] for raw_value in ( custom_root, env.get("GT_CORE_SKILL_ROOT"), env.get("PROPERTY_GT_SKILL_ROOT"), cwd / ".agents" / "skills" / "gt-core-skill", cwd / ".agents" / "skills" / "gumtree-skills", cwd / "skills" / "gt-core-skill", cwd / "skills" / "gumtree-skills", codex_home / "skills" / "gt-core-skill", codex_home / "skills" / "gumtree-skills", Path.home() / ".codex" / "skills" / "gt-core-skill", Path.home() / ".codex" / "skills" / "gumtree-skills", "/Users/a58/Desktop/gt-core-skill/gt-core-skill-cli/gt-core-skill/gumtree-skills", str(Path.home() / "Desktop" / "gt-core-skill" / "gt-core-skill-cli" / "gt-core-skill" / "gumtree-skills"), "/Users/a58/Desktop/gt-core-skill/gumtree-skills", str(Path.home() / "Desktop" / "gt-core-skill" / "gumtree-skills"), "/Users/a58/Desktop/gt-core-skill", str(Path.home() / "Desktop" / "gt-core-skill"), ): if not raw_value: continue candidate = Path(raw_value).expanduser() for expanded in ( candidate, candidate / "gumtree-skills", candidate / "gt-core-skill-cli" / "gt-core-skill" / "gumtree-skills", ): if expanded not in roots: roots.append(expanded) return roots def resolve_gt_skill_root( custom_root: str | Path | None = None, env: dict[str, str] | None = None, runner: Runner | None = None, ) -> tuple[Path, str]: env ...[truncated 3213 chars]- Remediation
View remediation
