{"id":47706572,"url":"https://github.com/lucianoscarpaci/logspear","last_synced_at":"2026-04-02T18:00:20.079Z","repository":{"id":345815357,"uuid":"1186854249","full_name":"lucianoscarpaci/LogSpear","owner":"lucianoscarpaci","description":"Smart Parsing. Human Understanding.","archived":false,"fork":false,"pushed_at":"2026-03-20T23:00:42.000Z","size":559,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-21T11:04:16.075Z","etag":null,"topics":["chainlit","fiu","hackathon","langchain","miami"],"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/lucianoscarpaci.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-03-20T03:59:04.000Z","updated_at":"2026-03-20T23:00:46.000Z","dependencies_parsed_at":null,"dependency_job_id":"e6111c1c-9438-4674-a4c9-0404d2e7812e","html_url":"https://github.com/lucianoscarpaci/LogSpear","commit_stats":null,"previous_names":["lucianoscarpaci/logspear"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/lucianoscarpaci/LogSpear","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucianoscarpaci%2FLogSpear","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucianoscarpaci%2FLogSpear/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucianoscarpaci%2FLogSpear/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucianoscarpaci%2FLogSpear/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lucianoscarpaci","download_url":"https://codeload.github.com/lucianoscarpaci/LogSpear/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucianoscarpaci%2FLogSpear/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31312744,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-02T12:59:32.332Z","status":"ssl_error","status_checked_at":"2026-04-02T12:54:48.875Z","response_time":89,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":["chainlit","fiu","hackathon","langchain","miami"],"created_at":"2026-04-02T18:00:16.969Z","updated_at":"2026-04-02T18:00:20.022Z","avatar_url":"https://github.com/lucianoscarpaci.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# LogSpear\n**IoT Botnet Detection \u0026 Forensic Analysis Tool**\n\nA forensic tool designed for SOC Analysts to identify suspicious IoT devices involved in botnets through intelligent log analysis.\n\n\u003cimg width=\"333\" height=\"222\" alt=\"medium\" src=\"https://github.com/user-attachments/assets/27508843-6e6a-4ab4-9a64-fb0c0062e09b\" /\u003e\n\n305 Hackathon Miami March. 2026\n\nTrack #1 - Hackathon Competition - General Build\nTrack #2 - Business Venture Arena Competition\nOpt-in Challenge #1\nOpt-in Challenge #2\nOpt-in Challenge #3\n\n## Inspiration\n\nThis forensic tool was designed for SOC Analysts who want to find suspicious IoT devices that have been used in Botnets through their log scans. The faster the SOC can find the infected IoT devices such as CCTV's and EV charging stations on the network, they can prevent future devices from becoming infected.\n\n## What it does\n\nAn LLM-powered incident summarizer. Users upload their log files to the chatbot interface to find the suspicious IP, Machine Information, Country of where the botnet is from, and a visualization in a graph of the botnet-like devices connected to it.\n\n## How we built it\n\nWe built it using an AI Agent with Chainlit, OpenAI API, and LangChain.\n\n## Key Features\n\n- **IoT Device Detection**: Identifies suspicious IoT devices (CCTV cameras, EV charging stations, etc.) used in botnets\n- **Comprehensive Analysis**: Extracts suspicious IP addresses, machine information, and country of origin\n- **Visual Intelligence**: Graph visualization showing botnet-like devices and their connections\n- **Chatbot Interface**: User-friendly Chainlit interface for uploading and analyzing log files\n- **Fast Threat Detection**: Helps SOCs neutralize threats before additional devices become infected\n\n## Challenges we ran into\n\nThe main challenge was setting up Chainlit web interface with langchain and coming up with the correct log files to analyze.\n\n## Accomplishments that we're proud of\n\nI am proud of helping Cybersecurity Analysts find these networks before they form and neutralize the threat before future devices get infected.\n\n## What we learned\n\nI learned how to use chainlit and langchain to help cybersecurity SOCs.\n\n## Tech Stack\n\n- **LLM Framework**: LangChain\n- **Interface**: Chainlit\n- **Language**: Python\n- **Data Parsing**: JSON parsing with Python\n- **Visualization**: Plotly for network graph visualization\n\n## What's next for LogSpear\n\nIntegrating local, proprietary models, so that the data never leaves the network.\n\n## Getting Started\n\nStart the Python venv in your shell and install the packages from the requirements.txt file with pip.\n```source venv/bin/activate \u0026\u0026 pip install -r requirements.txt```\nRun the application with chainlit:\n```chainlit run app/LogSpear/app.py```\n\n\n## Demo video\n![YouTube](https://youtu.be/0835dWM2oSI)\n## Screenshots\n\n![Screenshot 1](screenshots/Screen%20Shot%202026-03-20%20at%205.37.36%20PM.png)\n![Screenshot 2](screenshots/Screen%20Shot%202026-03-20%20at%205.38.39%20PM.png)\n![Screenshot 3](screenshots/Screen%20Shot%202026-03-20%20at%205.45.54%20PM.png)\n\n## License\nMIT License\nSee [LICENSE](LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flucianoscarpaci%2Flogspear","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flucianoscarpaci%2Flogspear","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flucianoscarpaci%2Flogspear/lists"}