Skip to content
/ ACE-T Public

Condition Placed Aversion OSINT in realtime...more soon.

Notifications You must be signed in to change notification settings

gs-ai/ACE-T

Repository files navigation

Project Architecture

Python 3.11 Platform License Last Update

ACE-T: Advanced Cyber-Enabled Threat Intelligence Platform


Date: April 21, 2025
Platform: macOS, Linux, Windows
License: MIT
Contact: Project Maintainer (see LICENSE)


Overview

ACE-T is a next-generation, modular Open-Source Intelligence (OSINT) platform engineered for real-time, actionable insights from a wide range of data sources. It leverages advanced AI, NLP, and analytics to empower analysts and security teams with global visibility, automated alerting, and deep threat context.


Features

  • Real-time OSINT Monitoring: Ingests and analyzes data from social media, paste sites, forums, code repositories, dark web, and more.
  • Modular Architecture: Each data source is handled by a dedicated module or spider for easy extensibility.
  • AI/NLP Analytics: Entity extraction, sentiment analysis, trend velocity, and threat context for every alert.
  • Rich Metadata: Alerts include geo-info, source URLs, temporal details, threat analysis, tags, and classification.
  • Automated Alerting: Real-time GUI and logs for all detected triggers, with map-based visualization of threats.
  • Role-Based Access: Secure backend API with user management.
  • Extensible Web Crawlers: 15+ spiders for deep/dark web, forums, leaks, and more.
  • Review Workflow: All medium/high alerts are copied to alerts_for_review/ for analyst triage.

Quick Start

  1. Install dependencies

    conda env create -f environment.yml
    conda activate ace-t-env
  2. Initialize the database

    alembic upgrade head
  3. Start the platform

    ./start_ace_t.sh

    This will clean, initialize, and launch all components (backend, OSINT monitor, log ingester, alert GUI, and all spiders).

  4. Access the API


Database Setup & Migrations

ACE-T uses Alembic for all database schema management and migrations. Do not use manual scripts for table creation.

  • To initialize or upgrade the database, run:
    alembic upgrade head
  • To create a new migration after changing models:
    alembic revision --autogenerate -m "Describe your change"

See alembic/README for more details.


OSINT Modules

Each module runs in parallel and logs alerts with full metadata. All modules use the same trigger system (ace_t_osint/triggers/triggers.json).

Supported Modules

  • pastebin: Monitors Pastebin for new/deleted pastes matching triggers.
  • ghostbin: Monitors Ghostbin for new/deleted pastes.
  • rentry: Monitors Rentry for new/deleted pastes.
  • reddit: Monitors Reddit threads for trigger patterns and sentiment shifts.
  • chans: Monitors 4chan/Endchan boards for regex-based triggers.
  • telegram: Monitors public Telegram channels for triggers and edits/deletes.
  • twitter: Monitors Twitter/X for trigger patterns.
  • archive_org: Observes Archive.org for disappearance/modification of links.
  • github: Monitors GitHub gists and commits for sensitive data or keywords.
  • shodan: Monitors Shodan for honeypot/scan patterns and exposed devices.
  • crtsh: Monitors crt.sh for new domain registrations matching triggers.
  • trends: Monitors Google Trends/pytrends for spikes in search interest.

Web Crawler Spiders

All spiders are located in web_crawlers/ace_t_scraper/ace_t_scraper/spiders/:

  • pastebin_spider.py: Scrapes Pastebin archive for new pastes.
  • pastebin_leak_spider.py: Extracts leaked credentials and dox content from Pastebin.
  • reddit_spider.py: Scrapes Reddit for new posts in target subreddits.
  • twitter_intel_spider.py: Collects tweets with specific hashtags or accounts (via Nitter).
  • telegram_indexer_spider.py: Extracts posts and group movements from public Telegram channels.
  • bleepingcomputer_spider.py: Scrapes BleepingComputer news for security articles.
  • bleepingcomputer_forum_spider.py: Scrapes BleepingComputer forums for new threads.
  • forum_spider.py: Monitors high-activity forums for conversations and exploits.
  • financial_fraud_spider.py: Extracts BIN lists, CVV dumps, and fraud complaints.
  • geo_intel_spider.py: Tracks military movement and regional flashpoints from OSINT/geopolitical sources.
  • news_breach_spider.py: Parses breach announcements and cybercrime reports from news sites.
  • threat_intel_report_spider.py: Extracts IoCs and threat intelligence from vendor blogs and reports.
  • recruitment_spider.py: Tracks cyberwarfare and hacking group job boards.
  • darkweb_listing_spider.py: Scrapes darknet marketplaces and forums for leaked data listings.

Alert Metadata Structure

Every alert includes:

  • geo_info: Country, city, latitude, longitude (if available)
  • source_url: Direct link to the source
  • detected_at, first_seen, last_seen: Timestamps for detection and observation
  • entities: Extracted organizations and keywords
  • threat_analysis: Potential impact, risk vector, related terms
  • trend_velocity: Percent increase, previous/current volume
  • sentiment: Sentiment classification
  • tags, classification: Tags and data classification

Example:

{
  "geo_info": {"country": "Germany", "city": "Berlin", "lat": 52.52, "lon": 13.405},
  "source_url": "https://trends.google.com/trends/explore?q=database+leak&geo=EU",
  "detected_at": "2025-04-18T23:52:07.395474",
  "first_seen": "2025-04-18T23:48:02.192038",
  "last_seen": "2025-04-18T23:51:42.980113",
  "entities": {"organizations": ["Google", "EU Parliament"], "keywords": ["leak", "dump", "database", "cyberattack"]},
  "threat_analysis": {"potential_impact": "Data exposure of sensitive EU databases", "risk_vector": "Public search interest spike", "related_terms": ["data breach", "hack", "cybersecurity"]},
  "trend_velocity": {"increase_percent": 147, "previous_day_volume": 320, "current_volume": 790},
  "sentiment": "negative",
  "tags": ["osint", "data-leak", "trending", "cyber-intel"],
  "classification": "Confidential"
}

Triggers

  • Triggers are defined in ace_t_osint/triggers/triggers.json.
  • Each trigger includes a pattern, severity, and context.
  • Example:
[
  {"pattern": "database leak", "severity": "high", "context": "Sensitive database leak detected", "trigger_id": "db-leak-001"},
  {"pattern": "CVE-2025-", "severity": "medium", "context": "Potential new CVE", "trigger_id": "cve-2025"}
]

Output & Logs

  • All alerts and logs are written to ace_t_osint/output/:
    • logs.csv (for GUI)
    • logs.json (for analytics)
    • Individual per-alert JSON files
  • All medium and high severity alerts are also copied to alerts_for_review/ for further review.
  • The alert GUI displays new alerts in real time and maps medium/high alerts with geolocation.

GUI & Visualization

  • Real-time alert table with severity color-coding.
  • Full-screen dark mode interface.
  • Interactive map (bottom half) with pins for all medium/high alerts (city/region shown if available).
  • Clickable markers show full alert details (time, source, context, region, city, etc).

Backend API


Analytics

  • Run python ace_t_osint/analytics/analytics.py for summary reports and statistics on OSINT activity.

Extending ACE-T

  • Add new modules in ace_t_osint/modules/.
  • Add new spiders in web_crawlers/ace_t_scraper/ace_t_scraper/spiders/.
  • Use utils.log_signal() to log alerts with full metadata.
  • Register new modules in ace_t_osint/monitor/main.py.

Security & Compliance

  • All data is stored locally by default.
  • Role-based access and audit logging for backend API.
  • Designed for compliance with privacy and security best practices.

License

See LICENSE file for details.


Contact

For support or collaboration, contact the project maintainer.


ACE-T is built for the next generation of cyber threat intelligence. Stay sharp. Stay secure.

Releases

No releases published

Packages

No packages published

Languages