{"id":18594143,"url":"https://github.com/rubenszimbres/cyberbotllm","last_synced_at":"2025-10-13T03:41:28.222Z","repository":{"id":217549199,"uuid":"744195434","full_name":"RubensZimbres/CyberBotLLM","owner":"RubensZimbres","description":"4 chatbots with memory made with Langchain, VertexAI and Gemini, as a cyber challenge to capture and expose RAG content.","archived":false,"fork":false,"pushed_at":"2024-01-17T00:25:36.000Z","size":319,"stargazers_count":7,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-05-05T15:47:01.887Z","etag":null,"topics":["chatbot","cybersecurity","generative-ai","google-cloud","llm","vertex-ai"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RubensZimbres.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2024-01-16T20:05:10.000Z","updated_at":"2025-01-11T19:57:56.000Z","dependencies_parsed_at":"2024-01-17T04:12:16.264Z","dependency_job_id":"5b889eb1-f51b-4681-a6fe-3a09c673ca99","html_url":"https://github.com/RubensZimbres/CyberBotLLM","commit_stats":null,"previous_names":["rubenszimbres/cyberbotllm"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/RubensZimbres/CyberBotLLM","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RubensZimbres%2FCyberBotLLM","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RubensZimbres%2FCyberBotLLM/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RubensZimbres%2FCyberBotLLM/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RubensZimbres%2FCyberBotLLM/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RubensZimbres","download_url":"https://codeload.github.com/RubensZimbres/CyberBotLLM/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RubensZimbres%2FCyberBotLLM/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279013519,"owners_count":26085368,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-13T02:00:06.723Z","response_time":61,"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":["chatbot","cybersecurity","generative-ai","google-cloud","llm","vertex-ai"],"created_at":"2024-11-07T01:14:37.273Z","updated_at":"2025-10-13T03:41:28.192Z","avatar_url":"https://github.com/RubensZimbres.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CyberBotLLM\n  \n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://github.com/RubensZimbres/CyberBotLLM/blob/main/pictures/gemini_.png\"\u003e\n\u003c/p\u003e\n    \n## _Your Google Cloud Cybersecurity Expert, powered by Gemini Generative AI_\n  \nThis chatbot is part of my personal effort for the OWASP educational initiative in Cybersecurity. It is based on Google technology, and uses 4 different approaches:\n- Regular conversation\n- Cybersecurity Expert\n- Hardened Cybersecurity Expert\n- Cloud Cybersecurity Expert\n  \n## Features\n\nIt uses \u003cb\u003eLangchain\u003c/b\u003e to generate a conversation flow with memory, and also a \u003cb\u003eRAG (Retrieval Augmented Generation)\u003c/b\u003e document that can be customized according to your educational goals.  \nCurrently, RAG contains a list of fictitious usernames and passwords. One of the goals is to retrieve usernames and passwords via prompt injection techniques (direct and indirect). You can also poison the RAG document to force a Sensitive Information Disclosure.\n\n## How to use it\n\nIn order to use/replicate this chatbot, `git clone` this repository. Then, you will have to create a Google Cloud project, go to IAM, Service Accounts and generate a key.json.  \n  \nThis key can be used directly as an environment variable by using `os.environ['GOOGLE_APPLICATIONS_CREDENTIALS']='key.json'`, or even better, you can go to Google Cloud \u003cb\u003eSecret Manager\u003c/b\u003e and create \na secret called `GOOGLE_APPLICATIONS_CREDENTIALS` and store the content of this JSON file. \nMain.py file is set up to be used with the Secret Manager in VSCode (Cloud Code extension). \n  \nThen, edit your project name and number in \u003cb\u003emain.py\u003c/b\u003e. After that, run in command line:  \n  \n```sh\ngcloud auth login\ngcloud config set project your project\n```\n\nAnd you are good to go:\n\n```sh\npython3 main.py\n```\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://github.com/RubensZimbres/CyberBotLLM/blob/main/pictures/gemini_0.png\"\u003e\n\u003c/p\u003e  \n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://github.com/RubensZimbres/CyberBotLLM/blob/main/pictures/gemini2.png\"\u003e\n\u003c/p\u003e\n  \n- Special thanks for Harish S.G., as this chatbot is based on the DamnVulnerableLLMBot (https://github.com/harishsg993010/DamnVulnerableLLMProject).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frubenszimbres%2Fcyberbotllm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frubenszimbres%2Fcyberbotllm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frubenszimbres%2Fcyberbotllm/lists"}