{"id":50333426,"url":"https://github.com/fdsimoes-git/pen-tester-agent","last_synced_at":"2026-05-29T11:30:44.519Z","repository":{"id":336770439,"uuid":"1151061950","full_name":"fdsimoes-git/pen-tester-agent","owner":"fdsimoes-git","description":"A penetration testing agent powered by local LLMs via Ollama","archived":false,"fork":false,"pushed_at":"2026-04-07T18:21:54.000Z","size":5294,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-07T20:13:35.171Z","etag":null,"topics":["cybersecurity","red-team"],"latest_commit_sha":null,"homepage":"","language":"Python","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/fdsimoes-git.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2026-02-06T02:22:49.000Z","updated_at":"2026-04-07T18:22:27.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/fdsimoes-git/pen-tester-agent","commit_stats":null,"previous_names":["fdsimoes-git/sec-agent","fdsimoes-git/pen-tester-agent"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/fdsimoes-git/pen-tester-agent","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fdsimoes-git%2Fpen-tester-agent","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fdsimoes-git%2Fpen-tester-agent/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fdsimoes-git%2Fpen-tester-agent/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fdsimoes-git%2Fpen-tester-agent/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fdsimoes-git","download_url":"https://codeload.github.com/fdsimoes-git/pen-tester-agent/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fdsimoes-git%2Fpen-tester-agent/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33650712,"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-05-29T02:00:06.066Z","response_time":107,"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":["cybersecurity","red-team"],"created_at":"2026-05-29T11:30:42.657Z","updated_at":"2026-05-29T11:30:44.512Z","avatar_url":"https://github.com/fdsimoes-git.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"assets/pen-tester-pic.png\" alt=\"Pen-Tester Agent\" width=\"400\"\u003e\n\u003c/p\u003e\n\n# pen-tester-agent\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n\nA penetration testing agent powered by local LLMs via [Ollama](https://ollama.com).\n\n`pen-tester-agent` gives a locally-running language model the ability to propose and execute shell commands on your machine — with your approval on every step. It's designed for structured penetration testing workflows across six key domains.\n\n## Penetration Testing Domains\n\n1. **OSINT** — Open source intelligence gathering (WHOIS, DNS, subdomain enumeration, email harvesting)\n2. **Enumeration** — Service enumeration, directory brute-forcing, SMB/LDAP/SNMP enumeration\n3. **OS/Application Identification** — Version detection, OS fingerprinting, web technology fingerprinting\n4. **CVE/Vulnerability Search** — Looking up known CVEs, searching exploit databases\n5. **Vulnerability Testing** — Active testing for SQL injection, XSS, misconfigurations, default credentials\n6. **Documentation** — Writing penetration test reports, documenting findings, saving evidence\n\n## Installation\n\n```bash\n# From PyPI\npip install pen-tester-agent\n\n# Or with pipx (isolated install)\npipx install pen-tester-agent\n\n# Or directly from GitHub\npip install git+https://github.com/fdsimoes-git/pen-tester-agent.git\n```\n\n## Prerequisites\n\n- [Ollama](https://ollama.com) installed and running\n- A model pulled (default: `qwen2.5-coder:3b`):\n  ```\n  ollama pull qwen2.5-coder:3b\n  ```\n\n## Usage\n\n```bash\n# Interactive mode — prompts you for a task\npen-tester-agent\n\n# Pass a task directly\npen-tester-agent \"scan open ports on 192.168.1.1\"\n\n# Use a different model\npen-tester-agent --model llama3.1:8b \"review nginx access.log for suspicious requests\"\n\n# Limit iterations\npen-tester-agent --max-iterations 5 \"enumerate subdomains of example.com\"\n\n# Running from source (development)\nuv run pen-tester-agent\n```\n\n## Interactive CLI\n\nWhen launched without a task, the agent presents an interactive menu (navigate with arrow keys):\n\n- **New penetration test task** — describe a task and the agent works through it step by step\n- **Quit**\n\nDuring a session, every tool call is shown for approval via an arrow-key menu (approve / reject / edit args). Bash command output streams in real-time. A spinner indicates when the LLM is thinking or a non-bash tool is running.\n\nAt any interaction point during a session you can choose to generate a report from the session history or quit.\n\n## How it works\n\n1. You describe a task in natural language.\n2. The agent (running locally via Ollama) reasons about the task and proposes a tool call (shell command, CVE lookup, file read/write, etc.).\n3. You review and approve/edit/reject the action via arrow-key menu.\n4. Bash output streams live to the terminal; the full output is fed back to the agent.\n5. Repeat until the task is complete or you stop.\n6. Generate a structured pentest report from the session at any time.\n\n## Disclaimer\n\nThis tool executes shell commands on your machine. Always review proposed commands before approving them. Use responsibly and only on systems you own or have explicit written authorization to test. The authors are not responsible for any misuse or damage.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffdsimoes-git%2Fpen-tester-agent","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffdsimoes-git%2Fpen-tester-agent","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffdsimoes-git%2Fpen-tester-agent/lists"}