{
  "_class" : "hudson.matrix.MatrixBuild",
  "actions" : [
    {
      "_class" : "hudson.model.CauseAction",
      "causes" : [
        {
          "_class" : "hudson.triggers.SCMTrigger$SCMTriggerCause",
          "shortDescription" : "Started by an SCM change"
        }
      ]
    },
    {
      
    },
    {
      "_class" : "hudson.model.ParametersAction",
      "parameters" : [
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "BRANCH",
          "value" : "master"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "EMAIL_NOTIFICATIONS",
          "value" : "jenkins-notifications@lists.osmocom.org laforge@gnumonks.org"
        }
      ]
    },
    {
      "_class" : "jenkins.metrics.impl.TimeInQueueAction",
      "blockedDurationMillis" : 73116,
      "blockedTimeMillis" : 73116,
      "buildableDurationMillis" : 0,
      "buildableTimeMillis" : 0,
      "buildingDurationMillis" : 1966028,
      "executingTimeMillis" : 1966028,
      "executorUtilization" : 1.0,
      "subTaskCount" : 0,
      "waitingDurationMillis" : 9396,
      "waitingTimeMillis" : 9396
    },
    {
      
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "refs/remotes/origin/pmaier/fixgr" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 2045,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "e5f56dd35f1b2347a59f88b401b59997798fff67",
            "branch" : [
              {
                "SHA1" : "e5f56dd35f1b2347a59f88b401b59997798fff67",
                "name" : "refs/remotes/origin/pmaier/fixgr"
              }
            ]
          },
          "revision" : {
            "SHA1" : "e5f56dd35f1b2347a59f88b401b59997798fff67",
            "branch" : [
              {
                "SHA1" : "e5f56dd35f1b2347a59f88b401b59997798fff67",
                "name" : "refs/remotes/origin/pmaier/fixgr"
              }
            ]
          }
        },
        "origin/master" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 2100,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "816b31eb07ec975275a03fa0f521d228d44ac6f4",
            "branch" : [
              {
                "SHA1" : "816b31eb07ec975275a03fa0f521d228d44ac6f4",
                "name" : "origin/master"
              }
            ]
          },
          "revision" : {
            "SHA1" : "816b31eb07ec975275a03fa0f521d228d44ac6f4",
            "branch" : [
              {
                "SHA1" : "816b31eb07ec975275a03fa0f521d228d44ac6f4",
                "name" : "origin/master"
              }
            ]
          }
        },
        "refs/remotes/origin/pmaier/ara-m" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1320,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "8f289234f74045496c3752bf1bb9397302f3e912",
            "branch" : [
              {
                "SHA1" : "8f289234f74045496c3752bf1bb9397302f3e912",
                "name" : "refs/remotes/origin/pmaier/ara-m"
              }
            ]
          },
          "revision" : {
            "SHA1" : "8f289234f74045496c3752bf1bb9397302f3e912",
            "branch" : [
              {
                "SHA1" : "8f289234f74045496c3752bf1bb9397302f3e912",
                "name" : "refs/remotes/origin/pmaier/ara-m"
              }
            ]
          }
        },
        "refs/remotes/origin/pmaier/keepfiles" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1353,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "3d815859830197b9c55e0a49a1bd2532f71285e1",
            "branch" : [
              {
                "SHA1" : "3d815859830197b9c55e0a49a1bd2532f71285e1",
                "name" : "refs/remotes/origin/pmaier/keepfiles"
              }
            ]
          },
          "revision" : {
            "SHA1" : "3d815859830197b9c55e0a49a1bd2532f71285e1",
            "branch" : [
              {
                "SHA1" : "3d815859830197b9c55e0a49a1bd2532f71285e1",
                "name" : "refs/remotes/origin/pmaier/keepfiles"
              }
            ]
          }
        },
        "refs/remotes/origin/pmaier/fixapdu" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1421,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "568e8ae9b817ec2473907bfdd30870410890ffb0",
            "branch" : [
              {
                "SHA1" : "568e8ae9b817ec2473907bfdd30870410890ffb0",
                "name" : "refs/remotes/origin/pmaier/fixapdu"
              }
            ]
          },
          "revision" : {
            "SHA1" : "568e8ae9b817ec2473907bfdd30870410890ffb0",
            "branch" : [
              {
                "SHA1" : "568e8ae9b817ec2473907bfdd30870410890ffb0",
                "name" : "refs/remotes/origin/pmaier/fixapdu"
              }
            ]
          }
        },
        "refs/remotes/origin/pmaier/aramtest" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1467,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "6a555ac5ccad9ee2cae5e0ba247990f824f8e9b6",
            "branch" : [
              {
                "SHA1" : "6a555ac5ccad9ee2cae5e0ba247990f824f8e9b6",
                "name" : "refs/remotes/origin/pmaier/aramtest"
              }
            ]
          },
          "revision" : {
            "SHA1" : "6a555ac5ccad9ee2cae5e0ba247990f824f8e9b6",
            "branch" : [
              {
                "SHA1" : "6a555ac5ccad9ee2cae5e0ba247990f824f8e9b6",
                "name" : "refs/remotes/origin/pmaier/aramtest"
              }
            ]
          }
        },
        "refs/remotes/origin/osmith/wip" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1816,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "e4ea1c997348370ba1d7415bfd926ac873b58c87",
            "branch" : [
              {
                "SHA1" : "e4ea1c997348370ba1d7415bfd926ac873b58c87",
                "name" : "refs/remotes/origin/osmith/wip"
              }
            ]
          },
          "revision" : {
            "SHA1" : "e4ea1c997348370ba1d7415bfd926ac873b58c87",
            "branch" : [
              {
                "SHA1" : "e4ea1c997348370ba1d7415bfd926ac873b58c87",
                "name" : "refs/remotes/origin/osmith/wip"
              }
            ]
          }
        },
        "refs/remotes/origin/pmaier/otatest" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 2022,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "f57f047c627392c40fbe349b1a73ccebe05dc005",
            "branch" : [
              {
                "SHA1" : "f57f047c627392c40fbe349b1a73ccebe05dc005",
                "name" : "refs/remotes/origin/pmaier/otatest"
              }
            ]
          },
          "revision" : {
            "SHA1" : "f57f047c627392c40fbe349b1a73ccebe05dc005",
            "branch" : [
              {
                "SHA1" : "f57f047c627392c40fbe349b1a73ccebe05dc005",
                "name" : "refs/remotes/origin/pmaier/otatest"
              }
            ]
          }
        },
        "refs/remotes/origin/master" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 402,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "4f888a0414101dee4f20aa12579491fcc71707b3",
            "branch" : [
              {
                "SHA1" : "4f888a0414101dee4f20aa12579491fcc71707b3",
                "name" : "refs/remotes/origin/master"
              }
            ]
          },
          "revision" : {
            "SHA1" : "4f888a0414101dee4f20aa12579491fcc71707b3",
            "branch" : [
              {
                "SHA1" : "4f888a0414101dee4f20aa12579491fcc71707b3",
                "name" : "refs/remotes/origin/master"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "816b31eb07ec975275a03fa0f521d228d44ac6f4",
        "branch" : [
          {
            "SHA1" : "816b31eb07ec975275a03fa0f521d228d44ac6f4",
            "name" : "origin/master"
          }
        ]
      },
      "remoteUrls" : [
        "https://gerrit.osmocom.org/pysim"
      ],
      "scmName" : ""
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction"
    }
  ],
  "artifacts" : [
    
  ],
  "building" : false,
  "description" : null,
  "displayName" : "#2100",
  "duration" : 1966028,
  "estimatedDuration" : 1312937,
  "executor" : null,
  "fullDisplayName" : "master-pysim #2100",
  "id" : "2100",
  "inProgress" : false,
  "keepLog" : false,
  "number" : 2100,
  "queueId" : 90074,
  "result" : "SUCCESS",
  "timestamp" : 1776337583222,
  "url" : "https://jenkins.osmocom.org/jenkins/job/master-pysim/2100/",
  "builtOn" : "",
  "changeSet" : {
    "_class" : "hudson.plugins.git.GitChangeSetList",
    "items" : [
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "pySim-prog.py"
        ],
        "commitId" : "816b31eb07ec975275a03fa0f521d228d44ac6f4",
        "timestamp" : 1776253811000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pmaier",
          "fullName" : "pmaier@sysmocom.de"
        },
        "authorEmail" : "pmaier@sysmocom.de",
        "comment" : "pySim-prog: fix Insecure PRNG for SIM Authentication Keys (CWE-338)\u000a\u000aRoot Cause:\u000apySim-prog.py uses Python's random module (Mersenne Twister MT19937) to\u000agenerate Ki and OPC — the root authentication keys for SIM cards. MT19937\u000ais a deterministic PRNG that is not cryptographically secure. Its internal\u000astate (624 × 32-bit words, 19,937 bits) can be fully recovered after\u000aobserving 624 consecutive outputs.\u000a\u000aImpact:\u000a1. SIM Card Cloning: An attacker who determines the PRNG state can predict\u000aall Ki/OPC values generated before and after. With these keys, SIM cards\u000acan be cloned.\u000a2. Network Authentication Bypass: Ki/OPC are used in the Milenage algorithm\u000afor 3G/4G/5G authentication. Predictable keys mean an attacker can\u000aauthenticate as any subscriber whose SIM was provisioned with the weak RNG.\u000a3. Batch Compromise: In bulk provisioning scenarios (pySim-prog's primary\u000ause case), hundreds or thousands of SIMs may be programmed sequentially.\u000aCompromising one batch means recovering the PRNG state to predict all keys.\u000a\u000aFix:\u000aReplace random.randrange() with os.urandom()\u000a\u000aChange-Id: Id3e00d3ec5386f17c1525cacfc7d3f5bba43381f\u000a",
        "date" : "2026-04-15 13:50:11 +0200",
        "id" : "816b31eb07ec975275a03fa0f521d228d44ac6f4",
        "msg" : "pySim-prog: fix Insecure PRNG for SIM Authentication Keys (CWE-338)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "pySim-prog.py"
          }
        ]
      }
    ],
    "kind" : "git"
  },
  "culprits" : [
    {
      "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pmaier",
      "fullName" : "pmaier@sysmocom.de"
    }
  ],
  "runs" : [
    {
      "number" : 2100,
      "url" : "https://jenkins.osmocom.org/jenkins/job/master-pysim/JOB_TYPE=docs,a1=default,a3=default,a4=default,label=osmocom-master/2100/"
    },
    {
      "number" : 2100,
      "url" : "https://jenkins.osmocom.org/jenkins/job/master-pysim/JOB_TYPE=pylint,a1=default,a3=default,a4=default,label=osmocom-master/2100/"
    },
    {
      "number" : 2100,
      "url" : "https://jenkins.osmocom.org/jenkins/job/master-pysim/JOB_TYPE=test,a1=default,a3=default,a4=default,label=simtester/2100/"
    }
  ]
}