{
  "ml": {
    "v": "7",
    "eng": "2.12.0-beta.1",
    "lvl": -1,
    "conf": 0,
    "mods": [
      {
        "cls": 0,
        "raw": 0.000011761983,
        "rte": "az",
        "prob": 0.000011761983
      },
      {
        "cls": 0,
        "raw": 0.00031439462,
        "rte": "az/tar",
        "prob": 0.00031439462
      }
    ],
    "prob": 0.000013609727,
    "files": [
      {
        "id": 0,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000013609726920549292,
        "type": "crate"
      },
      {
        "id": 5,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000013609726920549292,
        "type": "rust"
      },
      {
        "id": 6,
        "lvl": -1,
        "conf": 0,
        "prob": 0.00001284480094909668,
        "type": "rust"
      },
      {
        "id": 9,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000013023614883422852,
        "type": "rust"
      },
      {
        "id": 10,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000011652708053588867,
        "type": "registry"
      }
    ],
    "version": "v18.18",
    "analyzed_at": "2026-10-02T23:48:28Z"
  },
  "path": "reallyme-crypto-csprng-0.3.10.crate",
  "raw": {
    "files": [
      {
        "id": 0,
        "mol": "H(Cr)Md",
        "sha": "fbef7c98c84b09a792ad2b9e4aeef194c0318f5008d0967d86679e6802ab6905",
        "path": "reallyme-crypto-csprng-0.3.10.crate",
        "risk": 3,
        "size": 10709,
        "type": "crate",
        "facts": {
          "metrics": {
            "file": {
              "size": 10709,
              "entropy": 7.98
            },
            "parse": {
              "error_count": 1
            },
            "binary": {
              "peak_region_bytes": 10709,
              "peak_region_entropy": 7.81
            }
          }
        },
        "ident": {
          "name": {
            "value": "reallyme-crypto-csprng",
            "source": "crate.name",
            "verified": false
          },
          "urls": [
            {
              "url": "https://github.com/reallyme/crypto",
              "kind": "repository",
              "source": "crate.repository"
            }
          ],
          "trust": "unsigned",
          "version": {
            "value": "0.3.10",
            "source": "crate.version",
            "verified": false
          },
          "identifier": {
            "value": "reallyme-crypto-csprng",
            "source": "crate.name",
            "verified": false
          }
        },
        "traits": [
          {
            "id": "metadata/import/rust/crate/types/mldsa87seed::crate/types/mldsa87seed",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports crate::types::MlDsa87Seed",
            "from": [
              {
                "file": 6
              }
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-4",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"have\"",
            "from": [
              {
                "file": 4
              }
            ]
          },
          {
            "id": "metadata/import/rust/getrandom/rand_core/tryrng::getrandom/rand_core/tryrng",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports getrandom::rand_core::TryRng",
            "from": [
              {
                "file": 8
              }
            ]
          },
          {
            "id": "metadata/import/rust/generate/generate_ml_kem_1024_seed::generate/generate_ml_kem_1024_seed",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports generate::generate_ml_kem_1024_seed",
            "from": [
              {
                "file": 7
              }
            ]
          },
          {
            "id": "metadata/import/rust/secrecy/secretbox::secrecy/secretbox",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports secrecy::SecretBox",
            "from": [
              {
                "file": 9
              }
            ]
          },
          {
            "id": "metadata/import/rust/crate/types/aeadnonce12::crate/types/aeadnonce12",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports crate::types::AeadNonce12",
            "from": [
              {
                "file": 6
              }
            ]
          },
          {
            "id": "metadata/import/rust/crate/constants/argon2_salt_16_length::crate/constants/argon2_salt_16_length",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports crate::constants::ARGON2_SALT_16_LENGTH",
            "from": [
              {
                "file": 6
              }
            ]
          },
          {
            "id": "metadata/import/rust/types/mldsa87seed::types/mldsa87seed",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports types::MlDsa87Seed",
            "from": [
              {
                "file": 7
              }
            ]
          },
          {
            "id": "metadata/import/rust/generate/generate_ml_dsa_87_seed::generate/generate_ml_dsa_87_seed",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports generate::generate_ml_dsa_87_seed",
            "from": [
              {
                "file": 7
              }
            ]
          },
          {
            "id": "metadata/import/rust/crate/constants/ml_kem_1024_seed_length::crate/constants/ml_kem_1024_seed_length",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports crate::constants::ML_KEM_1024_SEED_LENGTH",
            "from": [
              {
                "file": 6
              }
            ]
          },
          {
            "id": "metadata/import/rust/generate/generate_aead_nonce_12::generate/generate_aead_nonce_12",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports generate::generate_aead_nonce_12",
            "from": [
              {
                "file": 7
              }
            ]
          },
          {
            "id": "metadata/package/name/convention::cargo-license-field",
            "conf": 0.85,
            "crit": 2,
            "desc": "Cargo package declares license"
          },
          {
            "id": "metadata/import/rust/generate/generate_argon2_salt_16::generate/generate_argon2_salt_16",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports generate::generate_argon2_salt_16",
            "from": [
              {
                "file": 7
              }
            ]
          },
          {
            "id": "metadata/package/name/convention::cargo-repository-field",
            "conf": 0.85,
            "crit": 2,
            "desc": "Cargo package declares repository"
          },
          {
            "id": "metadata/import/rust/crypto_core/rngfailurekind::crypto_core/rngfailurekind",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports crypto_core::RngFailureKind",
            "from": [
              {
                "file": 6
              }
            ]
          },
          {
            "id": "metadata/import/rust/constants/aes_256_gcm_key_length::constants/aes_256_gcm_key_length",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports constants::AES_256_GCM_KEY_LENGTH",
            "from": [
              {
                "file": 7
              }
            ]
          },
          {
            "id": "metadata/import/rust/constants/argon2_salt_16_length::constants/argon2_salt_16_length",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports constants::ARGON2_SALT_16_LENGTH",
            "from": [
              {
                "file": 7
              }
            ]
          },
          {
            "id": "metadata/import/rust/secrecy/exposesecret::secrecy/exposesecret",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports secrecy::ExposeSecret",
            "from": [
              {
                "file": 9
              }
            ]
          },
          {
            "id": "metadata/package/version::cargo-package-version",
            "conf": 0.85,
            "crit": 2,
            "desc": "Cargo package has version"
          },
          {
            "id": "metadata/import/rust/crypto_core/cryptoerror::crypto_core/cryptoerror",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports crypto_core::CryptoError",
            "from": [
              {
                "file": 6
              }
            ]
          },
          {
            "id": "metadata/import/rust/crate/constants/aead_nonce_12_length::crate/constants/aead_nonce_12_length",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports crate::constants::AEAD_NONCE_12_LENGTH",
            "from": [
              {
                "file": 6
              }
            ]
          },
          {
            "id": "metadata/import/rust/types/aes256gcmkeymaterial::types/aes256gcmkeymaterial",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports types::Aes256GcmKeyMaterial",
            "from": [
              {
                "file": 7
              }
            ]
          },
          {
            "id": "metadata/import/rust/crate/types/randombytes::crate/types/randombytes",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports crate::types::RandomBytes",
            "from": [
              {
                "file": 6
              }
            ]
          },
          {
            "id": "metadata/import/rust/rng/securerandom::rng/securerandom",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports rng::SecureRandom",
            "from": [
              {
                "file": 7
              }
            ]
          },
          {
            "id": "metadata/import/rust/secrecy/exposesecretmut::secrecy/exposesecretmut",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports secrecy::ExposeSecretMut",
            "from": [
              {
                "file": 9
              }
            ]
          },
          {
            "id": "metadata/import/rust/generate/generate_bytes::generate/generate_bytes",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports generate::generate_bytes",
            "from": [
              {
                "file": 7
              }
            ]
          },
          {
            "id": "metadata/import/rust/crate/rng/securerandom::crate/rng/securerandom",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports crate::rng::SecureRandom",
            "from": [
              {
                "file": 6
              }
            ]
          },
          {
            "id": "metadata/import/rust/crypto_core/rngoutputkind::crypto_core/rngoutputkind",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports crypto_core::RngOutputKind",
            "from": [
              {
                "file": 6
              }
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-5",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"for\"",
            "from": [
              {
                "file": 4
              }
            ]
          },
          {
            "id": "metadata/import/rust/types/mlkem1024seed::types/mlkem1024seed",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports types::MlKem1024Seed",
            "from": [
              {
                "file": 7
              }
            ]
          },
          {
            "id": "metadata/package/name/convention::cargo-meaningful-description",
            "conf": 0.78,
            "crit": 2,
            "desc": "Cargo package has meaningful description"
          },
          {
            "id": "metadata/import/rust/zeroize/zeroize::zeroize/zeroize",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports zeroize::Zeroize",
            "from": [
              {
                "file": 6
              }
            ]
          },
          {
            "id": "metadata/import/rust/crate/types/argon2salt16::crate/types/argon2salt16",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports crate::types::Argon2Salt16",
            "from": [
              {
                "file": 6
              }
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-7",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"this\"",
            "from": [
              {
                "file": 4
              }
            ]
          },
          {
            "id": "metadata/import/rust/types/randombytes::types/randombytes",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports types::RandomBytes",
            "from": [
              {
                "file": 7
              }
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-2",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"and\"",
            "from": [
              {
                "file": 4
              }
            ]
          },
          {
            "id": "metadata/import/rust/types/aeadnonce12::types/aeadnonce12",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports types::AeadNonce12",
            "from": [
              {
                "file": 7
              }
            ]
          },
          {
            "id": "metadata/import/rust/getrandom/sysrng::getrandom/sysrng",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports getrandom::SysRng",
            "from": [
              {
                "file": 8
              }
            ]
          },
          {
            "id": "metadata/import/rust/constants/aead_nonce_12_length::constants/aead_nonce_12_length",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports constants::AEAD_NONCE_12_LENGTH",
            "from": [
              {
                "file": 7
              }
            ]
          },
          {
            "id": "metadata/import/rust/crate/constants/ml_dsa_87_seed_length::crate/constants/ml_dsa_87_seed_length",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports crate::constants::ML_DSA_87_SEED_LENGTH",
            "from": [
              {
                "file": 6
              }
            ]
          },
          {
            "id": "metadata/import/rust/constants/ml_kem_1024_seed_length::constants/ml_kem_1024_seed_length",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports constants::ML_KEM_1024_SEED_LENGTH",
            "from": [
              {
                "file": 7
              }
            ]
          },
          {
            "id": "metadata/package/name/convention::cargo-readme-field",
            "conf": 0.85,
            "crit": 2,
            "desc": "Cargo package declares readme"
          },
          {
            "id": "micro-behaviors/crypto/asymmetric/kem::kyber-library-identifier",
            "atk": "T1573",
            "mbc": "C0027",
            "conf": 0.92,
            "crit": 3,
            "desc": "References an ML-KEM or Kyber algorithm family",
            "from": [
              {
                "file": 5
              }
            ]
          },
          {
            "id": "metadata/import/rust/types/argon2salt32::types/argon2salt32",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports types::Argon2Salt32",
            "from": [
              {
                "file": 7
              }
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-3",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"that\"",
            "from": [
              {
                "file": 4
              }
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-1",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"the\"",
            "from": [
              {
                "file": 4
              }
            ]
          },
          {
            "id": "metadata/import/rust/constants/argon2_salt_32_length::constants/argon2_salt_32_length",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports constants::ARGON2_SALT_32_LENGTH",
            "from": [
              {
                "file": 7
              }
            ]
          },
          {
            "id": "metadata/import/rust/rng/ossecurerandom::rng/ossecurerandom",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports rng::OsSecureRandom",
            "from": [
              {
                "file": 7
              }
            ]
          },
          {
            "id": "metadata/import/rust/crate/types/aes256gcmkeymaterial::crate/types/aes256gcmkeymaterial",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports crate::types::Aes256GcmKeyMaterial",
            "from": [
              {
                "file": 6
              }
            ]
          },
          {
            "id": "metadata/import/rust/generate/generate_argon2_salt_32::generate/generate_argon2_salt_32",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports generate::generate_argon2_salt_32",
            "from": [
              {
                "file": 7
              }
            ]
          },
          {
            "id": "metadata/package/name/convention::cargo-package-name",
            "conf": 0.85,
            "crit": 2,
            "desc": "Cargo package has name"
          },
          {
            "id": "metadata/import/rust/generate/generate_aes256_gcm_key::generate/generate_aes256_gcm_key",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports generate::generate_aes256_gcm_key",
            "from": [
              {
                "file": 7
              }
            ]
          },
          {
            "id": "metadata/import/rust/crate/types/argon2salt32::crate/types/argon2salt32",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports crate::types::Argon2Salt32",
            "from": [
              {
                "file": 6
              }
            ]
          },
          {
            "id": "metadata/import/rust/crate/types/mlkem1024seed::crate/types/mlkem1024seed",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports crate::types::MlKem1024Seed",
            "from": [
              {
                "file": 6
              }
            ]
          },
          {
            "id": "metadata/import/rust/subtle/constanttimeeq::subtle/constanttimeeq",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports subtle::ConstantTimeEq",
            "from": [
              {
                "file": 9
              }
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-6",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"with\"",
            "from": [
              {
                "file": 4
              }
            ]
          },
          {
            "id": "metadata/import/rust/crate/constants/argon2_salt_32_length::crate/constants/argon2_salt_32_length",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports crate::constants::ARGON2_SALT_32_LENGTH",
            "from": [
              {
                "file": 6
              }
            ]
          },
          {
            "id": "metadata/import/rust/crate/constants/aes_256_gcm_key_length::crate/constants/aes_256_gcm_key_length",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports crate::constants::AES_256_GCM_KEY_LENGTH",
            "from": [
              {
                "file": 6
              }
            ]
          },
          {
            "id": "metadata/import/rust/constants/ml_dsa_87_seed_length::constants/ml_dsa_87_seed_length",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports constants::ML_DSA_87_SEED_LENGTH",
            "from": [
              {
                "file": 7
              }
            ]
          },
          {
            "id": "metadata/import/rust/types/argon2salt16::types/argon2salt16",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports types::Argon2Salt16",
            "from": [
              {
                "file": 7
              }
            ]
          },
          {
            "id": "metadata/import/rust/zeroize/zeroizeondrop::zeroize/zeroizeondrop",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports zeroize::ZeroizeOnDrop",
            "from": [
              {
                "file": 9
              }
            ]
          },
          {
            "id": "metadata/file/naming::archive-member-under-10kb",
            "conf": 0.9,
            "crit": 3,
            "desc": "Archive has a sub-10KB member"
          }
        ]
      },
      {
        "ctx": [
          {
            "b": "fe1CDp^!zqmRMWIlVl{?A+Pf1Bw#*@BugK1fFUKeqE%oMy\u003cw-^awtD@3nj4tfe1CDp^!zqoLF0FzGxwvnN#yIBzku3wPx*Oo?wqbpF@r3Aa9l\u0026wI2U\u0026fBwdufe1CwwO#d5xDR2bayYRrwPF#jw/$I8xjU%(A::63wfsfbk%#\u0026kz/f5@asF%1ayYRrwPGpM3ugb%ay/tcB95J\u003cml%sGpesRLmpd=8uRA)-m]S2uaA.:tDsXiZatCSk3nj4=awuu:xlm/fx(k55D30RsaA7\u003cmvixh]zE)\u0026%By!#9f/yQ)D30Qul2{QRzzAtQvqH3r3ugb%ay/tcB95J\u003cqB:ITgg9%CoJkvNhExcDpdFnOiV@M^x)KtkjS(Eqi%)R]fcA@1zFa68azCZovTi6bB0bykayMy9wO#71vru6\u003eatU=8vTi6bavg3Xz/drMB75)be^=MuvJYf0zGx[xk#HiGpblfPk$\u003el+gCSrhmnuuLnid(oB7]@iauZ\u00266gck*@fe1CwwO#d5xDR2bayYRrwPF#jw/$.$zE)\u0026%By!#9k$aZ7gbQ%wm)/#[yH}=lzddJ$A+O@#e^=MuvJYf0zGx[xk$aZVgbQ%%m)*0Togq#\u003coHRYDr7G4)B-RnywGTbUgCR30fe1$3oL59OBz8!hzxJzlBy/Ioz!pb2azkn6wPzj3wN(]ToF5[ao!w7NgbHaynL\u0026tdgb7HbB7F][asHSdaBFLVDsefO3ugb%ay/tcB95K0oKyBYo\u003cYRegbJupmmxQKoHRYDr7G4)B-RnywGTbUhz^G5fe1$3oL59OBz8!hzxJzlBy/Ioz!pb2azkn6wPzj3wN(]ToF5Uhk}L5PavX}0qY)?Hg:3\u003cJwN)z2AckRjv@DmaBrBpKuQN*UuPo#Kq:\u003cbyuRA)-m]S2uaA.:tDsXiZatU=m3i",
            "ln": 0,
            "col": 1,
            "line": 1
          }
        ],
        "depth": 1,
        "facts": {
          "metrics": {
            "ast": {
              "max_depth": 3,
              "call_count": 0,
              "node_count": 97
            },
            "file": {
              "size": 729,
              "entropy": 5.3
            },
            "text": {
              "lines": 16,
              "top_char": 101,
              "digit_ratio": 0.11,
              "space_count": 97,
              "char_entropy": 5.3,
              "unique_chars": 63,
              "top_char_null": 0,
              "top_char_ratio": 0.08,
              "avg_line_length": 44.56,
              "max_line_length": 72,
              "empty_line_ratio": 0.06,
              "last_line_length": 44,
              "whitespace_ratio": 0.16,
              "identifier_density": 0.38,
              "line_length_stddev": 18.23,
              "max_whitespace_run": 1,
              "suspicious_comment_ratio": 0.56,
              "normalized_unique_identifiers": 1.5
            },
            "binary": {
              "peak_region_bytes": 729,
              "peak_region_entropy": 5.3
            },
            "comments": {
              "chars": 429,
              "count": 9,
              "empty": 1,
              "lines": 8,
              "base64": 1,
              "high_entropy": 4,
              "to_code_ratio": 1
            },
            "identifiers": {
              "count": 6,
              "unique": 6,
              "avg_length": 21.33,
              "max_length": 23,
              "min_length": 20,
              "avg_entropy": 3.62,
              "reuse_ratio": 1,
              "length_stddev": 0.94,
              "has_digit_ratio": 1,
              "high_entropy_count": 5,
              "high_entropy_ratio": 0.83
            }
          }
        },
        "id": 5,
        "mol": "H(Cr)Md(Pa)",
        "path": "reallyme-crypto-csprng-0.3.10.crate!!reallyme-crypto-csprng-0.3.10/src/constants.rs",
        "pid": 15491,
        "risk": 3,
        "sha": "bd3f15c8ea4ea853a25692c845555b87999ed7f0bd4bc604d1d03380193d7a86",
        "size": 729,
        "traits": [
          {
            "id": "metadata/package/license::spdx-license-identifier",
            "conf": 0.9,
            "crit": 3,
            "desc": "Source SPDX license identifier declaration",
            "spans": [
              [
                51,
                28
              ]
            ]
          },
          {
            "id": "micro-behaviors/crypto/asymmetric/kem::mlkem-kyber-algorithm-reference",
            "conf": 0.92,
            "crit": 3,
            "desc": "References an ML-KEM or Kyber algorithm family",
            "spans": [
              [
                539,
                11
              ]
            ]
          },
          {
            "id": "metadata/file/comment::source-comment-bytes-over-300",
            "conf": 0.92,
            "crit": 2,
            "desc": "Source has over 300 comment bytes"
          }
        ],
        "type": "rust"
      },
      {
        "ctx": [
          {
            "b": "fe1CDp^!zqmRMWIlVl{?A+Pf1Bw#*@BugK1fFUKeqE%oMy\u003cw-^awtD@3nj4tfe1CDp^!zqoLF0FzGxwvnN#yIBzku3wPx*Oo?wqbpF@r3Aa9l\u0026wI2U\u0026fBwefB7DF7A^qRCz^N0)A+do)DQz?0Acc1!A=M8sefE\u0026dxgurzy\u0026%=fokeoOefE\u0026dxhrU(Aclm}x(mEfi%{aKwGVqgA=kVrwJz\u003eQwPzZ6DsYeB3uZA3ay/C2By^G]v@DmaByx6eB2(ve3lQDlaveBZl%\u0026X+pd4DSf/09fmnuuLngU(Hmn)LGh8X/ilRQ]XmoJ$\u003emnuuLngU(HqB:ITgg9%CoJkvNhExcDpdFnOefEkRm]8(nuSfl:r9}BpuRA)-m]S2g3lQDlawCKpl@MxUi5+hymmxQKoHRYDr7FL.o?X[!mnmbzfFUE(q:\u003cbyuRA)-m]S2g3vK#yB-Rapv@=11wJz\u003e)zF80\u003eq!oDYA+ecSzE^W5i%{aKwGUG6vru6wi=]T^wPG)[DKp(rarS%YvpSbKzEWljgaTLlwPGQ:hB?m]oj-xyvru73x\u003c\u003e*eavg3Xz/dsevqH3uhy]$pA+xrdge?Q$BtCW6awDVuB743!q!oJJefEV6oj.@{fFUE-wO2y63lQDlaw#S=wn=rKD30Rsedc!!3jnBtfcA+@zE)\u0026%By/IovixP0zE^W5atCS6vTi6baveBZl)cw=zEWl2w].*baARpdazkziwO@SiwN/\u003e6wGT(Cm\u003et^6wPS6nzFs03ayPc{fe1$3wPz*fAV/7daARpdaw$%8azb4@y\u0026Z.vzY\u003c1tz*2\u00269wGUM4BAhqsC}GCyBZ=F9zxJO6zE)\u0026%By!//",
            "ln": 0,
            "col": 1,
            "line": 1
          },
          {
            "b": "x\u003c\u003e*si+AzJzc{Z(A::kwA:-\u0026@z/4avzGG/7vTi6bB0@E^dggFg3nj4=av*0XwPzj3wPF#5aAy[dwn=rco?Wcimnku*fFUEcmOcAPatLSbaAIa9wftG8z/3RsxK@r0x)a69aAIa7B-I4oqCG.m3nj4=3nj4=axi2=aAz4nB-Iwhwft/mzE)\u0026hDs.bnx)KuiaA8cuwo8Qce^=MuvJYo2azkn6wPzj3wNxp\u003cuU:j\u0026uOKk\u0026g*+rnwN)g@arR^HA=bH",
            "ln": 1996,
            "col": 25,
            "line": 46
          },
          {
            "b": "wPF#aA=k!qBzbkdxk8K2zxK1iv%8*6aw$%8efG4yxj\u003e{@xcpS2C{3WsA=k$vCwhej3nj4=ayF#0zE^ccaw#=)B-IwvayPdgwPz*fAV/7dayE@LazC)tDs.bnaA8oyBzbkdqCG.8w)]y\u0026B0bNyaAhvtC4\u003eF#az2CjA=k]xe^=MuvJYo2azkn6wPzj3",
            "ln": 2814,
            "col": 29,
            "line": 67
          },
          {
            "b": "BsXLIx(mDgaBsCrarR^HarR^WfcAL#aw$%8azCXiy?mD{zGGrex(v(izddYjxKM6}aA}\u003cuBAz8iaAIErwGUDcBy/IovR6d\u0026A+cwlwPhNdBzkS93lQDlarR^Hatkw\u003cw)]y\u0026B-I4Cavx%Rvr9GjxK@r9vrcE7vqG+9aAhmrB.\u003eGdwN({8BywV{ayYF9",
            "ln": 3323,
            "col": 51,
            "line": 81
          }
        ],
        "depth": 1,
        "facts": {
          "imp": [
            [
              "",
              "Ok"
            ],
            [
              "",
              "crate::types::AeadNonce12::from_array"
            ],
            [
              "",
              "random.into_bytes"
            ],
            [
              "",
              "Ok"
            ],
            [
              "",
              "crate::types::Argon2Salt16::from_array"
            ],
            [
              "",
              "random.into_bytes"
            ],
            [
              "",
              "Ok"
            ],
            [
              "",
              "crate::types::Argon2Salt32::from_array"
            ],
            [
              "",
              "random.into_bytes"
            ],
            [
              "",
              "Ok"
            ],
            [
              "",
              "crate::types::Aes256GcmKeyMaterial::from_array"
            ],
            [
              "",
              "random.into_bytes"
            ],
            [
              "",
              "Ok"
            ],
            [
              "",
              "crate::types::MlKem1024Seed::from_array"
            ],
            [
              "",
              "random.into_bytes"
            ],
            [
              "",
              "Ok"
            ],
            [
              "",
              "crate::types::MlDsa87Seed::from_array"
            ],
            [
              "",
              "random.into_bytes"
            ],
            [
              "",
              "Err"
            ],
            [
              "",
              "rng.fill_secure"
            ],
            [
              "",
              "output.zeroize"
            ],
            [
              "",
              "Err"
            ],
            [
              "",
              "Ok"
            ],
            [
              "",
              "crate::types::RandomBytes::from_array"
            ],
            [
              "",
              "crypto_core::CryptoError"
            ],
            [
              "",
              "crypto_core::RngFailureKind"
            ],
            [
              "",
              "crypto_core::RngOutputKind"
            ],
            [
              "",
              "zeroize::Zeroize"
            ],
            [
              "",
              "crate::constants::AEAD_NONCE_12_LENGTH"
            ],
            [
              "",
              "crate::constants::AES_256_GCM_KEY_LENGTH"
            ],
            [
              "",
              "crate::constants::ARGON2_SALT_16_LENGTH"
            ],
            [
              "",
              "crate::constants::ARGON2_SALT_32_LENGTH"
            ],
            [
              "",
              "crate::constants::ML_DSA_87_SEED_LENGTH"
            ],
            [
              "",
              "crate::constants::ML_KEM_1024_SEED_LENGTH"
            ],
            [
              "",
              "crate::rng::SecureRandom"
            ],
            [
              "",
              "crate::types::AeadNonce12"
            ],
            [
              "",
              "crate::types::Aes256GcmKeyMaterial"
            ],
            [
              "",
              "crate::types::Argon2Salt16"
            ],
            [
              "",
              "crate::types::Argon2Salt32"
            ],
            [
              "",
              "crate::types::MlDsa87Seed"
            ],
            [
              "",
              "crate::types::MlKem1024Seed"
            ],
            [
              "",
              "crate::types::RandomBytes"
            ]
          ],
          "mbr": [
            "output.zeroize",
            "random.into_bytes",
            "rng.fill_secure"
          ],
          "tgt": [
            "Err",
            "Ok",
            "crate::types::AeadNonce12::from_array",
            "crate::types::Aes256GcmKeyMaterial::from_array",
            "crate::types::Argon2Salt16::from_array",
            "crate::types::Argon2Salt32::from_array",
            "crate::types::MlDsa87Seed::from_array",
            "crate::types::MlKem1024Seed::from_array",
            "crate::types::RandomBytes::from_array",
            "output.zeroize",
            "random.into_bytes",
            "rng.fill_secure"
          ],
          "funcs": [
            [
              "generate_aead_nonce_12",
              651
            ],
            [
              "generate_argon2_salt_16",
              1025
            ],
            [
              "generate_argon2_salt_32",
              1404
            ],
            [
              "generate_aes256_gcm_key",
              1764
            ],
            [
              "generate_ml_kem_1024_seed",
              2158
            ],
            [
              "generate_ml_dsa_87_seed",
              2540
            ],
            [
              "generate_bytes",
              2948
            ]
          ],
          "metrics": {
            "ast": {
              "op.eq": 1,
              "max_depth": 14,
              "call_count": 30,
              "node_count": 787,
              "member_count": 3,
              "op_density.eq": 0,
              "max_array_length": 2,
              "max_member_depth": 2
            },
            "file": {
              "size": 3671,
              "entropy": 5.24
            },
            "text": {
              "lines": 89,
              "top_char": 101,
              "digit_ratio": 0.06,
              "space_count": 489,
              "char_entropy": 5.24,
              "unique_chars": 75,
              "top_char_null": 0,
              "import_density": 20.22,
              "top_char_ratio": 0.08,
              "avg_line_length": 40.25,
              "max_line_length": 98,
              "empty_line_ratio": 0.11,
              "last_line_length": 1,
              "whitespace_ratio": 0.16,
              "identifier_density": 1.8,
              "line_length_stddev": 32.74,
              "max_whitespace_run": 1,
              "normalized_import_count": 1.91,
              "repeated_char_sequences": 2,
              "suspicious_comment_ratio": 0.26,
              "normalized_function_count": 0.74,
              "imports_to_functions_ratio": 2.57,
              "strings_to_functions_ratio": 0,
              "suspicious_identifier_ratio": 0.18,
              "normalized_unique_identifiers": 6.79,
              "identifiers_to_functions_ratio": 6.29
            },
            "binds": {
              "count": 7
            },
            "binary": {
              "peak_region_bytes": 3072,
              "peak_region_entropy": 5.35
            },
            "source": {
              "function_count": 7
            },
            "imports": {
              "count": 18,
              "third_party_count": 18,
              "third_party_ratio": 1
            },
            "comments": {
              "chars": 1139,
              "count": 23,
              "empty": 1,
              "lines": 22,
              "base64": 1,
              "high_entropy": 5,
              "to_code_ratio": 0.33
            },
            "functions": {
              "count": 7,
              "density": 7.87,
              "avg_params": 1.14,
              "code_ratio": 0.55,
              "max_params": 2,
              "length_stddev": 5.78,
              "avg_name_length": 21.86,
              "avg_length_lines": 7,
              "max_length_lines": 21,
              "min_length_lines": 4,
              "high_entropy_names": 3,
              "avg_param_name_length": 3.13
            },
            "identifiers": {
              "count": 160,
              "unique": 44,
              "avg_length": 12.75,
              "max_length": 25,
              "min_length": 1,
              "avg_entropy": 2.89,
              "reuse_ratio": 0.28,
              "length_stddev": 7.05,
              "has_digit_ratio": 0.43,
              "sequential_names": 1,
              "base64_like_names": 7,
              "single_char_count": 1,
              "single_char_ratio": 0.02,
              "high_entropy_count": 12,
              "high_entropy_ratio": 0.27,
              "all_lowercase_ratio": 0.3,
              "all_uppercase_ratio": 0.02,
              "numeric_suffix_count": 6
            }
          }
        },
        "id": 6,
        "mol": "H(Cr)Md(Pa)",
        "path": "reallyme-crypto-csprng-0.3.10.crate!!reallyme-crypto-csprng-0.3.10/src/generate.rs",
        "pid": 14802,
        "risk": 3,
        "sha": "571de8e3b29dd4dddd40185098e052326922b13c67d0530d9bc2593213cfbaa2",
        "size": 3671,
        "traits": [
          {
            "id": "metadata/package/license::spdx-license-identifier",
            "conf": 0.9,
            "crit": 3,
            "desc": "Source SPDX license identifier declaration",
            "spans": [
              [
                51,
                28
              ]
            ]
          },
          {
            "id": "micro-behaviors/crypto/asymmetric/kem::mlkem-kyber-algorithm-reference",
            "conf": 0.92,
            "crit": 3,
            "desc": "References an ML-KEM or Kyber algorithm family",
            "spans": [
              [
                2060,
                11
              ]
            ]
          },
          {
            "id": "metadata/file/comment::source-comment-bytes-over-300",
            "conf": 0.92,
            "crit": 2,
            "desc": "Source has over 300 comment bytes"
          },
          {
            "id": "metadata/import/rust/crate/constants/aead_nonce_12_length::crate/constants/aead_nonce_12_length",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports crate::constants::AEAD_NONCE_12_LENGTH",
            "spans": [
              [
                209,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/crate/constants/aes_256_gcm_key_length::crate/constants/aes_256_gcm_key_length",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports crate::constants::AES_256_GCM_KEY_LENGTH",
            "spans": [
              [
                231,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/crate/constants/argon2_salt_16_length::crate/constants/argon2_salt_16_length",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports crate::constants::ARGON2_SALT_16_LENGTH",
            "spans": [
              [
                255,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/crate/constants/argon2_salt_32_length::crate/constants/argon2_salt_32_length",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports crate::constants::ARGON2_SALT_32_LENGTH",
            "spans": [
              [
                278,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/crate/constants/ml_dsa_87_seed_length::crate/constants/ml_dsa_87_seed_length",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports crate::constants::ML_DSA_87_SEED_LENGTH",
            "spans": [
              [
                305,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/crate/constants/ml_kem_1024_seed_length::crate/constants/ml_kem_1024_seed_length",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports crate::constants::ML_KEM_1024_SEED_LENGTH",
            "spans": [
              [
                328,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/crate/rng/securerandom::crate/rng/securerandom",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports crate::rng::SecureRandom",
            "spans": [
              [
                360,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/crate/types/aeadnonce12::crate/types/aeadnonce12",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports crate::types::AeadNonce12",
            "spans": [
              [
                410,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/crate/types/aes256gcmkeymaterial::crate/types/aes256gcmkeymaterial",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports crate::types::Aes256GcmKeyMaterial",
            "spans": [
              [
                423,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/crate/types/argon2salt16::crate/types/argon2salt16",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports crate::types::Argon2Salt16",
            "spans": [
              [
                445,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/crate/types/argon2salt32::crate/types/argon2salt32",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports crate::types::Argon2Salt32",
            "spans": [
              [
                459,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/crate/types/mldsa87seed::crate/types/mldsa87seed",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports crate::types::MlDsa87Seed",
            "spans": [
              [
                473,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/crate/types/mlkem1024seed::crate/types/mlkem1024seed",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports crate::types::MlKem1024Seed",
            "spans": [
              [
                486,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/crate/types/randombytes::crate/types/randombytes",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports crate::types::RandomBytes",
            "spans": [
              [
                505,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/crypto_core/cryptoerror::crypto_core/cryptoerror",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports crypto_core::CryptoError",
            "spans": [
              [
                113,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/crypto_core/rngfailurekind::crypto_core/rngfailurekind",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports crypto_core::RngFailureKind",
            "spans": [
              [
                126,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/crypto_core/rngoutputkind::crypto_core/rngoutputkind",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports crypto_core::RngOutputKind",
            "spans": [
              [
                142,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/zeroize/zeroize::zeroize/zeroize",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports zeroize::Zeroize",
            "spans": [
              [
                162,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/function-word::lang-english--atom-1",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"the\"",
            "spans": [
              [
                569,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/function-word::lang-english--atom-4",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"have\"",
            "spans": [
              [
                3371,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/function-word::lang-english--atom-6",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"with\"",
            "spans": [
              [
                2862,
                0
              ]
            ]
          }
        ],
        "type": "rust"
      },
      {
        "analysis_gaps": [
          "flow-graph-limited"
        ],
        "ctx": [
          {
            "b": "fe1CDp^!zqmRMWIlVl{?A+Pf1Bw#*@BugK1fFUKeqE%oMy\u003cw-^awtD@3nj4tfe1CDp^!zqoLF0FzGxwvnN#yIBzku3wPx*Oo?wqbpF@r3Aa9l\u0026wI2U\u0026fBwefB7DFnwN/:(v%H9@DQSf#z/YF*wN/:(BsXL6CYmOxwM9eIA+ft!B-YeSq!oDVwPQmSCZRTXB-RapB9g@ly?kT*lVl\u003c-Byx6erb3hXmr7x@B-RapDs.bnx)KtKi^U4wA=kVrwH[%cwPzZ6DsY(\u0026l#)i+Eld=yB-Rapv@=11wJz\u003eZz/fSrvqZgdiY.P{arR^Hk$a7cuRTx(lQ+upgg9ZzpdFnOefEkEq^RpqhEw%wo\u003cZKZsZK\u0026\u003epdFnOefEkRm]8(nuSfl:r9}vruRA)-m]S2gave)}pFJVLq:B8RuO:DAoHRYDr7FLEarR^Ho?X[Zq:B+Ih^YGLmmpGRmnuuLngU(ToKyBYo\u003cYRegbJupmmxQKoHRYDr7FLEEld=yfe1$3k{ghRzE^W5y\u003cvdowO#71vru6\u003eatCS6vTi6baveBZl)cw=zEWlg3l@+=wPzHdwHG@TvS=rmavx%-zE\u003evwlVl{?efE+$A==27y^\u0026s{avQo3av]{ZxENi]AckRjB98CBv@@?VwNPaAz/f5@f!$dYBVqD9k$a7cuRTx(lQ+up",
            "ln": 0,
            "col": 1,
            "line": 1
          },
          {
            "b": "AblT.wNPaAz/f5@f!%\u003e#3lQDlatkx3aw#=)B-IwvayMykwObH]wO#0?aARJABzbkdA::emzF%A5wGUDcBy/IC3lQDlaAhEjay/tcB95KpzxJweuT!q5wPGmDB7Gf1diHiaasprni6elGml%sGpesRLmpd=8uRA)-m]S2+aBsCrarR^HarR^NB7Gd",
            "ln": 547,
            "col": 3,
            "line": 18
          },
          {
            "b": "ayX[(z/65dB97\u00261y?j.$v}fC1zGEEuz/P(fy*?B1zF78awmYU2x\u003ez6\u003cA=S\u0026Qra]#!aA8EwwPwbhfe1C\u0026xK#i}w]zZ3ay/k0vrcAix([zsvTi6bB0bysay]IhA3eObwft=3C4CXpwQ5fjB7GznBzbl5aARpqz/]YaayEPGvS=r\u003ee^-?cwmY^}C4A79wPzZ6DsXSIt4I.)x)Kt^zBwI-A4b61AckRjB98CBv@@?VA+xrdge?Q$BtkW4txI[!ave)}pFJVLq:B8RuOKDCoHRYDr7Hpzi%(seze:qlp*[x^x\u003c\u003e*DAuF\u003eiAV^U*xk.Vyq^\u003cG:f/ye33lQDlazbHlwPoaBB7Gf1efF\u003eMxK#iBasp2#y?taseJ$p^z/oCmDKp(rarR^HarUciz!}D}w].*bd05%ow?C+\u0026v@#6?AvreLBzblae=",
            "ln": 878,
            "col": 21,
            "line": 31
          },
          {
            "b": "j%juNA+do)w]hSJi-oKgB.(dxDKp(rarR^HarUomA=2lbBy/FBCxdztwNxI2AWSa$A+xrdge?Q$BtkW4jAt1zvpKy\u003cwiIB^dgdguarV7tEf{rmfe1ClaAy[dwn=s3C{3:hzE)\u0026%By!#9gCQK\u003eD30Qul2{QRzzAtQvqH3r3nj4=3nj4=avg3Xz/drMB75)bB0a$3zxJz1v@Di}aAITkvR/P#vpJ!=B-8pMv@DydwO+^%x(mMax\u003eg^)Bzku3wPv",
            "ln": 1785,
            "col": 62,
            "line": 62
          },
          {
            "b": "y\u00260W6cVZzeq=1PPCwZ#jayPd#az(mxBrC47ay/k0vrb{\u0026ayYQ6arR^Hfe1$3Bzb98ay!?@y?mSfCw7M9az#9uy\u0026si7wPw]hwO2y-wg!iiarR!CBZ=F9zxJUhBz\u003eI}D30Rsc#B9GaAIagw*[\u0026Oj%j6Li6elGmn)LGh8X/ilRQ]XmoJ$\u003emnuuLnl)u+",
            "ln": 3471,
            "col": 41,
            "line": 121
          },
          {
            "b": "m]S2+diHiaax8\u0026/w/#BcarR^HarR^Hy?mYhzfo}yB7F\u003c4wPP4Tax8\u0026YA+ftVz*jr7zE[2ult}9fi=nIMc%FxFi6elGmn)LGh8X/ilRQ]XmoJ$\u003emnuuLnl)U[i%)8MarQ",
            "ln": 3786,
            "col": 65,
            "line": 129
          },
          {
            "b": "3lQDlarR^Hax8\u0026/w/#ByvTi6bB2\u003eB+wN/:(BrC#sarR^HEf$xf3nj4=aw#S=wn=s3C{3:hzE)\u0026%By!#9o?Wcimnku*fFUEcmOcAPatLSbaAIa9wft.$By/GbvqEL6fe1%=fe1$3ra]#!azC)tvixS5zGxJlx)a5tB7F\u003c7A+PSvePtcsvqPN$wPw]iCwZ#jayPd#aBmQtz!TJeB0bysay]IhA4RFxtv.q=x)a5ot4I.)x)Ktwax\u0026t%z!TJepI@M",
            "ln": 3953,
            "col": 25,
            "line": 132
          }
        ],
        "depth": 1,
        "facts": {
          "imp": [
            [
              "",
              "Self"
            ],
            [
              "",
              "bool::from"
            ],
            [
              "",
              "core::hash::Hash::hash"
            ],
            [
              "",
              "Self"
            ],
            [
              "",
              "formatter.write_str"
            ],
            [
              "",
              "bool::from"
            ],
            [
              "",
              "core::hash::Hash::hash"
            ],
            [
              "",
              "Self"
            ],
            [
              "",
              "formatter.write_str"
            ],
            [
              "",
              "secrecy::SecretBox::new"
            ],
            [
              "",
              "Box::new"
            ],
            [
              "",
              "secret.expose_secret_mut"
            ],
            [
              "",
              "bytes.zeroize"
            ],
            [
              "",
              "secrecy::SecretBox::new"
            ],
            [
              "",
              "Box::new"
            ],
            [
              "",
              "secret.expose_secret_mut"
            ],
            [
              "",
              "bytes.zeroize"
            ],
            [
              "",
              "secrecy::SecretBox::new"
            ],
            [
              "",
              "Box::new"
            ],
            [
              "",
              "secret.expose_secret_mut"
            ],
            [
              "",
              "bytes.zeroize"
            ],
            [
              "",
              "secrecy::ExposeSecret"
            ],
            [
              "",
              "secrecy::ExposeSecretMut"
            ],
            [
              "",
              "secrecy::SecretBox"
            ],
            [
              "",
              "subtle::ConstantTimeEq"
            ],
            [
              "",
              "zeroize::Zeroize"
            ],
            [
              "",
              "zeroize::ZeroizeOnDrop"
            ],
            [
              "",
              "crate::constants::AEAD_NONCE_12_LENGTH"
            ],
            [
              "",
              "crate::constants::AES_256_GCM_KEY_LENGTH"
            ],
            [
              "",
              "crate::constants::ARGON2_SALT_16_LENGTH"
            ],
            [
              "",
              "crate::constants::ARGON2_SALT_32_LENGTH"
            ],
            [
              "",
              "crate::constants::ML_DSA_87_SEED_LENGTH"
            ],
            [
              "",
              "crate::constants::ML_KEM_1024_SEED_LENGTH"
            ]
          ],
          "mbr": [
            "bytes.zeroize",
            "formatter.write_str",
            "other.0",
            "secret.expose_secret_mut"
          ],
          "tgt": [
            "Box::new",
            "Self",
            "bool::from",
            "bytes.zeroize",
            "core::hash::Hash::hash",
            "formatter.write_str",
            "secrecy::SecretBox::new",
            "secret.expose_secret_mut"
          ],
          "funcs": [
            [
              "as_bytes",
              620
            ],
            [
              "from_array",
              709
            ],
            [
              "eq",
              1143
            ],
            [
              "hash",
              1306
            ],
            [
              "as_bytes",
              1493
            ],
            [
              "from_array",
              1583
            ],
            [
              "fmt",
              1728
            ],
            [
              "eq",
              2207
            ],
            [
              "hash",
              2370
            ],
            [
              "as_bytes",
              2557
            ],
            [
              "from_array",
              2647
            ],
            [
              "fmt",
              2792
            ],
            [
              "as_bytes",
              3265
            ],
            [
              "into_bytes",
              3558
            ],
            [
              "from_array",
              3726
            ],
            [
              "as_bytes",
              4321
            ],
            [
              "into_bytes",
              4616
            ],
            [
              "from_array",
              4785
            ],
            [
              "as_bytes",
              5374
            ],
            [
              "into_bytes",
              5667
            ],
            [
              "from_array",
              5834
            ],
            [
              "as_bytes",
              6375
            ],
            [
              "into_bytes",
              6591
            ],
            [
              "from_array",
              6658
            ]
          ],
          "metrics": {
            "ast": {
              "max_depth": 11,
              "call_count": 32,
              "node_count": 1766,
              "member_count": 4,
              "max_array_length": 2,
              "max_member_depth": 2
            },
            "file": {
              "size": 6740,
              "entropy": 5.17
            },
            "text": {
              "lines": 225,
              "top_char": 101,
              "digit_ratio": 0.05,
              "space_count": 1216,
              "char_entropy": 5.17,
              "unique_chars": 79,
              "top_char_null": 0,
              "import_density": 5.33,
              "string_density": 0.01,
              "top_char_ratio": 0.08,
              "avg_line_length": 28.96,
              "max_line_length": 95,
              "empty_line_ratio": 0.16,
              "last_line_length": 1,
              "whitespace_ratio": 0.21,
              "identifier_density": 1.25,
              "line_length_stddev": 26.38,
              "max_whitespace_run": 1,
              "normalized_import_count": 0.8,
              "normalized_string_count": 0.13,
              "suspicious_comment_ratio": 0.11,
              "normalized_function_count": 1.6,
              "imports_to_functions_ratio": 0.5,
              "strings_to_functions_ratio": 0.08,
              "suspicious_identifier_ratio": 0.14,
              "normalized_unique_identifiers": 7.42,
              "identifiers_to_functions_ratio": 2.42
            },
            "binds": {
              "count": 6
            },
            "binary": {
              "peak_region_bytes": 6144,
              "peak_region_entropy": 5.38
            },
            "source": {
              "class_count": 7,
              "function_count": 6
            },
            "imports": {
              "count": 12,
              "third_party_count": 12,
              "third_party_ratio": 1
            },
            "strings": {
              "bytes": 48,
              "count": 2,
              "avg_length": 24,
              "max_length": 24,
              "avg_entropy": 4.13,
              "entropy_stddev": 0.04
            },
            "comments": {
              "chars": 1871,
              "count": 46,
              "empty": 1,
              "lines": 45,
              "base64": 1,
              "high_entropy": 4,
              "to_code_ratio": 0.25
            },
            "functions": {
              "count": 13,
              "density": 10.67,
              "avg_params": 1.25,
              "code_ratio": 0.39,
              "max_params": 2,
              "length_stddev": 1.11,
              "avg_name_length": 7.67,
              "avg_length_lines": 3.63,
              "max_length_lines": 6,
              "min_length_lines": 3,
              "avg_param_name_length": 5.53
            },
            "identifiers": {
              "count": 282,
              "unique": 58,
              "avg_length": 8.88,
              "max_length": 23,
              "min_length": 1,
              "avg_entropy": 2.5,
              "reuse_ratio": 0.21,
              "length_stddev": 5.85,
              "has_digit_ratio": 0.21,
              "sequential_names": 2,
              "base64_like_names": 6,
              "single_char_count": 3,
              "single_char_ratio": 0.05,
              "high_entropy_count": 8,
              "high_entropy_ratio": 0.14,
              "all_lowercase_ratio": 0.45,
              "all_uppercase_ratio": 0.05,
              "numeric_suffix_count": 3,
              "underscore_prefix_count": 1
            }
          }
        },
        "id": 9,
        "mol": "H₂(CrDb)Md(Pa)",
        "path": "reallyme-crypto-csprng-0.3.10.crate!!reallyme-crypto-csprng-0.3.10/src/types.rs",
        "pid": 15491,
        "risk": 4,
        "sha": "37be2ddebc35eafe4a314c346ead2d5ec224fef518c7a3299a62930e7b13698e",
        "size": 6740,
        "traits": [
          {
            "id": "metadata/package/license::spdx-license-identifier",
            "conf": 0.9,
            "crit": 3,
            "desc": "Source SPDX license identifier declaration",
            "spans": [
              [
                51,
                28
              ]
            ]
          },
          {
            "id": "micro-behaviors/crypto/asymmetric/kem::mlkem-kyber-algorithm-reference",
            "conf": 0.92,
            "crit": 3,
            "desc": "References an ML-KEM or Kyber algorithm family",
            "spans": [
              [
                4017,
                11
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/string/redact::bracketed-redacted-marker",
            "conf": 0.92,
            "crit": 3,
            "desc": "Bracketed redacted replacement marker",
            "spans": [
              [
                1849,
                10
              ]
            ]
          },
          {
            "id": "metadata/file/comment::source-comment-bytes-over-300",
            "conf": 0.92,
            "crit": 2,
            "desc": "Source has over 300 comment bytes"
          },
          {
            "id": "metadata/import/rust/crate/constants/aead_nonce_12_length::crate/constants/aead_nonce_12_length",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports crate::constants::AEAD_NONCE_12_LENGTH",
            "spans": [
              [
                248,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/crate/constants/aes_256_gcm_key_length::crate/constants/aes_256_gcm_key_length",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports crate::constants::AES_256_GCM_KEY_LENGTH",
            "spans": [
              [
                270,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/crate/constants/argon2_salt_16_length::crate/constants/argon2_salt_16_length",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports crate::constants::ARGON2_SALT_16_LENGTH",
            "spans": [
              [
                294,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/crate/constants/argon2_salt_32_length::crate/constants/argon2_salt_32_length",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports crate::constants::ARGON2_SALT_32_LENGTH",
            "spans": [
              [
                317,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/crate/constants/ml_dsa_87_seed_length::crate/constants/ml_dsa_87_seed_length",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports crate::constants::ML_DSA_87_SEED_LENGTH",
            "spans": [
              [
                344,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/crate/constants/ml_kem_1024_seed_length::crate/constants/ml_kem_1024_seed_length",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports crate::constants::ML_KEM_1024_SEED_LENGTH",
            "spans": [
              [
                367,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/secrecy/exposesecret::secrecy/exposesecret",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports secrecy::ExposeSecret",
            "spans": [
              [
                109,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/secrecy/exposesecretmut::secrecy/exposesecretmut",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports secrecy::ExposeSecretMut",
            "spans": [
              [
                123,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/secrecy/secretbox::secrecy/secretbox",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports secrecy::SecretBox",
            "spans": [
              [
                140,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/subtle/constanttimeeq::subtle/constanttimeeq",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports subtle::ConstantTimeEq",
            "spans": [
              [
                156,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/zeroize/zeroize::zeroize/zeroize",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports zeroize::Zeroize",
            "spans": [
              [
                194,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/zeroize/zeroizeondrop::zeroize/zeroizeondrop",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports zeroize::ZeroizeOnDrop",
            "spans": [
              [
                203,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/content-word::data-access-verb-token",
            "conf": 0.88,
            "crit": 1,
            "desc": "Data-access verb token",
            "spans": [
              [
                464,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/content-word::secret-data-term-token",
            "conf": 0.9,
            "crit": 1,
            "desc": "Secret-data term token",
            "spans": [
              [
                3818,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/function-word::lang-english--atom-1",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"the\"",
            "spans": [
              [
                595,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/function-word::lang-english--atom-2",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"and\"",
            "spans": [
              [
                976,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/function-word::lang-english--atom-3",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"that\"",
            "spans": [
              [
                3519,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/function-word::lang-english--atom-5",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"for\"",
            "spans": [
              [
                1120,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/function-word::lang-english--atom-7",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"this\"",
            "spans": [
              [
                926,
                0
              ]
            ]
          }
        ],
        "type": "rust"
      },
      {
        "depth": 1,
        "facts": {
          "metrics": {
            "file": {
              "size": 880,
              "entropy": 4.83
            },
            "binary": {
              "peak_region_bytes": 880,
              "peak_region_entropy": 4.83
            },
            "registry": {
              "age_days": 0,
              "published_at": 1790984330,
              "releases_24h": 1,
              "releases_48h": 1,
              "is_deprecated": 0,
              "release_count": 13,
              "unpacked_size": 10709,
              "downloads_total": 2387,
              "version_removed": 0,
              "downloads_recent": 2387,
              "package_age_days": 83,
              "first_published_at": 1783740169,
              "previous_published_at": 1788888902,
              "days_since_previous_release": 24
            }
          }
        },
        "id": 10,
        "mol": "Md(Re)",
        "path": "reallyme-crypto-csprng@0.3.10.registry.json",
        "pid": 0,
        "rel": "registry",
        "risk": 1,
        "role": "sidecar",
        "sha": "6cb40684ba338022b38d777b00189748135e448f9c97209e60d8e7f1a8702ed7",
        "size": 880,
        "traits": [
          {
            "id": "metadata/registry::freshly-published",
            "conf": 1.0,
            "crit": 3,
            "desc": "Release published within seven days"
          }
        ],
        "type": "registry"
      }
    ],
    "rev": "c1ea9",
    "v": "8"
  }
}