This website requires JavaScript.
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