Commit Graph

1119 Commits

Author SHA1 Message Date
surya e8124990af [fix]: align pnpm override with lockfile version
overrides.vite was pinned to npm:rolldown-vite@7.2.5 while
devDependencies and pnpm-lock.yaml both resolved 7.3.1. The mismatch
can produce ERR_PNPM_OUTDATED_LOCKFILE on --frozen-lockfile installs.
Updated override to 7.3.1 to match the resolved version throughout
the lockfile. No lockfile edits required.
2026-07-06 18:01:34 +05:30
surya b34afd61b9 [refactor]: relocate backend entrypoint outside bind mount
Moved entrypoint.sh copy target from /app/entrypoint.sh to
/entrypoint.sh in the dev Dockerfile. The dev compose bind mount
./backend:/app overlays /app entirely; placing the entrypoint above
that boundary ensures the image-baked script is never shadowed by
host directory contents. No startup failure was reproduced — this
is a preventive hardening change.
2026-07-06 18:01:04 +05:30
surya 1709e0cf0a [fix]: preserve pre-encoded payloads in simulator requests
urllib.parse.quote(path, safe='/?&=') was re-encoding % to %25 in
already-encoded attack paths (XXE, XSS, traversal payloads). Replaced
with a manual first-? split: path component encoded with safe='/%\'
(preserving existing percent sequences and backslash traversal vectors),
query string passed through untouched. Covers all 53 attack payloads
across 7 simulation modes. Inline comments removed from XXE_PAYLOADS
to match the style of all other payload lists.
2026-07-06 18:00:52 +05:30
surya fd5f6a74f1 [fix]: correct encoded SYSTEM XXE regex matching
The final branch of _XXE_INJECTION was missing % separators between
hex pairs. Pattern %(?:25)?53(?:25)?59... never matched because after
consuming %53 the next sub-pattern expected 5 or 2, not %. Fixed by
inserting % anchors between each pair so both single-encoded
(%53%59%53%54%45%4D) and double-encoded (%2553%2559...) SYSTEM strings
match correctly. All existing XXE branches are unaffected.
2026-07-06 18:00:25 +05:30
surya b29476d1d8 [chore]: bump rolldown-vite to 7.3.1 and migrate pnpm overrides to root 2026-07-04 21:36:38 +05:30
surya ae159b3e7a [chore]: copy lockfile and workspace config before pnpm install in Dockerfiles 2026-07-04 21:36:29 +05:30
surya 7f536cb617 [fix]: correct postgres volume mount path to /var/lib/postgresql 2026-07-04 21:36:16 +05:30
surya 614fc12bf2 [feat]: add xxe simulation mode with 5 XXE payload variants 2026-07-04 21:36:12 +05:30
surya a12df57316 [feat]: register XXE_INJECTION detection rule with score 0.82 2026-07-04 21:36:08 +05:30
surya 22c9f66dcf [feat]: add XXE_INJECTION regex pattern to ATTACK_COMBINED 2026-07-04 21:36:03 +05:30
Carter Perez 51830a5ae8
Merge pull request #293 from CarterPerez-dev/chore/certgames-resource-links
docs: broaden CertGames positioning across roadmaps and resources
2026-06-30 10:26:25 -04:00
CarterPerez-dev d2f6f7bae4 docs: broaden CertGames positioning across roadmaps and resources 2026-06-30 10:22:31 -04:00
Carter Perez d6b02e1ef6
Update FUNDING.yml 2026-06-30 09:39:03 -04:00
Carter Perez a3ecda91a9
Update FUNDING.yml 2026-06-30 09:36:55 -04:00
Carter Perez 0a5ba94a29
Update README.md 2026-06-30 03:19:46 -04:00
Carter Perez 90366fbe7c
Merge pull request #290 from CarterPerez-dev/dependabot/pip/PROJECTS/intermediate/api-security-scanner/backend/pydantic-settings-2.14.2
chore(deps): bump pydantic-settings from 2.12.0 to 2.14.2 in /PROJECTS/intermediate/api-security-scanner/backend
2026-06-21 08:56:32 -04:00
dependabot[bot] 54b820c5fe
chore(deps): bump pydantic-settings
Bumps [pydantic-settings](https://github.com/pydantic/pydantic-settings) from 2.12.0 to 2.14.2.
- [Release notes](https://github.com/pydantic/pydantic-settings/releases)
- [Commits](https://github.com/pydantic/pydantic-settings/compare/v2.12.0...v2.14.2)

---
updated-dependencies:
- dependency-name: pydantic-settings
  dependency-version: 2.14.2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-20 01:35:21 +00:00
Carter Perez 558acc1001
Merge pull request #289 from CarterPerez-dev/project/kernel-rootkit-detection
Project/kernel rootkit detection
2026-06-19 00:11:05 -04:00
CarterPerez-dev 2466a80ce2 feat(cre): one-shot curl|bash installer for credential-rotation-enforcer
- fresh-machine to 'cre' on PATH, runnable from a clone or piped from the web
2026-06-18 23:24:30 -04:00
CarterPerez-dev ab22c3b1b8 feat(tlsfp): add social-share OG image and one-command tunnel redeploy
- add 1200x630 og-image.jpg plus Open Graph and Twitter Card meta tags so
  the live demo renders a rich preview when shared (LinkedIn, etc.)
- omit og:url to avoid crawler cache canonicalizing share URLs back to a
  stale entry
- justfile: add redeploy recipe (tunnel down, cached build, up -d with the
  backend profile and remove-orphans); strip the exported dev .env overrides
  so it deploys under the prod project name and ports
- install.sh: clearer live-capture hint (setcap, then run without sudo)
2026-06-18 23:24:30 -04:00
Carter Perez 5ba13d42fd
Merge pull request #288 from CarterPerez-dev/chore/update-copy
the helictopter has been circling for 40 minutes. thats not a normal …
2026-06-18 21:28:17 -04:00
Carter Perez ca350a3df2
Merge pull request #287 from CarterPerez-dev/dependabot/npm_and_yarn/PROJECTS/intermediate/ja3-ja4-tls-fingerprinting/frontend/axios-1.16.0
chore(deps): bump axios from 1.13.2 to 1.16.0 in /PROJECTS/intermediate/ja3-ja4-tls-fingerprinting/frontend
2026-06-18 21:27:53 -04:00
CarterPerez-dev 06c51dde8f the helictopter has been circling for 40 minutes. thats not a normal amount of time to be circling. 2026-06-18 21:25:00 -04:00
Carter Perez e3d854e7d1
Update README.md 2026-06-18 19:41:48 -04:00
dependabot[bot] 8382f29f9d
chore(deps): bump axios
Bumps [axios](https://github.com/axios/axios) from 1.13.2 to 1.16.0.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.13.2...v1.16.0)

---
updated-dependencies:
- dependency-name: axios
  dependency-version: 1.16.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-18 23:40:29 +00:00
Carter Perez 21741e0906
Merge pull request #286 from CarterPerez-dev/project/ja3-ja4-tls-fingerprinting
Project/ja3 ja4 tls fingerprinting
2026-06-18 19:38:51 -04:00
CarterPerez-dev fb8e8c0ac9 chore(ja3-ja4-tls-fingerprinting): untrack accidentally committed frontend/.pnpm-store 2026-06-18 19:32:46 -04:00
CarterPerez-dev e87efe7e29 i count the tiles every morning. today there's one more. there's always one more. 2026-06-18 19:28:21 -04:00
Carter Perez 3347843c61
Merge pull request #284 from CarterPerez-dev/dependabot/go_modules/PROJECTS/beginner/canary-token-generator/backend/github.com/go-chi/chi/v5-5.2.4
chore(deps): bump github.com/go-chi/chi/v5 from 5.2.3 to 5.2.4 in /PROJECTS/beginner/canary-token-generator/backend
2026-06-18 19:04:41 -04:00
Carter Perez 0d9e3442f7
Merge pull request #285 from CarterPerez-dev/dependabot/uv/PROJECTS/beginner/metadata-scrubber-tool/pypdf-6.13.3
chore(deps): bump pypdf from 6.12.0 to 6.13.3 in /PROJECTS/beginner/metadata-scrubber-tool
2026-06-18 19:04:29 -04:00
CarterPerez-dev 56c2b0233c the hallway is four steps longer at night. i've confirmed this. 2026-06-18 17:40:31 -04:00
dependabot[bot] 28553a9703
chore(deps): bump pypdf in /PROJECTS/beginner/metadata-scrubber-tool
Bumps [pypdf](https://github.com/py-pdf/pypdf) from 6.12.0 to 6.13.3.
- [Release notes](https://github.com/py-pdf/pypdf/releases)
- [Changelog](https://github.com/py-pdf/pypdf/blob/main/CHANGELOG.md)
- [Commits](https://github.com/py-pdf/pypdf/compare/6.12.0...6.13.3)

---
updated-dependencies:
- dependency-name: pypdf
  dependency-version: 6.13.3
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-18 15:28:54 +00:00
CarterPerez-dev 4bb95fdb97 feat(ja3-ja4-tls-fingerprinting): M11 forensic pcap report, criterion benches, TLS miss-rate counter
Add a --report flag to the pcap command that prints one forensic summary of
a whole capture (endpoint inventory, fingerprint distribution, intel verdicts,
detection alerts, and a coverage section with the TLS miss rate and throughput)
instead of the per-event stream, folding in intel and detection automatically
when a seeded database is present. Add a tls_handshakes_fingerprinted counter
and Counters::tls_miss_rate so truncated and multi-segment ClientHellos the
capture clipped are reported rather than mistaken for absence. Add criterion
benches over the vendored captures and the parse/hash hot path. Plus frontend
landing and asset polish.
2026-06-18 11:19:13 -04:00
dependabot[bot] f742a39b65
chore(deps): bump github.com/go-chi/chi/v5
Bumps [github.com/go-chi/chi/v5](https://github.com/go-chi/chi) from 5.2.3 to 5.2.4.
- [Release notes](https://github.com/go-chi/chi/releases)
- [Changelog](https://github.com/go-chi/chi/blob/master/CHANGELOG.md)
- [Commits](https://github.com/go-chi/chi/compare/v5.2.3...v5.2.4)

---
updated-dependencies:
- dependency-name: github.com/go-chi/chi/v5
  dependency-version: 5.2.4
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-18 14:09:37 +00:00
CarterPerez-dev b689b4ceb9 lol 2026-06-17 15:40:25 -04:00
Carter Perez ddbe7b2387
Merge pull request #281 from CarterPerez-dev/dependabot/uv/PROJECTS/advanced/bug-bounty-platform/backend/pyjwt-2.13.0
chore(deps): bump pyjwt from 2.12.0 to 2.13.0 in /PROJECTS/advanced/bug-bounty-platform/backend
2026-06-16 10:05:48 -04:00
Carter Perez 9ef9a85925
Merge pull request #282 from CarterPerez-dev/dependabot/uv/PROJECTS/advanced/api-rate-limiter/pyjwt-2.13.0
chore(deps): bump pyjwt from 2.12.0 to 2.13.0 in /PROJECTS/advanced/api-rate-limiter
2026-06-16 10:05:40 -04:00
dependabot[bot] 7bb2319b78
chore(deps): bump pyjwt in /PROJECTS/advanced/api-rate-limiter
Bumps [pyjwt](https://github.com/jpadilla/pyjwt) from 2.12.0 to 2.13.0.
- [Release notes](https://github.com/jpadilla/pyjwt/releases)
- [Changelog](https://github.com/jpadilla/pyjwt/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/jpadilla/pyjwt/compare/2.12.0...2.13.0)

---
updated-dependencies:
- dependency-name: pyjwt
  dependency-version: 2.13.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-16 12:07:25 +00:00
CarterPerez-dev c7e4f7572c feat(hsm-emulator): materialize default key-usage attributes per object class
materializeDefaults now sets CKA_ENCRYPT/DECRYPT/SIGN/VERIFY/SIGN_RECOVER/VERIFY_RECOVER/WRAP/UNWRAP/DERIVE (plus ALWAYS_AUTHENTICATE for private keys) to CK_FALSE when absent, per CKO_PUBLIC_KEY/PRIVATE_KEY/SECRET_KEY; smoke sets the RSA wrap and recover usage flags.
2026-06-16 03:07:03 -04:00
CarterPerez-dev 1bb94b08eb feat(ja3-ja4-tls-fingerprinting): M8 SQLite intel store + M9 detection engine
M8: tlsfp-intel crate with seeded fingerprint DB, JA4 fuzzy matcher, prevalence scoring.
M9: six detection rules (known_bad, ua_mismatch, os_mismatch, first_seen, fp_rotation, monoculture) over an observation/alert store (migration v2); --detect on pcap/live plus an intel alerts feed; user_agent plumbed through StreamEvent::HttpRequest.
M10 scaffolding: cybercore frontend, compose/infra/install groundwork (serve not yet wired).
Relicense MIT -> AGPL-3.0; ignore env/node_modules/dist; exclude seed CSVs from whitespace hooks.
2026-06-16 03:06:31 -04:00
dependabot[bot] ba83b180bb
chore(deps): bump pyjwt
Bumps [pyjwt](https://github.com/jpadilla/pyjwt) from 2.12.0 to 2.13.0.
- [Release notes](https://github.com/jpadilla/pyjwt/releases)
- [Changelog](https://github.com/jpadilla/pyjwt/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/jpadilla/pyjwt/compare/2.12.0...2.13.0)

---
updated-dependencies:
- dependency-name: pyjwt
  dependency-version: 2.13.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-16 02:40:51 +00:00
Carter Perez fbf264ecfa
Merge pull request #279 from CarterPerez-dev/dependabot/uv/PROJECTS/beginner/metadata-scrubber-tool/pypdf-6.12.0
chore(deps): bump pypdf from 6.10.2 to 6.12.0 in /PROJECTS/beginner/metadata-scrubber-tool
2026-06-15 06:10:33 -04:00
CarterPerez-dev 7845d9a1d9 m1-7 2026-06-14 02:38:11 -04:00
dependabot[bot] d3cc416254
chore(deps): bump pypdf in /PROJECTS/beginner/metadata-scrubber-tool
Bumps [pypdf](https://github.com/py-pdf/pypdf) from 6.10.2 to 6.12.0.
- [Release notes](https://github.com/py-pdf/pypdf/releases)
- [Changelog](https://github.com/py-pdf/pypdf/blob/main/CHANGELOG.md)
- [Commits](https://github.com/py-pdf/pypdf/compare/6.10.2...6.12.0)

---
updated-dependencies:
- dependency-name: pypdf
  dependency-version: 6.12.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-12 19:03:01 +00:00
CarterPerez-dev e4207b343a feat(ja3-ja4-tls-fingerprinting): JA3/JA4 TLS fingerprinting tool in Rust (M0-M5)
Passive TLS client and server fingerprinting from packet captures. Two-crate
workspace: tlsfp-core (parsing and fingerprint logic, no I/O, unsafe forbidden)
and tlsfp (clap CLI). Edition 2024, MSRV 1.85.

Core (M0-M4): a hand-rolled bounds-checked TLS parser for ClientHello,
ServerHello, and the TLS 1.2 Certificate chain, plus the full fingerprint
family computed byte-exact against published vectors: JA3/JA3S (MD5), JA4/JA4_r,
JA4S, JA4H, JA4X, and JA4T. GREASE is stripped, wire order and unknown cipher
and extension values are preserved.

Pipeline (M5): a pcap and pcapng file reader behind a PacketSource trait,
etherparse L2-L4 decode (Ethernet, raw IP, BSD loopback, Linux SLL and SLL2,
VLAN and QinQ), and a hand-rolled per-flow TCP reassembler with wrapping serial
arithmetic, out-of-order parking, first-write-wins overlap resolution, and
bounded memory. The tlsfp pcap subcommand fingerprints every handshake in a
capture, as readable lines or NDJSON.

Verified three ways: 94 tests including unit KATs, nine real-pcap full-pipeline
KATs against the FoxIO sample corpus, and property tests that reassemble
arbitrarily segmented and reordered streams. Builds clean on stable and MSRV
1.85; clippy -D warnings and rustfmt clean.

Test captures under testdata/pcap are vendored unmodified from the FoxIO ja4
repository with per-file SHA-256 provenance.
2026-06-10 08:01:24 -04:00
Carter Perez 59b32d2032
Merge pull request #277 from CarterPerez-dev/dependabot/uv/PROJECTS/advanced/ai-threat-detection/backend/pyarrow-23.0.1
chore(deps): bump pyarrow from 22.0.0 to 23.0.1 in /PROJECTS/advanced/ai-threat-detection/backend
2026-06-09 02:29:18 -04:00
dependabot[bot] 3af80845a1
chore(deps): bump pyarrow
Bumps [pyarrow](https://github.com/apache/arrow) from 22.0.0 to 23.0.1.
- [Release notes](https://github.com/apache/arrow/releases)
- [Commits](https://github.com/apache/arrow/compare/apache-arrow-22.0.0...apache-arrow-23.0.1)

---
updated-dependencies:
- dependency-name: pyarrow
  dependency-version: 23.0.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-05 23:50:09 +00:00
Carter Perez 35efe0806d
Update README.md 2026-06-05 13:18:57 -04:00
Carter Perez c189d2047a
Merge pull request #276 from CarterPerez-dev/dependabot/npm_and_yarn/PROJECTS/beginner/canary-token-generator/frontend/axios-1.16.0
chore(deps): bump axios from 1.15.2 to 1.16.0 in /PROJECTS/beginner/canary-token-generator/frontend
2026-06-05 13:12:36 -04:00
dependabot[bot] f18e8e5e5e
chore(deps): bump axios
Bumps [axios](https://github.com/axios/axios) from 1.15.2 to 1.16.0.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.15.2...v1.16.0)

---
updated-dependencies:
- dependency-name: axios
  dependency-version: 1.16.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-05 08:33:15 +00:00