{"id":51200714,"url":"https://github.com/projectdiscovery/pd-agent","last_synced_at":"2026-06-28T00:03:04.856Z","repository":{"id":325143706,"uuid":"870647242","full_name":"projectdiscovery/pd-agent","owner":"projectdiscovery","description":"ProjectDiscovery Cloud - Agent","archived":false,"fork":false,"pushed_at":"2026-06-01T09:36:55.000Z","size":589,"stargazers_count":9,"open_issues_count":3,"forks_count":1,"subscribers_count":7,"default_branch":"main","last_synced_at":"2026-06-01T10:25:15.560Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/projectdiscovery.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-10-10T12:20:50.000Z","updated_at":"2026-06-01T08:56:19.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/projectdiscovery/pd-agent","commit_stats":null,"previous_names":["projectdiscovery/pd-agent"],"tags_count":12,"template":false,"template_full_name":null,"purl":"pkg:github/projectdiscovery/pd-agent","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/projectdiscovery%2Fpd-agent","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/projectdiscovery%2Fpd-agent/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/projectdiscovery%2Fpd-agent/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/projectdiscovery%2Fpd-agent/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/projectdiscovery","download_url":"https://codeload.github.com/projectdiscovery/pd-agent/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/projectdiscovery%2Fpd-agent/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34872286,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-27T02:00:06.362Z","response_time":126,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-28T00:03:04.213Z","updated_at":"2026-06-28T00:03:04.848Z","avatar_url":"https://github.com/projectdiscovery.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch4 align=\"center\"\u003eProjectDiscovery Cloud Platform — Agent\u003c/h4\u003e\n\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://opensource.org/licenses/MIT\"\u003e\u003cimg src=\"https://img.shields.io/badge/license-MIT-_red.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://goreportcard.com/badge/github.com/projectdiscovery/pd-agent\"\u003e\u003cimg src=\"https://goreportcard.com/badge/github.com/projectdiscovery/pd-agent\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/projectdiscovery/pd-agent/releases\"\u003e\u003cimg src=\"https://img.shields.io/github/release/projectdiscovery/pd-agent\"\u003e\u003c/a\u003e\n\u003ca href=\"https://discord.gg/projectdiscovery\"\u003e\u003cimg src=\"https://img.shields.io/discord/695645237418131507.svg?logo=discord\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"#what-it-does\"\u003eWhat it does\u003c/a\u003e •\n  \u003ca href=\"#quick-start\"\u003eQuick Start\u003c/a\u003e •\n  \u003ca href=\"docs/install.md\"\u003eInstall\u003c/a\u003e •\n  \u003ca href=\"docs/configuration.md\"\u003eConfiguration\u003c/a\u003e •\n  \u003ca href=\"docs/scaling.md\"\u003eScaling\u003c/a\u003e\n\u003c/p\u003e\n\n## What it does\n\n`pd-agent` lets you scan your **own** internal networks from the [ProjectDiscovery Cloud Platform](https://cloud.projectdiscovery.io).\n\nInstall the agent on a machine inside the network you want to scan — a VM, a server, a workstation, a Kubernetes pod — and connect it to your PDCP team. From the cloud UI you can then launch scans against private IPs, internal hostnames, VPC ranges, or Kubernetes clusters, and the agent will run them locally and stream results back. Nothing in your network needs to be exposed publicly.\n\nNuclei, httpx, naabu, dnsx, and tlsx are all built into the agent — there's nothing else to install on the host.\n\n## Quick Start\n\n1. **Get credentials.** Sign in at \u003chttps://cloud.projectdiscovery.io\u003e, copy your **API key** and **team ID**.\n2. **Run the agent** on the machine that has access to the network you want to scan:\n\n   ```bash\n   docker run -d --name pd-agent \\\n     --network host --cap-add NET_RAW --cap-add NET_ADMIN \\\n     -e PDCP_API_KEY=your-api-key \\\n     -e PDCP_TEAM_ID=your-team-id \\\n     ghcr.io/projectdiscovery/pd-agent:latest \\\n     -agent-network prod-vpc\n   ```\n\n3. **Verify.** Open the cloud UI's **Agents** tab — the agent appears within a few seconds with its discovered subnets.\n4. **Scan.** Launch a scan from the UI and route it to your agent's network (`prod-vpc` above). The agent runs it locally and streams results back.\n\nOther install paths (Kubernetes, native binary, systemd, launchd, Windows service) → [docs/install.md](docs/install.md).\n\n## What you can do with it\n\n- Reach **private targets** the cloud platform can't see directly — `10.0.0.0/8`, `192.168.0.0/16`, internal DNS, VPN-only services.\n- Scan a **Kubernetes cluster from inside**. The agent auto-discovers node IPs, pod CIDRs, and service CIDRs and reports them to the platform.\n- Route scans to **specific sites** by assigning each agent a network name (`-agent-network`) — e.g. one or more agents per data centre, region, or VPC.\n- Run **everything PDCP can run in the cloud**, against internal assets — vulnerability scans (nuclei), port discovery (naabu), HTTP probing (httpx), DNS enumeration (dnsx), TLS inspection (tlsx).\n\n## Documentation\n\n| Topic | When to read |\n| --- | --- |\n| [docs/install.md](docs/install.md) | First-time install on Linux, macOS, Windows, Docker, or Kubernetes. |\n| [docs/configuration.md](docs/configuration.md) | Every env var and CLI flag the agent accepts, and what they control. |\n| [docs/scaling.md](docs/scaling.md) | When to add more agents and which metric to drive autoscaling from. |\n\n## License\n\nDistributed under the [MIT License](LICENSE.md). Built with ❤️ by [ProjectDiscovery](https://projectdiscovery.io).\n\n\u003ca href=\"https://discord.gg/projectdiscovery\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/projectdiscovery/nuclei-burp-plugin/main/static/join-discord.png\" width=\"280\" alt=\"Join Discord\"\u003e\u003c/a\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprojectdiscovery%2Fpd-agent","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprojectdiscovery%2Fpd-agent","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprojectdiscovery%2Fpd-agent/lists"}