⚠️ Malware / Trojaner / VirenLumma Stealer – dllhost.exe Hollowing, C2 Domains & Payload Extraction(01.09.2026 um 17:19 Uhr)
🔧 AI Nachrichten Simcha Kosman AMA: Owning ChatGPT's Secure Sandbox(03.09.2026 um 07:41 Uhr)
⚠️ Malware / Trojaner / VirenThe Gentlemen Ransomware Analysis: Go Obfuscated(04.09.2026 um 12:05 Uhr)
⚠️ Malware / Trojaner / VirenTengu, a Mirai-style Linux and IoT botnet(06.09.2026 um 15:27 Uhr)
🕵️ SicherheitslückenSecurity Vulnerability in a Voting System(04.09.2026 um 13:09 Uhr)
🕵️ SicherheitslückenHow an Integer Overflow Vulnerability Let Me Buy Anything for ₹0(04.09.2026 um 05:04 Uhr)
🕵️ SicherheitslückenHow I Turned Self-XSS into Reflected XSS (and Bypassed the WAF)(04.09.2026 um 05:09 Uhr)
🕵️ SicherheitslückenFile upload to RCE(04.09.2026 um 05:12 Uhr)
⚠️ Malware / Trojaner / VirenBerlin lehnt 30-BTC-Lösegeld von Rhysida ab, Hacker veröffentlichen 5,7 Terabyte(06.09.2026 um 19:22 Uhr)
⚠️ Malware / Trojaner / VirenLumma Stealer – dllhost.exe Hollowing, C2 Domains & Payload Extraction(01.09.2026 um 17:19 Uhr)
🔧 AI Nachrichten Simcha Kosman AMA: Owning ChatGPT's Secure Sandbox(03.09.2026 um 07:41 Uhr)
⚠️ Malware / Trojaner / VirenThe Gentlemen Ransomware Analysis: Go Obfuscated(04.09.2026 um 12:05 Uhr)
⚠️ Malware / Trojaner / VirenTengu, a Mirai-style Linux and IoT botnet(06.09.2026 um 15:27 Uhr)
🕵️ SicherheitslückenSecurity Vulnerability in a Voting System(04.09.2026 um 13:09 Uhr)
🕵️ SicherheitslückenHow an Integer Overflow Vulnerability Let Me Buy Anything for ₹0(04.09.2026 um 05:04 Uhr)
🕵️ SicherheitslückenHow I Turned Self-XSS into Reflected XSS (and Bypassed the WAF)(04.09.2026 um 05:09 Uhr)
🕵️ SicherheitslückenFile upload to RCE(04.09.2026 um 05:12 Uhr)
⚠️ Malware / Trojaner / VirenBerlin lehnt 30-BTC-Lösegeld von Rhysida ab, Hacker veröffentlichen 5,7 Terabyte(06.09.2026 um 19:22 Uhr)

🔧 Programmierung 🕛 kürzlich 6 Min Lesezeit
0

Reviving TruthGuard AI: From Zero History to Full CRUD with GitHub Copilot

↗ Quelle (dev.to)
🗣️ Stimme:
📑 Inhaltsübersicht

This is a submission for the



Before (Abandoned State):











📸 Before vs After — The Comeback Story






Where It Was (The "Before")



The original version of TruthGuard AI was a working prototype that proved the concept but had significant gaps:




































Issue Impact
❌ No history persistence Results disappeared on page refresh
❌ No .env support API keys only worked via Streamlit secrets; local development required manual editing
❌ No unit tests Zero test coverage — fragile to API changes
❌ No delete or load functionality History items stuck forever
❌ No "New Chat" option No way to reset session
❌ Deprecated st.experimental_rerun()
Caused AttributeError in newer Streamlit versions


The code worked for me, but nobody else could use it reliably. There was no proper database setup, no environment configuration, and no way to revisit past verifications.






What Changed (The "After")



I transformed TruthGuard AI from a prototype into a production-ready application with GitHub Copilot writing most of the new infrastructure.





















































Feature Before After
History ❌ None ✅ SQLite database with timestamps
Load old claims ❌ Not possible ✅ One-click load with full report
Delete history ❌ Not possible ✅ Delete button per item
New chat ❌ No reset ✅ Reset all session state
Environment ❌ Hardcoded/st.secrets only .env + st.secrets fallback
Unit tests ❌ 0 tests ✅ 3 passing tests
API calls on load ❌ N/A ✅ Load uses saved report (no re-verification)
Deprecated code experimental_rerun
rerun





New Files Added



During the revival, I added 6 new files to the repository:





  • history_manager.py — SQLite database operations (init_db, save_history, get_all_history, delete_history)


  • tests/test_history_manager.py — Unit tests with 3 passing tests


  • .env.example — Environment variable template


  • .gitignore — Python-appropriate ignores (.env, pycache, *.db)

  • Updated requirements.txt — Added pytest and python-dotenv

  • Updated app.py — Integrated history, .env support, and new UI buttons






Verdict Summary Extraction Logic



One of the more interesting additions was the extraction of structured data from the LLM's markdown output. The extract_verdict_summary() and extract_veracity_score() functions now cleanly parse the Groq Llama 3.3 response into database-friendly fields — something Copilot helped generate in a single prompt.









My Experience with GitHub Copilot



This was my first time using GitHub Copilot for a serious revival project, and it completely changed how I approach incomplete work. Here's exactly how Copilot helped me:






1. Copilot Built the Entire history_manager.py Module



My prompt:




"Create a Python module with SQLite database functions to store fact-check history. Columns: id, timestamp, claim, verdict_summary, veracity_score, full_report_text. Include functions: init_db(), save_history(), get_all_history(), delete_history()."




Copilot generated: All 6 database functions with proper error handling, SQL injection prevention (using parameterized queries), and connection management. I didn't write a single line of SQL manually.






2. Copilot Added .env Support with Fallbacks



My prompt:




"Add code to load .env file using python-dotenv, then fallback to st.secrets and os.getenv for API keys."




Copilot generated: The complete environment loading chain, handling local development and Streamlit Cloud deployment seamlessly.






3. Copilot Wrote All 3 Unit Tests



My prompt:




"Write pytest unit tests for history_manager.py – test init_db, save_history, get_all_history, delete_history. Use temporary file for database."




Copilot generated: Complete test file with fixtures and assertions. All 3 tests passed on first run.






4. Copilot Added the "New Chat" and "Delete" Buttons



My prompt:




"In the sidebar history section, next to each history item, add a small delete button. Also add a 'New Chat' button that clears the session and reruns."




Copilot generated: The full Streamlit UI code with proper column layouts and session state management.






5. Copilot Fixed the Deprecated experimental_rerun



I ran into the AttributeError: module 'streamlit' has no attribute 'experimental_rerun' error. Instead of searching Stack Overflow, I asked Copilot:




"What replaces experimental_rerun in newer Streamlit versions?"




Copilot answered: st.rerun() and replaced all occurrences automatically.






Key Copilot Patterns I Learned




























Pattern How I Used It
Comment-driven prompts Writing detailed comments before implementation guides Copilot to generate exactly what's needed
Function signature first Typing def save_history( and letting Copilot infer the schema
Iterative refinement Accepting suggestions, then asking "Add error handling" or "Use parameterized queries" to improve them
Test generation Asking Copilot to write tests before implementing the function (test-driven development with AI)



The biggest surprise: Copilot didn't just autocomplete — it understood the project structure (Streamlit, SQLite, pytest) and generated context-aware code that integrated seamlessly with my existing logic.










🛠️ Technical Stack












































Component Technology
Frontend Streamlit (Python)
LLM Groq API (Llama 3.3-70B-Versatile)
Search Tavily Search API
Orchestration LangChain
Database SQLite
Environment python-dotenv
Testing pytest
Dev Assistant GitHub Copilot








🔍 Judging Criteria Reflection




























Criterion How TruthGuard AI Addresses It
Use of underlying technology Combines Groq's LPU (sub-second inference), Tavily's real-time search, and LangChain for structured prompting
Usability & UX Glassmorphism UI, progress indicators, chat-based follow-ups, one-click report downloads, persistent history
Originality & Creativity LLM-powered fact-checking with structured verdicts (Veracity Score + Final Verdict + Bias detection) is not a basic chatbot wrapper — it's a purpose-built misinformation tool
Completion Arc Clear "before" vs "after" transformation: from prototype to database-backed, tested, environment-aware application








📦 How to Run Locally






CODE

bash
# Clone the repository
git clone https://github.com/Awaisranahmad/AI-Based-Content-Verification-Tool.git
cd AI-Based-Content-Verification-Tool

# Create virtual environment
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

# Create .env file with your API keys
cp .env.example .env
# Edit .env with your GROQ_API_KEY and TAVILY_API_KEY

# Run the application
streamlit run app.py


Vollständiger Original-Bericht
Ausführliche Details, Code-Beispiele & Hersteller-Stellungnahme auf dev.to.
↗ Original-Artikel auf dev.to lesen
Wie bewertest du diesen Beitrag?
1 Klick Feedback
Teilen mit Netzwerk & Team:

Community-Analysen & Experten-Meinungen 0

Verfasse deine eigene Analyse, teile Workarounds oder diskutiere diesen Vorfall im Blog.
Noch keine Community-Analyse verfasst. Markiere einen Textabschnitt oder klicke oben auf Eigene Analyse verfassen“!
Community Pulse: Relevanz-Einschätzung
1 Klick Experten-Votum
🔴 Akute Relevanz 54%
🟡 In Evaluierung 28%
🟢 Keine Auswirkung 14%
Spannende Innovation 5%
Verwandte Story-Cluster & Quellen (Vektor-KI)
Port 8095 Engine
1 Quelle
ChatGPT showing blank screen [Fix]
1 Quelle
Excel keeps people on Windows, and a Linux distro creator wants Microsoft to end that
1 Quelle
Sofort deinstallieren: Diese 19 Browser-Erweiterungen sind mit Malware verseucht
Ähnliche Beiträge
🔍 Verwandte News

Auch interessante Nachrichten Reviving TruthGuard AI: From Zero History to Full CRUD with GitHub Copilot

Thematisch verwandte Begriffe: Reviving, TruthGuard, From, Zero · 6 Treffer

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...