Commit graph

1,572 commits

Author SHA1 Message Date
83c16b7c5e fix: disambiguate main branch checkout in mirror-sync
git checkout main is ambiguous when both origin/main and mirror/main
exist. Use -B to explicitly create from origin/main.
2026-05-30 22:00:52 -07:00
76fd35d996 spork: add mirror-sync workflow
Bootstrap the blumeops branch with the spork mirror-sync
workflow. See blumeops docs/explanation/spork-strategy.md.
2026-05-30 22:00:52 -07:00
Mick Grove
c627cc55db
Merge pull request #395 from mongodb/development
Add Docker --archive support and fix bugs
2026-05-29 00:02:14 -07:00
Mick Grove
cf6c4cae0d fixed failing windows test 2026-05-28 23:59:19 -07:00
Mick Grove
e1c61f8f33 updated docs 2026-05-28 21:10:18 -07:00
Mick Grove
31af4b4f6f updated docs 2026-05-28 21:01:44 -07:00
Mick Grove
dae93afcdd updated docs 2026-05-28 20:21:07 -07:00
Mick Grove
93b48e86df fixing bugs 2026-05-28 20:09:08 -07:00
Mick Grove
7fc01e5aca fixing bugs 2026-05-28 18:39:45 -07:00
Mick Grove
7d4719c7c5 add docker --archive support 2026-05-28 15:50:15 -07:00
Mick Grove
816a75e3e4 add docker --archive support 2026-05-28 13:54:59 -07:00
Mick Grove
0552d67df7 Authored Devin / Cognition rule 2026-05-27 17:55:32 -07:00
Mick Grove
6f560103cc
Merge pull request #388 from mongodb/development
Unify JWT crypto backend and improve validation panic handling
2026-05-22 15:37:38 -07:00
Mick Grove
a0d2fa3611 merged 2 PRs and updated changelog 2026-05-22 13:15:59 -07:00
Mick Grove
bb7fea155e merged 2 PRs and updated changelog 2026-05-22 14:17:59 -04:00
Mick Grove
207174e1a8 merged 2 PRs and updated changelog 2026-05-22 12:37:37 -04:00
Mick Grove
b1fb90b4c9
Merge pull request #387 from AgentEnder/codex/contain-validator-panics
fix(validation): contain validator panics
2026-05-22 12:34:17 -04:00
Mick Grove
5d8bc3e88c
Merge pull request #386 from AgentEnder/codex/fix-jwt-provider-panic
fix(jwt): unify jsonwebtoken crypto backend
2026-05-22 12:05:30 -04:00
Mick Grove
138eefe2b9 Fixed failed to spawn thread: Os { code: 11, kind: WouldBlock } panics during validation-heavy scans. Kingfisher built two Tokio runtimes (main + artifact-fetcher) that each defaulted to 512 blocking threads, which combined with Rayon pools and per-call spawns could exceed the OS per-user thread limit (RLIMIT_NPROC, default 8000 on macOS). Both runtimes now cap their blocking pools at max(num_jobs * 8, 32), and on Unix the soft RLIMIT_NPROC is raised to the hard limit at startup so users don't need to tune ulimit -u manually. 2026-05-22 11:50:47 -04:00
Craigory Coppola
fd13f268f0 fix(validation): redact panic payloads and clarify panic handling
Addresses review feedback on the validator panic-containment change:

- Keep raw panic payloads out of the cached and user-visible
  `validation_response_body`, since a panic message can embed secret
  material (e.g. a token captured in a debug string). The visible body
  now reports only the stable rule id, and the detailed payload is
  emitted via truncated structured logging.
- Replace the nested `Result<Result<(), String>, Elapsed>` with a
  self-describing `ValidationOutcome` enum (`Completed` / `Panicked` /
  `TimedOut`) so call sites and signatures read clearly.
- Document why the `AssertUnwindSafe` panic boundary is sound: the
  recovery path deterministically resets the match's validation fields,
  and the shared counters/cache are only mutated after the boundary
  returns, so an unwind cannot leave them inconsistent.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-05-21 23:02:57 -04:00
Craigory Coppola
d2e4e2f737 fix(validation): contain validator panics 2026-05-21 21:56:21 -04:00
Craigory Coppola
ebd8acfc1b test(jwt): generate ephemeral RSA keypair in RS256 regression test
- Replace the inline RS256 token and committed public key with a
  throwaway RSA keypair generated at runtime; the token is signed from
  readable claims so no key material or opaque blobs live in the repo
- Add `rsa` as a dev-only dependency (getrandom feature) for in-test
  key generation; release binary is unaffected

Addresses review feedback on #386.
2026-05-21 21:56:01 -04:00
Craigory Coppola
f71b9d826d fix(jwt): unify jsonwebtoken crypto backend 2026-05-21 21:15:41 -04:00
Mick Grove
e332d4eebb
Merge pull request #382 from mongodb/development
v1.100.0
2026-05-19 04:16:57 -07:00
Mick Grove
c67dcc049d preparing for v1.100.0 2026-05-18 23:39:05 -04:00
Mick Grove
1830a140d8 preparing for v1.100.0 2026-05-18 22:28:19 -04:00
Mick Grove
a8e01c4a6e preparing for v1.100.0 2026-05-18 18:33:42 -07:00
Mick Grove
a148a153ac preparing for v1.100.0 2026-05-18 18:12:27 -07:00
Mick Grove
d125d68e88 preparing for v1.100.0 2026-05-18 16:11:15 -07:00
Mick Grove
f1c6f50d9a preparing for v1.100.0 2026-05-18 15:51:16 -07:00
Mick Grove
b58eed2696 preparing for v1.100.0 2026-05-18 15:19:11 -07:00
Mick Grove
91d9f431c5 preparing for v1.100.0 2026-05-18 14:27:01 -07:00
Mick Grove
514832b533 preparing for v1.100.0 2026-05-18 14:13:30 -07:00
Mick Grove
0dedcef95f preparing for v1.100.0 2026-05-18 13:25:13 -07:00
Mick Grove
54d9fc7ecd preparing for v1.100.0 2026-05-18 13:03:16 -07:00
Mick Grove
1636b07810 preparing for v1.100.0 2026-05-18 09:42:04 -07:00
Mick Grove
31663b03b5 Release binary trimmed from 34 MB to 26 MB (~24% smaller). Switched jsonwebtoken to its rust_crypto backend (eliminates our scanner's pull on aws-lc-rs), bumped workspace hmac 0.12→0.13, sha1 0.10→0.11, sha2 0.10→0.11 to deduplicate our internal crypto code with the AWS sigv4 side, and migrated affected call sites in kingfisher-core, kingfisher-rules, and kingfisher-scanner to the digest-0.11 API (hex::encode for hex digests, explicit KeyInit import for HMAC). 2026-05-07 13:46:17 -07:00
Mick Grove
34b5c48888 - Archive scanning now reaches inside Android/iOS app packages: added apk, aab, and ipa to the recognized ZIP-based archive formats so secrets embedded in APK/AAB/IPA contents (e.g. classes*.dex, res/values/strings.xml) are extracted and matched. --
- Git repository scans now extract archive blobs encountered in the object database, not just on the filesystem. Previously a .zip/.jar/.apk/.tar.gz committed to a repo was scanned as raw compressed bytes, so secrets inside it were invisible. The git enumerator fans each archive entry out as a synthetic blob with the original commit metadata. Honors --no-extract-archives for opt-out.
- Performance: ZIP-based git blobs ≤ 64 MB extract entirely in memory (no temp-file round trip), beating the v1.99.0 baseline by ~15% on a 80 GiB monorepo despite scanning ~300K additional archive-content blobs. Larger archives auto-fall-back to a disk-streaming extractor.
- Memory safety: hard caps on archive extraction — 64 MB compressed pre-flight, 256 MB aggregate decompressed per archive (in-memory and disk paths), 512 MB per entry, plus a PK\x03\x04 magic-byte gate. Worst-case footprint is bounded at ~num_jobs * 320 MB.
2026-05-06 17:50:35 -07:00
Mick Grove
07644722fd
Merge pull request #376 from mongodb/development 2026-05-05 09:27:54 -07:00
Mick Grove
c60af90a89 preparing for v1.99.0 2026-05-05 09:25:19 -07:00
Mick Grove
237491f994
Merge pull request #375 from mongodb/development 2026-05-05 09:15:26 -07:00
Mick Grove
08457b8b69 preparing for v1.99.0 2026-05-05 09:00:33 -07:00
Mick Grove
81f48ba0a4
Merge pull request #374 from mongodb/development 2026-05-05 08:20:02 -07:00
Mick Grove
12c141bfac preparing for v1.99.0 2026-05-05 07:08:40 -07:00
Mick Grove
aca11be36d preparing for v1.99.0 2026-05-04 23:47:48 -07:00
Mick Grove
d88e19e0e1 preparing for v1.99.0 2026-05-04 23:11:48 -07:00
Mick Grove
394d05dd4d preparing for v1.99.0 2026-05-04 23:10:16 -07:00
Mick Grove
c26af22d77
Merge pull request #372 from mongodb/development 2026-05-04 21:55:55 -07:00
Mick Grove
910d6d9dd3 preparing for v1.99.0 2026-05-04 19:24:46 -07:00
Mick Grove
bacdca6a52 preparing for v1.99.0 2026-05-04 19:00:45 -07:00