{"data":{"slug":"greydgl-pentestgpt","name":"PentestGPT","tagline":"Automated Penetration Testing Agentic Framework Powered by Large Language Models","github_url":"https://github.com/GreyDGL/PentestGPT","owner":"GreyDGL","repo":"PentestGPT","owner_avatar_url":"https://avatars.githubusercontent.com/u/78410652?v=4","primary_language":"Python","stars":14900,"forks":2604,"topics":["large-language-models","llm","penetration-testing","python"],"archived":false,"github_pushed_at":"2026-07-14T12:58:31+00:00","maintenance_label":"Steady","stars_delta_30d":597,"url":"https://www.graphcanon.com/tools/greydgl-pentestgpt","markdown_url":"https://www.graphcanon.com/tools/greydgl-pentestgpt.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/greydgl-pentestgpt","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=greydgl-pentestgpt","description":"Automated Penetration Testing Agentic Framework Powered by Large Language Models","homepage_url":null,"license":"MIT","open_issues":65,"watchers":356,"ai_summary":"PentestGPT is a Python-based framework that utilizes large language models to automate parts of the penetration testing process.","readme_excerpt":"### Installation\n\n\n[Watch on YouTube](https://www.youtube.com/watch?v=RUNmoXqBwVg)\n\n---\n\n### Installation\n\n```bash\ngit clone https://github.com/GreyDGL/PentestGPT.git\ncd PentestGPT\nmake install    # runs uv sync\n```\n\n---\n\n### Run in Docker (install once, log in once)\n\nA self-contained image bundles the tool + the Claude Code **and** Codex CLIs. You log in **once** and\nthe sessions persist in named volumes — no re-login on later runs.\n\n```bash\nmake docker-build        # build the tool image\nmake docker-login        # ONE-TIME, idempotent: checks logins, logs in only what's missing\nmake docker-auth-status  # check both are logged in (ROUNDTRIP=1 for a live 1-token check)\n\n---\n\n## License\n\nDistributed under the MIT License. See `LICENSE.md` for more information.\n\n**Disclaimer**: This tool is for educational purposes and authorized security testing only. The authors do not condone any illegal use. Use at your own risk.\n\n---","github_created_at":"2023-02-27T06:01:53+00:00","created_at":"2026-07-07T17:33:41.889242+00:00","updated_at":"2026-08-17T06:01:41.982939+00:00","categories":[{"slug":"ai-agents","name":"AI Agents","url":"https://www.graphcanon.com/categories/ai-agents","markdown_url":"https://www.graphcanon.com/categories/ai-agents.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/ai-agents"},{"slug":"llm-frameworks","name":"LLM Frameworks","url":"https://www.graphcanon.com/categories/llm-frameworks","markdown_url":"https://www.graphcanon.com/categories/llm-frameworks.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/llm-frameworks"}],"tags":[{"slug":"large-language-models","name":"large language models"},{"slug":"llm","name":"llm"},{"slug":"penetration-testing","name":"penetration-testing"},{"slug":"python","name":"python"}],"trust":{"provenance":{"is_fork":false,"github_id":607013954,"owner_type":"User","methodology":"github_public_v1","parent_repo":null,"near_duplicate_slugs":[]},"computed_at":"2026-08-17T06:01:41.158Z","maintenance":{"label":"Steady","score":60,"methodology":"github_public_v1","releases_90d":0,"days_since_push":33,"last_release_at":"2025-12-24T17:25:30Z","stars_delta_30d":597,"open_issues_delta_30d":3},"security_summary":{"status":"no_lockfile","scanner":null,"low_count":0,"high_count":0,"last_scan_at":"2026-07-11T11:01:47.674Z","medium_count":0,"scan_profile":"none","critical_count":0}},"capability_facts":{"scan":{"source":"repo_scan","observed_at":"2026-08-17T06:01:41.633Z"},"deploy":{"source":"dockerfile:Dockerfile","self_host":true,"observed_at":"2026-08-17T06:01:41.633Z","managed_saas":false},"has_cli":{"value":true,"source":"pyproject.toml:[project.scripts]","observed_at":"2026-08-17T06:01:41.633Z"},"languages":{"value":["python"],"source":"github.language+pyproject.toml","observed_at":"2026-08-17T06:01:41.633Z"},"has_docker":{"value":true,"source":"dockerfile:Dockerfile","observed_at":"2026-08-17T06:01:41.633Z"},"license_spdx":{"value":"MIT","source":"github.license","observed_at":"2026-08-17T06:01:41.633Z"}},"decision_facts":{"hosting":null,"pricing":null,"requirements":{"notes":["- Python environment","- Access to large language models as stipulated by PentestGPT's operational requirements"]},"constraints":null,"when_to_use":["- When you need an automated framework for certain tasks within penetration testing that can be handled by large language models.","- If your organization is interested in exploring how LLMs can assist with identifying vulnerabilities and conducting initial security scans."],"when_not_to_use":["- Avoid using PentestGPT if manual, nuanced analysis is required, as its reliance on LLM might not cover all complexities of a security assessment.","- If your organization does not have the legal authority to conduct penetration testing on specific targets, as indicated by its disclaimer for 'educational purposes and authorized security testing'."],"source":"enrich:decision_facts","observed_at":"2026-07-11T15:09:26.798Z"},"constraint_facets":null,"decision_summary":[{"label":"Requirements","value":"- Python environment; - Access to large language models as stipulated by PentestGPT's operational requirements"},{"label":"Adopt for","value":"PentestGPT specializes in automating parts of the penetration testing process through large language models, offering a unique approach to AI-assisted security assessments."},{"label":"License detail","value":"MIT License, which allows for free use, modification, and distribution provided that attribution is maintained and any warranties or liabilities are disclaimed."}]}}