Skip to content

feat: wire RootConfig.git_clone to GitCloneTool instantiation #507

@Aureliolo

Description

@Aureliolo

Summary

RootConfig now carries a git_clone: GitCloneNetworkPolicy field and GitCloneTool.__init__ accepts a network_policy parameter, but the engine layer does not pass the config-supplied policy when instantiating GitCloneTool. The tool always uses the default policy (GitCloneNetworkPolicy()), making the YAML-configured hostname_allowlist non-functional.

Context

Added in #505 (SSRF prevention for git clone URLs). The tools layer is complete — this is engine-layer wiring.

Scope

  • In whatever engine/workspace component instantiates git tools, pass config.git_clone as the network_policy argument when constructing GitCloneTool
  • Add integration test verifying the config flows through

Design Spec Reference

  • §11.1.1 Built-in git tools

Notes

The default policy is maximally restrictive (block all private IPs, empty allowlist), so this is not a security regression. It means the allowlist cannot be used until this wiring is added.

Metadata

Metadata

Assignees

No one assigned

    Labels

    prio:mediumShould do, but not blockingscope:smallLess than 1 day of workspec:toolsDESIGN_SPEC Section 11 - Tool & Capability Systemtype:featureNew feature implementation

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions