Skip to content

About

Local-first OSINT investigation workbench for Firefox & Chrome. IoC detect, playbooks, cases — no API keys by default. MIT.

Topics

Resources

Stars

16 stars

Watchers

1 watching

Forks

Latest commit

 

History

51 Commits

Folders and files

Repository files navigation

Aperture — OSINT Workbench

Aperture logo

Local-first browser extension for SOC, DFIR, and CTI analysts.

Aperture detects indicators of compromise in the browser, orchestrates pivots to public OSINT sites, and keeps cases, history, and playbooks on-device. Core use requires no API keys, no accounts, and no telemetry.

Version 4.5.0 (Manifest V3)
Browsers Firefox 140+ · Chrome / Chromium
Firefox Add-ons addons.mozilla.org/…/soc-osint-extension
Chrome Web Store chromewebstore.google.com/…/hpbeikjdpgemejlekddlaphdlaemjhgb
License MIT
Formerly SOC OSINT Search

Aperture dashboard — triage overview

Dashboard triage overview (demo data for illustration)


Why Aperture

Most OSINT “extensions” are thin wrappers around cloud APIs. Aperture is built as an investigation companion:

  • Parse and classify IoCs locally
  • Open public tool UIs only when you choose
  • Capture work into cases and playbooks without sending data to a vendor
  • Stay readable for store review and forks — no build step, no bundler, plain HTML/CSS/JS

Optional Labs features are a Coming soon roadmap and cannot be turned on yet.


Features

  • Popup launcher — open the workbench; toggle on-page detect and disable the current site
  • Dashboard workbench — triage inbox, bulk extract, cases, playbooks, relationship graph, offline packs, Labs (coming soon)
  • Playbooks — ordered multi-tool workflows; share codes (APX|…); delay / concurrency / skip-private-IP options
  • Cases — indicators, verdicts, tags, notes, timeline, session capture, JSON / Markdown / CSV export
  • On-page detect (opt-in) — highlight IoCs; anchored pivot card with verdicts, tools, clipboard packs, related IoCs; disable per domain (e.g. Splunk, CrowdStrike) from the popup or Workbench Settings
  • Context menu — right-click selection → playbooks and services
  • Command palette — ⌘/Ctrl+K on extension pages; Ctrl+Shift+K / Ctrl+Shift+O browser commands
  • Themes — System, Dark or Light for every Aperture surface; page highlights adapt to the site you are reading
  • Language — Settings → Appearance; System plus English, Spanish, Portuguese (Portugal / Brasil), French, German, Russian, Simplified and Traditional Chinese. Store name/description follow the browser language.

Indicator types

IPv4/IPv6, domains, URLs, emails, MD5/SHA-1/SHA-256, CVEs, BTC, ASNs, plus ETH, ATT&CK technique IDs, JA3/JARM-style labels, file paths, onion addresses, Telegram/Discord links, and additional Labs/wave-2 types.

Public OSINT pivots

VirusTotal, AbuseIPDB, URLScan, Shodan, Censys, AlienVault OTX, IBM X-Force Exchange, MalwareBazaar, GreyNoise, Spur, Have I Been Pwned, crt.sh, RDAP, Wayback Machine, URLhaus, ThreatFox, NVD, CWE, BGP HE, MITRE ATT&CK.


Install (end users)

Firefox

Install from Firefox Browser Add-ons, or load temporarily:

  1. about:debugging → This Firefox → Load Temporary Add-on
  2. Select extension/manifest.json

Chrome / Chromium

Install from the Chrome Web Store, or load unpacked:

  1. chrome://extensions → enable Developer mode
  2. Load unpacked → select the extension/ folder

Privacy

  • Parsing and enrichment run on-device
  • Network use is limited to tabs you open to public OSINT sites
  • On-page highlights are off by default
  • Firefox data_collection_permissions: none
  • Host access (<all_urls>) supports context-menu selection and optional page highlights

Develop / fork

This project is intentionally zero-build so reviewers and contributors can read shipped files as-is.

Load for development

Same steps as Chrome/Firefox “load unpacked / temporary add-on” above. Edit a file, reload the extension.

Repository layout

Path Purpose
extension/ Extension runtime — load this folder as the unpacked add-on
docs/ Guides, store checklists, release notes
test/ Detection corpus and manual test pages
preview/ README / social-preview demo dashboard (not shipped)
design/ Design prototypes (not shipped)
scripts/ Packaging (scripts/package.sh)
.github/ Social preview asset

Extension entry points

Surface Files
Manifest extension/manifest.json
Background extension/background.js, extension/ioc-utils.js
Popup extension/popup.html
Dashboard extension/dashboard.html
On-page extension/content.js, extension/content.css
Shared UI extension/aperture.css, extension/indicator-card.js, extension/palette.js, extension/i18n.js, extension/locales/, extension/_locales/, extension/fonts/
Offline packs / flags / IDB extension/aperture-packs.js, aperture-features.js, aperture-store.js
DevTools (coming soon) extension/devtools.html

Package a release zip

./scripts/package.sh
# or: ./package-for-firefox.sh
# → aperture-osint-v4.5.0.zip (extension runtime only)

Tests & preview

# Detection corpus
open test/test-ioc-utils.html

# In-app language catalogs (or: node test/test-i18n.js)
open test/test-i18n.html

# Manual checklist
# docs/TESTING_GUIDE.md

# Dashboard screenshot fixture (demo data)
python3 -m http.server 8765 --bind 127.0.0.1
# → http://127.0.0.1:8765/preview/dashboard-preview.html

Extending

Common fork points:

  • New OSINT site — add URL template in extension/background.js (serviceUrls) and map it in IOCUtils.toolsFor()
  • New IoC type — extend detection in extension/ioc-utils.js and cover it in test/test-ioc-utils.js
  • New playbook — create in the UI or import an APX|… share code
  • Offline packs — regenerate compact ATT&CK / LOLBAS / GTFOBins indexes with python3 scripts/generate-offline-packs.py
  • Labs / experimental behaviour — dashboard Labs is coming soon; do not ship no-op flags as working switches

Keep the privacy model: network only on explicit user action; keys never in storage.sync; experimental features default off.


Version history

Version Notes
4.5.0 Store _locales; Traditional Chinese; Portuguese (Portugal / Brasil)
4.4.0 In-app language settings (en, es, pt, fr, de, ru, zh-Hans)
4.3.1 Open link on domain IoCs; CWE pivot; GreyNoise/RDAP URLs; ThreatCrowd removed
4.3.0 Full offline pack indexes; Labs / STIX / case playbook / DevTools marked coming soon
4.2.3 Feedback to GitHub Discussions from Settings, overview, and the palette
4.2.2 Light theme uses IBM Plex; stronger text contrast in both themes
4.2.1 Light theme; ordered playbook editor; workbench live refresh; side panel removed
4.2.0 One shared indicator card; anchored pivot popovers; popup as launcher; playbook defaults per IoC type
4.1.0 Per-domain on-page disable; workbench/pivot UI polish
4.0.3 Full IPv6 detect, forum/code IoC highlights, dashboard favicon
4.0.2 Fix migration crash that broke pivot tool opens (normalize is not defined)
4.0.1 Popup workbench/services fixes; Open link on pivot; scheme-less URL highlights
4.0.0 Workbench expansion: cases/inbox depth, session capture, graph, offline packs, Labs, broader detection
3.1.x Detection accuracy, playbook delete, always-refang
3.0.0 Aperture rebrand, MV3, playbooks, cases, palette

Contributing

Issues and pull requests are welcome.

  1. Fork the repository and create a focused branch
  2. Prefer small, reviewable diffs that match existing vanilla JS style
  3. Add or extend tests in test/test-ioc-utils.js when changing detection
  4. Do not add a bundler, telemetry, or mandatory cloud dependency without discussion

If you are adapting Aperture for an organisation (MISP, OpenCTI, custom tools), keep org-specific connectors behind explicit opt-in flags.


Security

This extension requests broad host access for optional page highlights. Treat loaded code as trusted. Report security issues privately via GitHub Security Advisories on this repository when available, or open a minimal issue without exploit detail.


License

MIT — © 2025–2026 Aperture / petstuk contributors.

About

Local-first OSINT investigation workbench for Firefox & Chrome. IoC detect, playbooks, cases — no API keys by default. MIT.

Topics

Resources

Stars

16 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages