Skip to content

deps: bump eslint from 8.57.1 to 10.1.0#5

Merged
cdayAI merged 1 commit into
mainfrom
dependabot/npm_and_yarn/eslint-10.1.0
Mar 21, 2026
Merged

deps: bump eslint from 8.57.1 to 10.1.0#5
cdayAI merged 1 commit into
mainfrom
dependabot/npm_and_yarn/eslint-10.1.0

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot Bot commented on behalf of github Mar 21, 2026

Bumps eslint from 8.57.1 to 10.1.0.

Release notes

Sourced from eslint's releases.

v10.1.0

Features

  • ff4382b feat: apply fix for no-var in TSModuleBlock (#20638) (Tanuj Kanti)
  • 0916995 feat: Implement api support for bulk-suppressions (#20565) (Blake Sager)

Bug Fixes

  • 2b8824e fix: Prevent no-var autofix when a variable is used before declaration (#20464) (Amaresh S M)
  • e58b4bf fix: update eslint (#20597) (renovate[bot])

Documentation

  • b7b57fe docs: use correct JSDoc link in require-jsdoc.md (#20641) (mkemna-clb)
  • 58e4cfc docs: add deprecation notice partial (#20639) (Milos Djermanovic)
  • 7143dbf docs: update v9 migration guide for @eslint/js usage (#20540) (fnx)
  • 035fc4f docs: note that globalReturn applies only with sourceType: "script" (#20630) (Milos Djermanovic)
  • e972c88 docs: merge ESLint option descriptions into type definitions (#20608) (Francesco Trotta)
  • 7f10d84 docs: Update README (GitHub Actions Bot)
  • aeed007 docs: open playground link in new tab (#20602) (Tanuj Kanti)
  • a0d1a37 docs: Add AI Usage Policy (#20510) (Nicholas C. Zakas)

Chores

  • a9f9cce chore: update dependency eslint-plugin-unicorn to ^63.0.0 (#20584) (Milos Djermanovic)
  • 1f42bd7 chore: update prettier to 3.8.1 (#20651) (루밀LuMir)
  • c0a6f4a chore: update dependency @​eslint/json to ^1.2.0 (#20652) (renovate[bot])
  • cc43f79 chore: update dependency c8 to v11 (#20650) (renovate[bot])
  • 2ce4635 chore: update dependency @​eslint/json to v1 (#20649) (renovate[bot])
  • f0406ee chore: update dependency markdownlint-cli2 to ^0.21.0 (#20646) (renovate[bot])
  • dbb4c95 chore: remove trunk (#20478) (sethamus)
  • c672a2a test: fix CLI test for empty output file (#20640) (kuldeep kumar)
  • c7ada24 ci: bump pnpm/action-setup from 4.3.0 to 4.4.0 (#20636) (dependabot[bot])
  • 07c4b8b test: fix RuleTester test without test runners (#20631) (Francesco Trotta)
  • 079bba7 test: Add tests for isValidWithUnicodeFlag (#20601) (Manish chaudhary)
  • 5885ae6 ci: unpin Node.js 25.x in CI (#20615) (Copilot)
  • f65e5d3 chore: update pnpm/action-setup digest to b906aff (#20610) (renovate[bot])

v10.0.3

Bug Fixes

  • e511b58 fix: update eslint (#20595) (renovate[bot])
  • f4c9cf9 fix: include variable name in no-useless-assignment message (#20581) (sethamus)
  • ee9ff31 fix: update dependency minimatch to ^10.2.4 (#20562) (Milos Djermanovic)

Documentation

  • 9fc31b0 docs: Update README (GitHub Actions Bot)
  • 4efaa36 docs: add info box for eslint-plugin-eslint-comments (#20570) (DesselBane)
  • 23b2759 docs: add v10 migration guide link to Use docs index (#20577) (Pixel998)
  • 80259a9 docs: Remove deprecated eslintrc documentation files (#20472) (Copilot)
  • 9b9b4ba docs: fix typo in no-await-in-loop documentation (#20575) (Pixel998)
  • e7d72a7 docs: document TypeScript 5.3 minimum supported version (#20547) (sethamus)

Chores

  • ef8fb92 chore: package.json update for eslint-config-eslint release (Jenkins)

... (truncated)

Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [eslint](https://github.com/eslint/eslint) from 8.57.1 to 10.1.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](eslint/eslint@v8.57.1...v10.1.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-version: 10.1.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot @github
Copy link
Copy Markdown
Contributor Author

dependabot Bot commented on behalf of github Mar 21, 2026

Labels

The following labels could not be found: dependencies. Please create it before Dependabot can add it to a pull request.

Please fix the above issues or remove invalid values from dependabot.yml.

@dependabot dependabot Bot requested a review from cdayAI as a code owner March 21, 2026 01:33
@cdayAI cdayAI merged commit 16f2384 into main Mar 21, 2026
8 of 11 checks passed
@dependabot dependabot Bot deleted the dependabot/npm_and_yarn/eslint-10.1.0 branch March 21, 2026 01:53
cdayAI pushed a commit that referenced this pull request May 25, 2026
…Rust

Third H1 item. Same input through every available SDK; any disagreement is
a bug -- either a port drifted or a regex-semantics difference (Python's
Unicode-aware \\b vs JS's ASCII-only \\b, Python's Unicode \\d vs JS's
ASCII \\d, etc.). This is the exact bug pattern that shipped in v14.2.2
and that the layer-1 hardening in this PR fixed.

Adapter pattern: zero new deps. NodeAdapter runs in-process. PythonAdapter
spawns python3 -c, reads JSON from stdout, skips gracefully if the
runtime isn't on PATH. Easy to add GoAdapter / RustAdapter the same way.

audit(inputs) returns:
  - availableSdks: which engines were actually consulted
  - disagreements[]: per-input, per-SDK verdict matrix with byCategory and
    bySeverity diffs (so a reviewer sees exactly where each SDK fires)
  - bySdkAccuracy: majority-vote score per SDK across all disagreements
  - suggestedCanonical: which SDK was right most often (the others need
    fixing toward it)

driftBank() static helper returns 18 inputs hand-picked to expose every
class of cross-SDK drift Shield has historically suffered:
  - Unicode \\b boundary cases (DAN, αjailbreak, βgod mode)
  - Subdomain confusion in API base URL whitelist
  - Fullwidth digit \\d divergence (10.0.0.1)
  - Multilingual instruction overrides (Chinese, German)
  - Encoding evasion
  - Critical attacks (should agree)
  - Benign edges (../../package.json, search URLs)

Tests: test/test-cross-sdk-differential.js, 34 assertions covering mock-
adapter agreement/disagreement, 3-way majority canonical detection,
insufficient-SDK warning, unavailable-SDK skip, driftBank composition,
input validation, and a LIVE Node↔Python audit using the actual fixed
Python SDK in this PR.

Stack on PR #18:
  - Python detector hardening
  - H1 #1: ShieldAgent + ShieldActions + 5 MCP tools + demo
  - H1 #2: IncidentReplay (autonomous triage)
  - H1 #3: CrossSDKDifferential (port-drift auditor)

Next: H1 #4 self-tuning thresholds, H1 #5 adversarial tournament.

https://claude.ai/code/session_01AqtyP5YupS6MKt6qCTXghS
cdayAI pushed a commit that referenced this pull request May 25, 2026
…anceNarrator, CustomerLearning

Shipping the rest of H1 and the first H2 batch in one commit since I can't
ScheduleWakeup across turns in this environment.

H1 #4: src/threshold-tuner.js
  Sweeps per-category confidence thresholds to maximize F1 (or precision/
  recall/accuracy) on a labeled corpus. Scans corpus once, sweeps in
  O(grid x categories). Supports precision/recall floors. Returns a
  threshold map the host can apply to AgentShield for measurably better
  signal on the customer's traffic, plus a confusion-matrix baseline for
  before/after comparison. Tests: 23 assertions.

H2 #1: src/adversarial-tournament.js
  Wires the existing EvolutionSimulator + MutationEngine into a closed
  loop. Seed attacks -> mutate -> classify -> survivors feed next gen ->
  derive hardened patterns via hardenFromEvolution. Optional LLM judge
  validates that survivors are real attacks (not mutation noise) and ranks
  them. runIterative() chains tournaments using prior survivors as seeds
  to surface emergent strategies. Tests: 22 assertions.

H2 #2: src/compliance-narrator.js
  Auditor-grade narrative generator for SOC2 / HIPAA / GDPR / EU AI Act.
  Ingests Shield events (raw scan results, agent verdicts, or normalized
  entries), maps categories to framework control IDs, generates a
  deterministic markdown report, and optionally rewrites it as audit
  prose via an LLM judge. HMAC-SHA256 signs the canonicalized payload
  with order-independent serialization so tampering is detectable.
  Tests: 26 assertions including 3 distinct tamper attempts.

H2 #3: src/customer-learning.js
  Reads a customer's agent codebase (defaults: js/ts/py/go/rs/json/yaml/
  md/toml) and extracts: legitimate URLs/domains, env var names, tool
  names, system-prompt phrases, and secret-shape prefixes (sk-, ghp_,
  AKIA, etc). Builds a customer-specific profile with:
    - allowed domains/env-vars/tool-names (suppress generic FPs)
    - lookalike-tool regex patterns (catch tool-name impersonation)
    - honeypot canary tokens shaped like the customer's real secrets
      (any appearance in agent output is instant exfil confirmation)
    - system-prompt phrase allowlist (suppresses injection FPs on the
      agent's own legitimate prompts)
  Walks with safety caps (maxFiles, maxFileBytes, exclude node_modules
  etc). Tests: 28 assertions including a temp-fixture repo end-to-end.

All four wired into src/main.js (with namespace fix:
NARRATOR_FRAMEWORKS to avoid collision with the existing
COMPLIANCE_FRAMEWORKS export from src/compliance.js) and added to npm
test. Suite still green end-to-end.

Stack on PR #18:
  - Python detector hardening
  - H1 #1: ShieldAgent + ShieldActions + 5 MCP tools + demo
  - H1 #2: IncidentReplay
  - H1 #3: CrossSDKDifferential
  - H1 #4: ThresholdTuner
  - H2 #1: AdversarialTournament
  - H2 #2: ComplianceNarrator
  - H2 #3: CustomerLearning

Continuing with H2 #4 (autonomous threat hunter) and H2 #5
(production-traffic shadow-mode reporter) next.

https://claude.ai/code/session_01AqtyP5YupS6MKt6qCTXghS
cdayAI pushed a commit that referenced this pull request May 25, 2026
…porter

H2 #4: src/threat-hunter.js
  Pluggable source pattern: any object with .name + async .fetch() can
  feed the hunter. Built-ins:
    - LocalCorpusSource: JSONL or in-memory array (offline-safe for CI)
    - HTTPSourceFn: caller-supplied async () => items (caller owns network
      so we add no dependency and the user controls egress)

  Hunt flow:
    1. Fetch from every source (broken sources don't crash the hunt).
    2. Classify each item: detector misses it -> "novel attack".
    3. Synthesize a tight regex by picking the rarest 4-token window
       (lowest occurrence in the benign corpus) and escaping it.
    4. Estimate FP rate against benignCorpus; reject above threshold
       (default 5%).
    5. Optional LLM judge review of proposals.
    6. Emit a PR-ready markdown report.
  Conservative by design — prefers tight literal phrases over loose
  alternation to keep FPs near zero.
  Tests: 22 assertions including broken-source tolerance, addSource
  validation, FP filtering, and judge integration.

H2 #5: src/shadow-mode-reporter.js
  Aggregator over a stream of scan events. After N days emits an
  executive report:
    - traffic volume + scan-time percentiles (p50/p95/p99/max)
    - threats by severity, category, source
    - action projection (if deployed in enforce mode: would-block /
      would-rewrite / would-allow counts)
    - noisy categories (likely FP candidates: >=5 hits, low avg conf)
    - quiet categories (rarely fire — candidates for removal)
    - estimated ROI: wouldBlock * costPerIncident (configurable)
  Accepts raw shield.scan() results, ShieldAgent verdicts, or wrapped
  envelopes. ingestMany handles arrays. maxEvents cap protects memory
  on long-running services.
  Outputs JSON via report() or markdown via markdownReport().
  Tests: 29 assertions including window filtering, raw vs wrapped
  ingest, noisy/quiet category detection, max-event cap, and ROI math.

Both wired into main.js and npm test. Full suite green.

Stack on PR #18:
  - Python detector hardening
  - H1 #1: ShieldAgent + ShieldActions + 5 MCP tools + demo
  - H1 #2: IncidentReplay
  - H1 #3: CrossSDKDifferential
  - H1 #4: ThresholdTuner
  - H2 #1: AdversarialTournament
  - H2 #2: ComplianceNarrator
  - H2 #3: CustomerLearning
  - H2 #4: ThreatHunter
  - H2 #5: ShadowModeReporter

Continuing with H3 multi-agent SOC + agent identity CA next.

https://claude.ai/code/session_01AqtyP5YupS6MKt6qCTXghS
cdayAI pushed a commit that referenced this pull request May 25, 2026
…rg trust)

H3 #1: src/soc-fleet.js
  Orchestrates the H1+H2 modules into a coordinated SOC team:
    - Defender:   ShieldAgent triage on every event.
    - Detective:  IncidentReplay deep-dive on block/escalate.
    - Forensics:  ShadowModeReporter + ComplianceNarrator window report.
    - PatchWriter: ThreatHunter pattern synthesis for novel attacks.
    - Reviewer:   judge-backed approval, with rule-based fallback (no judge
                  configured -> approve <=5 patches with zero FP).
    - Releaser:   bundles a ChangeRequest with patches + test cases +
                  framework attribution, ready for PR generation.
  Every role's I/O is captured as a SOCEvent in the timeline so the entire
  decision chain is replayable. Bounded by maxTimeline. status() returns
  per-role event counts + last event. forceFullPipeline=true runs all roles
  even for safe input (for synthetic drills).
  Tests: 25 assertions including critical/safe/forced/FP paths, judge vs
  rule-based reviewer, timeline cap, status snapshot.

H3 #2: src/agent-identity-ca.js
  Cryptographic agent passports for cross-org trust. Uses Ed25519 from
  Node's built-in crypto (zero external deps). Capabilities:
    - issuePassport({agentId, capabilities, orgId}) -> {passport, privateKey}
      Passport contains agentId, publicKey (SPKI base64), TTL, capabilities,
      orgId, caRootId. CA signs the canonical body.
    - verifyPassport: signature check + CA root match + revocation list +
      expiry. Tampered passports rejected.
    - revoke(agentId): CRL-style revocation, subsequent verifications fail.
    - signMessage({agentId, payload, privateKey}) -> envelope with
      timestamp + 16-byte nonce + signature.
    - verifyMessage(envelope, passport): full chain — passport valid,
      agentId matches, timestamp within messageTtlMs window (replay
      protection), nonce not in seenNonces cache, signature valid against
      passport's publicKey. Returns {valid, reason?, agentId, capabilities}.
    - exportRootPublicKey: SPKI for cross-org verification (private key
      never leaves the CA instance).
  Canonical JSON serializer recursively sorts keys so signatures are
  order-independent. Nonce cache has TTL-based sweep + max-size eviction.
  Tests: 30 assertions including issue+verify, tamper detection on body
  and signature, revocation, message signing, replay protection, stale
  message rejection, future-timestamp rejection, agentId mismatch,
  foreign-CA rejection, public-key export, input validation.

Both wired into main.js and npm test. Full suite green.

Stack on PR #18 (12 commits, 11 new modules, ~270 new test assertions):
  - Python detector hardening
  - H1 #1-#4: ShieldAgent, IncidentReplay, CrossSDKDifferential, ThresholdTuner
  - H2 #1-#5: AdversarialTournament, ComplianceNarrator, CustomerLearning,
              ThreatHunter, ShadowModeReporter
  - H3 #1-#2: SOCFleet, AgentIdentityCA

That's all H1 + all H2 + 2 of the highest-leverage H3 modules built
offline-safe with zero new dependencies. The remaining H3 items
(fleet immunity wiring, cyber-insurance integration, public benchmark
leaderboard hosting) require external infra (signed update feeds, a
partner API, hosted infra) that can't be scaffolded purely in-tree.

https://claude.ai/code/session_01AqtyP5YupS6MKt6qCTXghS
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