circle-ir 3.179.0 → 3.181.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../../src/analysis/config-loader.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EACV,mBAAmB,EACnB,kBAAkB,EAClB,WAAW,EACX,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,UAAU,EACX,MAAM,oBAAoB,CAAC;AAE5B;;;GAGG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC,CAEjD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,aAAa,EAAE,CAiB1E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG;IACtD,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,UAAU,EAAE,gBAAgB,EAAE,CAAC;CAChC,CAcA;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,mBAAmB,EAAE,GAC7B,kBAAkB,EAAE,CAQtB;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,cAAc,EAAE,MAAM,EAAE,EACxB,YAAY,EAAE,MAAM,EAAE,EACtB,qBAAqB,GAAE,MAAM,EAAO,GACnC,WAAW,CAYb;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,aAAa,EA6hB1C,CAAC;AA+KF,eAAO,MAAM,aAAa,EAAE,WAAW,EA6vDtC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,gBAAgB,EAwThD,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,sBAAsB,EAAE,kBAAkB,EAiDtD,CAAC;AAEF;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,WAAW,CAO9C;AAMD;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,EAAE,UAAU,EA8F5C,CAAC"}
1
+ {"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../../src/analysis/config-loader.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EACV,mBAAmB,EACnB,kBAAkB,EAClB,WAAW,EACX,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,UAAU,EACX,MAAM,oBAAoB,CAAC;AAE5B;;;GAGG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC,CAEjD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,aAAa,EAAE,CAiB1E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG;IACtD,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,UAAU,EAAE,gBAAgB,EAAE,CAAC;CAChC,CAcA;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,mBAAmB,EAAE,GAC7B,kBAAkB,EAAE,CAQtB;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,cAAc,EAAE,MAAM,EAAE,EACxB,YAAY,EAAE,MAAM,EAAE,EACtB,qBAAqB,GAAE,MAAM,EAAO,GACnC,WAAW,CAYb;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,aAAa,EA2jB1C,CAAC;AA+KF,eAAO,MAAM,aAAa,EAAE,WAAW,EA2wDtC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,gBAAgB,EAwThD,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,sBAAsB,EAAE,kBAAkB,EAiDtD,CAAC;AAEF;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,WAAW,CAO9C;AAMD;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,EAAE,UAAU,EA8F5C,CAAC"}
@@ -540,6 +540,35 @@ export const DEFAULT_SOURCES = [
540
540
  { method: 'get', class: 'Jedis', type: 'db_input', severity: 'medium', return_tainted: true, languages: ['java'] },
541
541
  { method: 'hget', class: 'Jedis', type: 'db_input', severity: 'medium', return_tainted: true, languages: ['java'] },
542
542
  { method: 'mget', class: 'Jedis', type: 'db_input', severity: 'medium', return_tainted: true, languages: ['java'] },
543
+ // --- Serverless transport channels (cognium-dev #213 first slice) ---
544
+ //
545
+ // AWS Lambda / API Gateway invocation-event properties. The Lambda
546
+ // handler signature `(event, context) => …` (JS/TS) or
547
+ // `def handler(event, context)` (Python) receives an `event` object
548
+ // whose properties carry the untrusted HTTP-request-shaped payload:
549
+ //
550
+ // event.body — request body (string)
551
+ // event.queryStringParameters — `?a=b` params
552
+ // event.multiValueQueryStringParameters — `?a=1&a=2` params
553
+ // event.pathParameters — path template captures
554
+ // event.headers — request headers
555
+ // event.multiValueHeaders — repeated headers
556
+ // event.requestContext — API Gateway request context
557
+ //
558
+ // Vercel Serverless Functions and Cloudflare Workers both use `req`
559
+ // / `request` receivers that are already covered by the Express-
560
+ // style patterns above (line ~398). This block specifically covers
561
+ // the `event`-shaped API Gateway convention that those don't reach.
562
+ { property: 'body', object: 'event', type: 'http_body', severity: 'high', property_tainted: true, languages: ['javascript', 'typescript'] },
563
+ { property: 'queryStringParameters', object: 'event', type: 'http_query', severity: 'high', property_tainted: true, languages: ['javascript', 'typescript'] },
564
+ { property: 'multiValueQueryStringParameters', object: 'event', type: 'http_query', severity: 'high', property_tainted: true, languages: ['javascript', 'typescript'] },
565
+ { property: 'pathParameters', object: 'event', type: 'http_path', severity: 'high', property_tainted: true, languages: ['javascript', 'typescript'] },
566
+ { property: 'headers', object: 'event', type: 'http_header', severity: 'high', property_tainted: true, languages: ['javascript', 'typescript'] },
567
+ { property: 'multiValueHeaders', object: 'event', type: 'http_header', severity: 'high', property_tainted: true, languages: ['javascript', 'typescript'] },
568
+ { property: 'body', object: 'event', type: 'http_body', severity: 'high', property_tainted: true, languages: ['python'] },
569
+ { property: 'queryStringParameters', object: 'event', type: 'http_query', severity: 'high', property_tainted: true, languages: ['python'] },
570
+ { property: 'pathParameters', object: 'event', type: 'http_path', severity: 'high', property_tainted: true, languages: ['python'] },
571
+ { property: 'headers', object: 'event', type: 'http_header', severity: 'high', property_tainted: true, languages: ['python'] },
543
572
  // --- JWT claims (unverified decode — PyJWT / jose / jsonwebtoken / auth0 java-jwt / golang-jwt) ---
544
573
  // A JWT's payload is *always* attacker-authored. Even after verification
545
574
  // the *contents* of the claims (username, role, custom fields) are not
@@ -1580,6 +1609,20 @@ export const DEFAULT_SINKS = [
1580
1609
  // Sandbox/script security
1581
1610
  { method: 'onNewInstance', class: 'SandboxInterceptor', type: 'command_injection', cwe: 'CWE-78', severity: 'critical', arg_positions: [0] },
1582
1611
  // Java Log Injection (slf4j / logback / java.util.logging) — CWE-117
1612
+ //
1613
+ // Classification decision — cognium-dev #264: Logger receivers stay
1614
+ // as log_injection (CWE-117), NOT format_string (CWE-134). The real
1615
+ // vulnerability with tainted data flowing into Logger.log(fmt, ...)
1616
+ // is log-forgery via CRLF injection, not format-string exploitation.
1617
+ // A genuine format_string vulnerability requires the FORMAT STRING
1618
+ // itself to be attacker-controlled, which is virtually never the
1619
+ // case in Logger APIs (the format string is a literal at the call
1620
+ // site). Adding format_string sinks for these same receivers would
1621
+ // duplicate the existing log_injection findings on every call site
1622
+ // without adding real signal. The rare edge case where a caller
1623
+ // passes `taintedFmt` at arg[0] is still caught by these entries
1624
+ // (via arg_positions[0] on the SLF4J-family methods), classified as
1625
+ // log_injection.
1583
1626
  // Issue #44: log.info/warn/error/debug emit the message argument and any
1584
1627
  // {} format arguments to the log stream. Untrusted input forwarded into
1585
1628
  // these calls allows log forging (newline injection) and downstream log