{"id":31120885,"url":"https://github.com/cldrn/chatgpt-whisperer","last_synced_at":"2026-01-20T06:00:42.724Z","repository":{"id":314541192,"uuid":"960697261","full_name":"cldrn/chatgpt-whisperer","owner":"cldrn","description":"Enhances Ghidra with ChatGPT-powered features for analyzing, summarizing, documenting, and identifying vulnerabilities in binary functions. Includes support for decompilation analysis, xref tracing, function signature suggestions, and batch processing.","archived":false,"fork":false,"pushed_at":"2025-09-13T03:52:47.000Z","size":62,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-09-13T05:46:07.946Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cldrn.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":"2025-04-04T22:22:27.000Z","updated_at":"2025-09-13T04:40:17.000Z","dependencies_parsed_at":"2025-09-13T05:46:10.595Z","dependency_job_id":"3dad96f9-5aac-4296-a79a-234e230e1c1f","html_url":"https://github.com/cldrn/chatgpt-whisperer","commit_stats":null,"previous_names":["cldrn/chatgpt-whisperer"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/cldrn/chatgpt-whisperer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cldrn%2Fchatgpt-whisperer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cldrn%2Fchatgpt-whisperer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cldrn%2Fchatgpt-whisperer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cldrn%2Fchatgpt-whisperer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cldrn","download_url":"https://codeload.github.com/cldrn/chatgpt-whisperer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cldrn%2Fchatgpt-whisperer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28597087,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-20T02:08:49.799Z","status":"ssl_error","status_checked_at":"2026-01-20T02:08:44.148Z","response_time":117,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":"2025-09-17T15:05:55.207Z","updated_at":"2026-01-20T06:00:42.717Z","avatar_url":"https://github.com/cldrn.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://www.apache.org/licenses/LICENSE-2.0)\n[![GitHub tag (latest by date)](https://img.shields.io/github/v/tag/cldrn/chatgpt-whisperer)](https://github.com/cldrn/chatgpt-whisperer/tags)\n[![Follow @calderpwn](https://img.shields.io/twitter/follow/calderpwn?style=social)](https://x.com/calderpwn)\n\n# ChatGPTWhisperer for Ghidra\n\nChatGPTWhisperer is a Ghidra plugin that integrates OpenAI's ChatGPT to assist with reverse engineering tasks. It enables AI-powered function analysis, vulnerability detection, documentation, and batch processing within the Ghidra UI.\n\nLatest Ghidra version tested on: 12.0.1\n\n[![Watch how it works!](https://img.youtube.com/vi/M80hySzSEOA/0.jpg)](https://www.youtube.com/watch?v=M80hySzSEOA)\n\n---\n\n## Features\n\n### Function Analysis\n- **Describe Function** – Summarize what the current function does.\n- **Detect Vulnerabilities** – Perform a vulnerability audit of the selected function.\n- **Ask a Custom Question** – Send your own prompt along with the function code.\n- **Explain with Xrefs** – Analyze cross-references to understand function context.\n\n### Signature Assistance\n- **Suggest Function Signature** – Let ChatGPT suggest return type, name, and parameters.\n- **Update Function Signature** – Apply GPT-suggested function names, return types, and parameters.\n- **Batch Update Signatures** – Automatically apply improved signatures across filtered functions.\n\n### Batch Operations\n- **Batch Function Analysis** – Identify or analyze vulnerabilities across all (or filtered) functions.\n- **Batch Signature Updates** – Rename and retype functions in bulk with GPT.\n- **Filter Support** – Optionally limit batch actions to function names containing a substring.\n\n### Settings and Customization\n- **Set OpenAI Token** – Enter your API key.\n- **Set Temperature** – Control randomness of responses (default: 0.3).\n- **Select Model** – Choose from supported OpenAI models (e.g., gpt-4o, gpt-3.5-turbo).\n- **Assistant Persona** – Customize the assistant's behavior/personality.\n- **Keyword Redaction** – Define keywords to automatically redact before sending requests to ChatGPT.\n- **Toggle Append to Comment** – Automatically append responses as comments to functions.\n- **Export/Import Settings** – Save or load configuration to a file.\n- **Toggle Redaction Filter** – Enable or disable privacy filtering for keywords.\n---\n\n## Installation\n\n**Compatibility Note:** If you're using Ghidra 11.3.1, install a plugin version labeled `11.3.1.x`. If you're using Ghidra 11.3.2, install a plugin version labeled `11.3.2.x`. Match the plugin version to your exact Ghidra version for best compatibility.\n\n1. Install the `.zip` file into Ghidra via `File \u003e Install Extensions`.\n2. Open the plugin through the `Tools` menu.\n\n---\n\n## Building the Extension\n\n1. Use Gradle to compile by setting your local Ghidra installation path:\n\n   ```bash\n   gradle -PGHIDRA_INSTALL_DIR=\u003cGhidra Path\u003e\n   ```\n\n2. The extension will be generated as a `.zip` inside the `/dist` folder.\n\n---\n\n## Requirements\n- A valid OpenAI API Token (can be set via environment variable `OPENAI_TOKEN` or through the UI)\n- Internet access to connect to OpenAI’s API\n\n---\n\n## Default Assistant Persona\n\u003e You are an expert reverse engineering assistant trained in analyzing low-level code, including firmware, embedded systems, and decompiled binaries. Your role is to explain complex logic, uncover vulnerabilities, and suggest improvements based on secure coding principles. You understand ARM, C, memory layout, and common patterns found in real-world devices.\n\n---\n\n## License\nApache License, Version 2.0. Contributions welcome!\n\n---\n\n## Credits\nInspired by [GhidraChatGPT](https://github.com/likvidera/GhidraChatGPTby) and developed by [PwnLabMX](https://github.com/PwnLabMX) with ❤️ and reverse engineering in mind.\n\n---\n\n## Legal Notice\n\nThis plugin is provided **\"as is\"** without any warranty or guarantee of any kind, express or implied. The use of this plugin is at the sole risk and responsibility of the user. By using this plugin, you acknowledge and agree that:\n\n- You are solely responsible for how you use the plugin and for the results obtained from its usage.\n- The authors and contributors are not liable for any damages, data loss, system compromise, or other issues that may arise directly or indirectly from the use of this software.\n- You must comply with all applicable laws, regulations, and terms of service for any platform or software you analyze or interact with using this tool.\n- This project is not affiliated with or endorsed by the NSA, the Ghidra project, or OpenAI.\n\nAlways use this plugin responsibly and ethically.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcldrn%2Fchatgpt-whisperer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcldrn%2Fchatgpt-whisperer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcldrn%2Fchatgpt-whisperer/lists"}