Skip to content

feat-content-storage-and-sandbox - #5

Draft
softlukas wants to merge 23 commits into
mainfrom
feat-content-storage-and-sandbox
Draft

softlukas wants to merge 23 commits into
mainfrom
feat-content-storage-and-sandbox

Conversation

@softlukas

Copy link
Copy Markdown
Collaborator

No description provided.

Add observations table logging each URL sighting with source, honeynet, session and timestamp; dedupe via NULL-normalized generated key with UNIQUE index so INSERT OR IGNORE is idempotent. process_new_session() takes an optional honeynet param and inserts one observation per URL; Warden, T-Pot, Honeynet.Asia and nested-URL collectors record their source and honeynet. discovered_urls/url_source left unchanged, provenance derived by joining observations.
@softlukas
softlukas marked this pull request as draft September 22, 2026 16:18
Lukas Simonik added 18 commits September 23, 2026 23:13
migrate.sh backs up the active DB to <db_dir>/backup, then applies pending install/migrations/*.sql in order, tracking applied files in schema_migrations so each runs once. Moves the observations migration to install/migrations/001_observations.sql.
Add tabs per Figma (light theme). Sources aggregates observations per honeynet with an internal derived-from link; Overview keeps existing content; detail() computes the aggregation and badges.
…nt dedup and change detection

During the daily re-poll, capture fetch metadata and response body, deduplicate
content via common.content_store, and write a download_observation row that records
whether the content is new, unchanged, or changed. Add worker docstring and a
comment explaining the URL chunking.
…cord fetch metadata

Extend analyze_content so each HTTP fetch records a download_observation row
(timestamp, source IP, status code, response headers) and usable payloads are
persisted deduplicated on disk keyed by SHA-256 (via common.content_store).
Adds _record_fetch/_store_downloaded_content helpers, VT quota global
comments, and updates the analyze_content/evaluate_url docstrings.
…ns schema

Add `content` (one row per unique SHA-256) and `download_observations` (one row
per fetch) tables to create_db.sql for fresh installs, plus migration
003_content_storage.sql for existing DBs (purely additive, IF NOT EXISTS).
…oute

Content tab groups identical consecutive downloads into versions (fetch count,
source IP, SHA-256, size, headers, changed badge). Adds a /content/download/<id>
route plus human_bytes/fmt_ts filters and tab styling.
Add sandbox_submissions table to create_db.sql tracking content samples sent
to a malware sandbox (content_id FK, sha256, sandbox name, submitted_at/by,
status, verdict, report_url to the external analysis report). Also add
migration script.
log if skip is due to Body is None, or unable to import content_storage module and it is None
@softlukas
softlukas force-pushed the feat-content-storage-and-sandbox branch from cfe2e11 to 91e262f Compare September 28, 2026 13:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant