Commit Graph

  • 431c86bbe8 docs: fix CLI references and start commands in README dev anti 2026-05-27 13:03:45 -04:00
  • f47dd4b520 docs: update README to reflect current codebase state anti 2026-05-26 00:57:40 -04:00
  • f2b3393669 chore: relicense to AGPL-3.0-or-later and add SPDX headers anti 2026-05-22 21:04:16 -04:00
  • ee10b55cfe fix(engine): per-scope docker compose project names anti 2026-05-22 18:29:33 -04:00
  • 1b90048715 fix(api): /deckies/deploy becomes additive by default anti 2026-05-22 18:14:50 -04:00
  • 5b13a01ab6 feat(web): deploy wizard polls async lifecycle instead of holding HTTP anti 2026-05-22 17:50:26 -04:00
  • eacac9aa60 feat(api): GET /deckies/lifecycle + master startup sweep anti 2026-05-22 16:44:17 -04:00
  • 4743c8f733 feat(api): /deckies/deploy and /mutate become 202 fire-and-forget anti 2026-05-22 16:40:55 -04:00
  • e5e2bec3aa feat(swarm): heartbeat handler applies lifecycle deltas anti 2026-05-22 16:33:48 -04:00
  • d1ca96b2f4 feat(agent): /deploy and /mutate become 202 fire-and-forget anti 2026-05-22 16:31:23 -04:00
  • c0ad380020 feat(lifecycle): runner + strategies + bus topic anti 2026-05-22 16:25:33 -04:00
  • 05c0721a51 feat(db): add DeckyLifecycle table for async deploy/mutate tracking anti 2026-05-22 16:20:00 -04:00
  • ade8bbe30a feat(agent): real worker-side /mutate with master swarm dispatch anti 2026-05-22 16:14:46 -04:00
  • 418245f9b4 chore(deps): bump starlette to 1.0.1 (PYSEC-2026-161) anti 2026-05-22 16:14:35 -04:00
  • 8eccb260be feat(dns-service): expose DNS_STATE_PATH config field anti 2026-05-21 22:10:43 -04:00
  • 757aff4671 feat(dns): persist tunneling burst state across restarts anti 2026-05-21 22:10:10 -04:00
  • 457e2d990c feat(dns): count NULL/CNAME/AAAA/PRIVATE in tunneling burst window anti 2026-05-21 22:07:58 -04:00
  • 9e3473b370 feat(dns): full-subdomain entropy check catches short-label exfil anti 2026-05-21 22:06:14 -04:00
  • a6b5b1a7f8 feat(dns): full EDNS sub-option parsing and NSID request detection anti 2026-05-21 21:20:57 -04:00
  • 4dadeb9aba feat(dns): detect non-zero OPCODE and anomalous header-flag combinations anti 2026-05-21 21:19:01 -04:00
  • 35159419bb feat(dns): detect CLASS=ANY queries as fingerprint_probe anti 2026-05-21 21:16:47 -04:00
  • 521d77b28f feat(dns): hoist CHAOS probe map to module level, add authors.bind. entry anti 2026-05-21 21:15:58 -04:00
  • 629f969eb6 feat(dns): emit multi_question event when qdcount>1 anti 2026-05-21 21:14:50 -04:00
  • db798f5a5b feat(dns): emit events on malformed/headerless/question-parse-error packets anti 2026-05-21 21:13:46 -04:00
  • da2ad7a82a feat(dns): global upstream forward rate limit with sinkhole fallback anti 2026-05-21 20:50:20 -04:00
  • e5847b7e1e feat(dns): real recursive forwarding with sinkhole fallback anti 2026-05-21 20:49:19 -04:00
  • 8f33f1b849 fix(dns): recursive mode now returns sinkhole A answer, not NXDOMAIN anti 2026-05-21 20:40:27 -04:00
  • bbb126e435 feat(dns): fix three operational blind spots — flood detection, AAAA, recon burst anti 2026-05-21 19:50:09 -04:00
  • 77a466e615 feat(dns): add BIND-flavored DNS honeypot service anti 2026-05-21 19:07:49 -04:00
  • 72cdeb3270 chores: deleted some trash and updated the development roadmap anti 2026-05-21 16:21:54 -04:00
  • e292fd7d05 feat(web): surface bgp_prefix and rpki_status in AttackerDetail and export anti 2026-05-21 16:17:38 -04:00
  • e1eda1e754 feat(profiler): wire enrich_rpki into _build_record anti 2026-05-21 16:14:51 -04:00
  • 49b4996956 feat(model): add bgp_prefix, rpki_status, rpki_source to Attacker anti 2026-05-21 16:13:31 -04:00
  • b799ade816 feat(rpki): ripestat validator + sqlite cache anti 2026-05-21 16:13:01 -04:00
  • 1a11287f76 feat(rpki): provider scaffold — base, factory, paths, ripestat skeleton anti 2026-05-21 16:10:01 -04:00
  • e3d9908bed feat(asn): expose BGP prefix in AsnInfo and enrich_ip anti 2026-05-21 16:07:57 -04:00
  • f160eccdae fix(ui): scope empty-state color and font to dashboard context — suppress matrix-green bleed anti 2026-05-21 15:44:08 -04:00
  • cd3c1104b4 fix(ui): replace ad-hoc fingerprints empty state div with EmptyState component anti 2026-05-21 15:40:10 -04:00
  • 28f26cc5f3 fix(ui): replace info-banner empty state in BehaviouralPrimitivesPanel with EmptyState anti 2026-05-21 15:23:33 -04:00
  • 946636d8f4 feat(ui): wire icmp_error / icmp6_error fingerprint probes into AttackerDetail anti 2026-05-21 15:12:39 -04:00
  • 2af46ed102 feat(ingester): promote icmp_error / icmp6_error probe fields to fingerprint bounties anti 2026-05-21 15:10:07 -04:00
  • 3f8170be10 feat(prober): add Icmp6ErrorProbe — ICMPv6 error-leakage fingerprint anti 2026-05-21 15:03:10 -04:00
  • 56229a272b feat(prober): add IcmpErrorProbe — ICMP error-leakage fingerprint anti 2026-05-21 14:52:49 -04:00
  • 4b2759e0fc refactor(prober): absorb TlsCertProbe into ActiveProbe registry anti 2026-05-21 14:32:07 -04:00
  • bd4700770b refactor(prober): generalise ActiveProbe registry to absorb Ipv6LeakProbe anti 2026-05-21 14:27:48 -04:00
  • b80e621904 fix(prober): consolidate ip route get to single call + log bare excepts anti 2026-05-21 14:16:42 -04:00
  • 1123e50325 fix(sniffer): add missing syslog_bridge.py to template build context anti 2026-05-20 22:22:47 -04:00
  • 6865abcff9 chore(make): drop cowrie from build-all (legacy, unused) anti 2026-05-20 22:20:09 -04:00
  • dee208ad25 feat(make): add build-all to pre-build all 28 decky template images anti 2026-05-20 22:19:40 -04:00
  • a0f10d2c00 feat(ui): add renderers for ja4h, http2/3 settings, ja4-quic fingerprints anti 2026-05-20 22:15:02 -04:00
  • 7bac3a29c6 fix(ingester): retry get_state on startup DB errors; bump deps + rename behave packages anti 2026-05-20 22:10:15 -04:00
  • 916b21b652 refactor(prober): ActiveProbe ABC + ActiveProbeMeta registry anti 2026-05-17 23:16:35 -04:00
  • 3977f06374 feat(ttp/ipv6_leak): wire Ipv6LeakLifter into composite tagger and worker anti 2026-05-17 20:41:55 -04:00
  • 11d9273c99 docs(bus): document ipv6_leak payload kind on ATTACKER_FINGERPRINTED anti 2026-05-17 20:22:55 -04:00
  • 9056e33962 feat(ttp): Ipv6LeakLifter + R0059 rule for IPv6 link-local opsec failures anti 2026-05-17 20:22:26 -04:00
  • 504340745e feat(prober): active IPv6 link-local solicitation phase anti 2026-05-17 20:20:19 -04:00
  • aa833ddda9 feat(sniffer): passive IPv6 link-local leak detection anti 2026-05-17 20:16:29 -04:00
  • 69ecc4cc20 feat(models): add IPv6 link-local leak columns to Attacker + AttackerIdentity anti 2026-05-17 20:12:08 -04:00
  • b390a35262 feat(ttp): add Ipv6LinkLocalLeakEvidence TypedDict + EVIDENCE_SCHEMA entry anti 2026-05-17 20:10:51 -04:00
  • 3e6587e073 fix(lint): prefix unused params with _ to silence vulture 80% findings anti 2026-05-17 20:08:54 -04:00
  • 4586e36d63 fix(test/schema): pin xdist_group to prevent multi-server startup, cap workers at 4 anti 2026-05-16 18:36:26 -04:00
  • 8b3f74b39b fix(deps): pin urllib3>=2.7.0 to resolve CVE-2026-44431 and CVE-2026-44432 anti 2026-05-16 18:26:47 -04:00
  • 0fe9f895d0 feat(test): add test-schema target and SCHEMA_QUICK=1 mode for schemathesis anti 2026-05-16 18:25:40 -04:00
  • ac332a6ba9 fix(live/mysql): use pytest_asyncio.fixture(loop_scope=module) on mysql_repo anti 2026-05-10 22:45:05 -04:00
  • e26876ee92 fix(makefile): add -m markers to live/docker/stress/bench targets anti 2026-05-10 22:43:33 -04:00
  • 6a91858c15 fix(https-template): wire TLS_CERT/TLS_KEY into make_server ssl_context anti 2026-05-10 22:39:24 -04:00
  • 54dede5077 feat(makefile): add static analysis targets and xdist to SEQ_FLAGS anti 2026-05-10 22:37:30 -04:00
  • b41a7e3115 fix(live tests): use @pytest_asyncio.fixture for module-scoped async fixtures anti 2026-05-10 22:30:56 -04:00
  • ab18cd7797 fix(live tests): replace deprecated event_loop fixture with loop_scope="module" on async fixtures anti 2026-05-10 22:29:57 -04:00
  • 0403cfc6a2 perf(pytest): switch xdist workers from -n 4 to -n logical anti 2026-05-10 22:28:04 -04:00
  • 349f88252a chore: add Makefile with per-suite test targets; gitignore ATT&CK bundle and pytest dump anti 2026-05-10 22:27:54 -04:00
  • 59d3351306 fix(fleet): strip digest from build_base tag before APT compatibility check; mark wizard done anti 2026-05-10 22:27:47 -04:00
  • 80fff1efa4 fix(web): coerce fingerprint_type to string; sync frontend types and tests anti 2026-05-10 22:27:38 -04:00
  • a009746dd1 feat(fingerprint): extend syslog_bridge with HTTP/3 and JA4H fingerprinting emission anti 2026-05-10 22:27:22 -04:00
  • 52f2f65fa3 fix(tests): fix stale asyncio.sleep patches and missing tarpit guards in service isolation tests anti 2026-05-10 22:10:54 -04:00
  • ff51ce55e2 fix(tests): eliminate tarpit OOM from global asyncio.sleep mock anti 2026-05-10 10:06:21 -04:00
  • a2c34cac02 fix(tests): prevent xdist worker OOM from leaked tarpit asyncio task anti 2026-05-10 09:53:25 -04:00
  • 9a7b03700c refactor(intel): migrate AttackerIntel JSON-string columns to native SQLAlchemy JSON anti 2026-05-10 09:17:15 -04:00
  • de3634d739 feat(ttp): enable 6 xfail tests — evidence shape + tracing spans anti 2026-05-10 08:51:07 -04:00
  • c39b63a431 test(ttp): enable test_dropped_intel_enriched_still_produces_intel_tags anti 2026-05-10 08:30:44 -04:00
  • 6e7020f2aa feat(ttp): implement E.3.14b intel catch-up via attacker.session.ended anti 2026-05-10 08:27:22 -04:00
  • 471b33df1b feat(ttp): enable test_abuseipdb_score_30_dropped — impl was already done anti 2026-05-10 08:08:29 -04:00
  • 39518e33b4 feat(ttp): implement evidence-shape validation and confidence range constraint anti 2026-05-10 07:56:52 -04:00
  • a8f6a28f3a fix(test): pre-import decnet.cli at collection time to prevent agent-mode stripping anti 2026-05-10 07:32:43 -04:00
  • 8f6f56f481 fix(test): restore decnet.cli in sys.modules via monkeypatch to prevent agent-mode app stripping from leaking into subsequent tests anti 2026-05-10 07:18:50 -04:00
  • 6fecf45dcd fix(orchestrator/tests): attribute access on TopologySummary, not dict anti 2026-05-10 07:11:14 -04:00
  • 4c8ef2f104 fix(orchestrator): _topology_personas accepts TopologySummary or dict anti 2026-05-10 07:08:39 -04:00
  • 64610bf96e fix(tests): sync 4 tests to current production contracts anti 2026-05-10 06:48:42 -04:00
  • e4626879f6 perf(pytest): 194s → 4s collection — lazy heavy imports + norecursedirs anti 2026-05-10 06:41:25 -04:00
  • f63aca4186 fix(test): reset _cached_backend before factory dispatch tests anti 2026-05-10 05:47:26 -04:00
  • 95593cb804 fix(test): access DeckyRow.uuid as attribute, not dict key anti 2026-05-10 05:36:07 -04:00
  • 16e032b7a5 fix(test): access LANRow.id as attribute, not dict key anti 2026-05-10 05:26:49 -04:00
  • 967aec56d2 fix(bundle): prune node_modules during agent tarball walk anti 2026-05-10 05:17:32 -04:00
  • d3899dde96 fix(test): scrub DECNET_CORS_ORIGINS before domain-sections ini test anti 2026-05-10 05:17:00 -04:00
  • c2693aafc3 fix(clustering): filter extra fp keys before splatting into update_identity_fingerprints anti 2026-05-10 04:51:49 -04:00
  • 92f43b4655 fix(fleet): update BASE_IMAGE test to allow digest-pinned image refs anti 2026-05-10 04:51:18 -04:00
  • f11def0af1 fix(collector): strip port from remote_addr before attacker identity resolution anti 2026-05-10 04:06:42 -04:00
  • 6a6f5807aa fix(pr3): adapt to quic-go v0.59.0 API — drop H3App, capture h3 SETTINGS via http3.Settingser anti 2026-05-10 03:43:34 -04:00
  • 5675dd8ebc feat(pr3): canonical wire-order header capture for h1/h2 + H3App for SETTINGS anti 2026-05-10 03:29:00 -04:00
  • 8d1f26c0c7 fix(https): move Flask backend to 8443 to avoid netns conflict with http service on 8080 anti 2026-05-10 02:31:08 -04:00