nextcloud / suspicious_login

Detect and warn about suspicious IPs logging into Nextcloud
GNU Affero General Public License v3.0
84 stars 25 forks source link

ValueError: random_int(): Argument #1 ($min) must be less than or equal to argument #2 ($max) #745

Closed AndyXheli closed 8 months ago

AndyXheli commented 1 year ago

NC 25.02 App 4.3.0

{"reqId":"gdwRHYwZLUGWfAsWcfsz","level":3,"time":"2022-12-09T10:40:02-06:00","remoteAddr":"","user":"--","app":"suspicious_login","method":"","url":"--","message":"Caught unknown error during IPv4 background training","userAgent":"--","version":"25.0.2.3","exception":{"Exception":"ValueError","Message":"random_int(): Argument #1 ($min) must be less than or equal to argument #2 ($max)","Code":0,"Trace":[{"file":"/var/www/nextcloud/apps/suspicious_login/lib/Service/NegativeSampleGenerator.php","line":74,"function":"random_int"},{"file":"/var/www/nextcloud/apps/suspicious_login/lib/Service/NegativeSampleGenerator.php","line":114,"function":"generateFromRealData","class":"OCA\\SuspiciousLogin\\Service\\NegativeSampleGenerator","type":"->"},{"function":"OCA\\SuspiciousLogin\\Service\\{closure}","class":"OCA\\SuspiciousLogin\\Service\\NegativeSampleGenerator","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/nextcloud/apps/suspicious_login/lib/Service/NegativeSampleGenerator.php","line":115,"function":"array_map"},{"file":"/var/www/nextcloud/apps/suspicious_login/lib/Service/DataLoader.php","line":123,"function":"generateShuffledFromPositiveSamples","class":"OCA\\SuspiciousLogin\\Service\\NegativeSampleGenerator","type":"->"},{"file":"/var/www/nextcloud/apps/suspicious_login/lib/Service/TrainService.php","line":72,"function":"generateRandomShuffledData","class":"OCA\\SuspiciousLogin\\Service\\DataLoader","type":"->"},{"file":"/var/www/nextcloud/apps/suspicious_login/lib/BackgroundJob/TrainJobIpV4.php","line":70,"function":"train","class":"OCA\\SuspiciousLogin\\Service\\TrainService","type":"->"},{"file":"/var/www/nextcloud/lib/public/BackgroundJob/Job.php","line":78,"function":"run","class":"OCA\\SuspiciousLogin\\BackgroundJob\\TrainJobIpV4","type":"->"},{"file":"/var/www/nextcloud/lib/public/BackgroundJob/TimedJob.php","line":103,"function":"start","class":"OCP\\BackgroundJob\\Job","type":"->"},{"file":"/var/www/nextcloud/lib/public/BackgroundJob/TimedJob.php","line":93,"function":"start","class":"OCP\\BackgroundJob\\TimedJob","type":"->"},{"file":"/var/www/nextcloud/cron.php","line":152,"function":"execute","class":"OCP\\BackgroundJob\\TimedJob","type":"->"}],"File":"/var/www/nextcloud/apps/suspicious_login/lib/Service/NegativeSampleGenerator.php","Line":74,"message":"Caught unknown error during IPv4 background training","CustomMessage":"Caught unknown error during IPv4 background training"},"id":"6393826d60dee"}
AndyXheli commented 1 year ago

Issues back on NC 26.0.2

AndyXheli commented 1 year ago

Hey @ChristophWurst sorry to bug you. Do you have any quick idea what this can be ?

root@cloud:~# sudo -u www-data php /var/www/nextcloud/occ suspiciouslogin:optimize Optimizing a MLP trainer in 100 steps

Epoch 0: epochs= 330 layers= 2 shuffledRate=0.005 randomRate=2.000, learningRate=0.0070 Step width for next config neighbor: 0.8 An unhandled exception has been thrown: Amp\Parallel\Worker\TaskFailureError: Uncaught ValueError in worker with message "random_int(): Argument #1 ($min) must be less than or equal to argument #2 ($max)" and code "0"; use Amp\Parallel\Worker\TaskFailureError::getOriginalTrace() for the stack trace in the worker in /var/www/nextcloud/apps/suspicious_login/vendor/amphp/parallel/lib/Worker/Internal/TaskFailure.php:60 Stack trace:

0 /var/www/nextcloud/apps/suspicious_login/vendor/amphp/parallel/lib/Worker/Internal/TaskFailure.php(52): Amp\Parallel\Worker\Internal\TaskFailure->createException()

1 /var/www/nextcloud/apps/suspicious_login/vendor/amphp/parallel/lib/Worker/TaskWorker.php(144): Amp\Parallel\Worker\Internal\TaskFailure->promise()

2 [internal function]: Amp\Parallel\Worker\TaskWorker->Amp\Parallel\Worker{closure}()

3 /var/www/nextcloud/apps/suspicious_login/vendor/amphp/amp/lib/Coroutine.php(118): Generator->send()

4 /var/www/nextcloud/apps/suspicious_login/vendor/amphp/amp/lib/Internal/Placeholder.php(149): Amp\Coroutine->Amp{closure}()

5 /var/www/nextcloud/apps/suspicious_login/vendor/amphp/amp/lib/Coroutine.php(123): Amp\Coroutine->resolve()

6 /var/www/nextcloud/apps/suspicious_login/vendor/amphp/amp/lib/Internal/Placeholder.php(149): Amp\Coroutine->Amp{closure}()

7 /var/www/nextcloud/apps/suspicious_login/vendor/amphp/amp/lib/Coroutine.php(123): Amp\Coroutine->resolve()

8 /var/www/nextcloud/apps/suspicious_login/vendor/amphp/amp/lib/Internal/Placeholder.php(149): Amp\Coroutine->Amp{closure}()

9 /var/www/nextcloud/apps/suspicious_login/vendor/amphp/amp/lib/Deferred.php(53): Amp\Promise@anonymous->resolve()

10 /var/www/nextcloud/apps/suspicious_login/vendor/amphp/byte-stream/lib/ResourceInputStream.php(101): Amp\Deferred->resolve()

11 /var/www/nextcloud/apps/suspicious_login/vendor/amphp/amp/lib/Loop/NativeDriver.php(327): Amp\ByteStream\ResourceInputStream::Amp\ByteStream{closure}()

12 /var/www/nextcloud/apps/suspicious_login/vendor/amphp/amp/lib/Loop/NativeDriver.php(127): Amp\Loop\NativeDriver->selectStreams()

13 /var/www/nextcloud/apps/suspicious_login/vendor/amphp/amp/lib/Loop/Driver.php(138): Amp\Loop\NativeDriver->dispatch()

14 /var/www/nextcloud/apps/suspicious_login/vendor/amphp/amp/lib/Loop/Driver.php(72): Amp\Loop\Driver->tick()

15 /var/www/nextcloud/apps/suspicious_login/vendor/amphp/amp/lib/Loop.php(95): Amp\Loop\Driver->run()

16 /var/www/nextcloud/apps/suspicious_login/vendor/amphp/amp/lib/functions.php(229): Amp\Loop::run()

17 /var/www/nextcloud/apps/suspicious_login/lib/Service/MLP/OptimizerService.php(204): Amp\Promise\wait()

18 /var/www/nextcloud/apps/suspicious_login/lib/Command/Optimize.php(81): OCA\SuspiciousLogin\Service\MLP\OptimizerService->optimize()

19 /var/www/nextcloud/3rdparty/symfony/console/Command/Command.php(255): OCA\SuspiciousLogin\Command\Optimize->execute()

20 /var/www/nextcloud/3rdparty/symfony/console/Application.php(1009): Symfony\Component\Console\Command\Command->run()

21 /var/www/nextcloud/3rdparty/symfony/console/Application.php(273): Symfony\Component\Console\Application->doRunCommand()

22 /var/www/nextcloud/3rdparty/symfony/console/Application.php(149): Symfony\Component\Console\Application->doRun()

23 /var/www/nextcloud/lib/private/Console/Application.php(211): Symfony\Component\Console\Application->run()

24 /var/www/nextcloud/console.php(100): OC\Console\Application->run()

25 /var/www/nextcloud/occ(11): require_once('...')

AndyXheli commented 1 year ago

Still an issue NC 27.0.1

FvdLaar commented 1 year ago

Also, an issue in NC 27.0.2 with Suspicious Login App version 5.0.0

Here are my logs:

[suspicious_login] Error: ValueError: random_int(): Argument #1 ($min) must be less than or equal to argument #2 ($max) at <>

  1. /var/www/cloud/apps/suspicious_login/lib/Service/NegativeSampleGenerator.php line 74 random_int()
  2. /var/www/cloud/apps/suspicious_login/lib/Service/NegativeSampleGenerator.php line 114 OCA\SuspiciousLogin\Service\NegativeSampleGenerator->generateFromRealData()
  3. <> OCA\SuspiciousLogin\Service\NegativeSampleGenerator->OCA\SuspiciousLogin\Service{closure}(" sensitive parameters replaced ")
  4. /var/www/cloud/apps/suspicious_login/lib/Service/NegativeSampleGenerator.php line 115 array_map()
  5. /var/www/cloud/apps/suspicious_login/lib/Service/DataLoader.php line 123 OCA\SuspiciousLogin\Service\NegativeSampleGenerator->generateShuffledFromPositiveSamples()
  6. /var/www/cloud/apps/suspicious_login/lib/Service/TrainService.php line 72 OCA\SuspiciousLogin\Service\DataLoader->generateRandomShuffledData()
  7. /var/www/cloud/apps/suspicious_login/lib/BackgroundJob/TrainJobIpV6.php line 70 OCA\SuspiciousLogin\Service\TrainService->train()
  8. /var/www/cloud/lib/public/BackgroundJob/Job.php line 81 OCA\SuspiciousLogin\BackgroundJob\TrainJobIpV6->run()
  9. /var/www/cloud/lib/public/BackgroundJob/TimedJob.php line 103 OCP\BackgroundJob\Job->start()
  10. /var/www/cloud/lib/public/BackgroundJob/TimedJob.php line 93 OCP\BackgroundJob\TimedJob->start()
    1. /var/www/cloud/cron.php line 152 OCP\BackgroundJob\TimedJob->execute()

at 2023-09-04T06:20:20+00:00

Mike710Shine commented 12 months ago

I hade the same Problem on 27.1.2

[suspicious_login] Fehler: ValueError: random_int(): Argument #1 ($min) must be less than or equal to argument #2 ($max) at <>

  1. /var/www/html/apps/suspicious_login/lib/Service/NegativeSampleGenerator.php line 74 random_int(" sensitive parameters replaced ", -1)
  2. /var/www/html/apps/suspicious_login/lib/Service/NegativeSampleGenerator.php line 114 OCA\SuspiciousLogin\Service\NegativeSampleGenerator->generateFromRealData([1,1,"*** sensit ... "], [])
  3. <> OCA\SuspiciousLogin\Service\NegativeSampleGenerator->OCA\SuspiciousLogin\Service{closure}(" sensitive parameters replaced ")
  4. /var/www/html/apps/suspicious_login/lib/Service/NegativeSampleGenerator.php line 112 array_map(["Closure"], ["*** sensitive ... 2])
  5. /var/www/html/apps/suspicious_login/lib/Service/DataLoader.php line 123 OCA\SuspiciousLogin\Service\NegativeSampleGenerator->generateShuffledFromPositiveSamples(["Rubix\ML\Datasets\Labeled"], 3)
  6. /var/www/html/apps/suspicious_login/lib/Service/TrainService.php line 71 OCA\SuspiciousLogin\Service\DataLoader->generateRandomShuffledData(["OCA\Suspiciou ... "], ["OCA\Suspiciou ... "], ["OCA\Suspiciou ... "])
  7. /var/www/html/apps/suspicious_login/lib/BackgroundJob/TrainJobIpV4.php line 69 OCA\SuspiciousLogin\Service\TrainService->train(["OCA\Suspiciou ... "], ["OCA\Suspiciou ... "], ["OCA\Suspiciou ... "])
  8. /var/www/html/lib/public/BackgroundJob/Job.php line 81 OCA\SuspiciousLogin\BackgroundJob\TrainJobIpV4->run(null)
  9. /var/www/html/lib/public/BackgroundJob/TimedJob.php line 103 OCP\BackgroundJob\Job->start(["OC\BackgroundJob\JobList"])
  10. /var/www/html/lib/public/BackgroundJob/TimedJob.php line 93 OCP\BackgroundJob\TimedJob->start(["OC\BackgroundJob\JobList"])
    1. /var/www/html/cron.php line 152 OCP\BackgroundJob\TimedJob->execute(["OC\BackgroundJob\JobList"], ["OC\Log"])

at 2023-10-19T09:57:08+00:00

HrJosch commented 11 months ago

Still in 27.1.3...

/var/www/html/apps/suspicious_login/lib/Service/NegativeSampleGenerator.php - line 74:

random_int("** sensiti ... ", -1)

/var/www/html/apps/suspicious_login/lib/Service/NegativeSampleGenerator.php - line 114:

OCA\SuspiciousLogin\Service\NegativeSampleGenerator->generateFromRealData([ "*** sensi ... "], [])

<>

OCA\SuspiciousLogin\Service\NegativeSampleGenerator->OCA\SuspiciousLogin\Service{closure}("** sensiti ... ")

/var/www/html/apps/suspicious_login/lib/Service/NegativeSampleGenerator.php - line 112:

array_map([ "Closure"], [ "*** sensi ... "])

/var/www/html/apps/suspicious_login/lib/Service/DataLoader.php - line 123:

OCA\SuspiciousLogin\Service\NegativeSampleGenerator->generateShuffledFromPositiveSamples([ "Rubix\ML ... "], 1)

/var/www/html/apps/suspicious_login/lib/Service/TrainService.php - line 71:

OCA\SuspiciousLogin\Service\DataLoader->generateRandomShuffledData([ "OCA\Susp ... "], [ "OCA\Susp ... "], [ "OCA\Susp ... "])

/var/www/html/apps/suspicious_login/lib/BackgroundJob/TrainJobIpV4.php - line 69:

OCA\SuspiciousLogin\Service\TrainService->train([ "OCA\Susp ... "], [ "OCA\Susp ... "], [ "OCA\Susp ... "])

/var/www/html/lib/public/BackgroundJob/Job.php - line 81:

OCA\SuspiciousLogin\BackgroundJob\TrainJobIpV4->run(null)

/var/www/html/lib/public/BackgroundJob/TimedJob.php - line 103:

OCP\BackgroundJob\Job->start([ "OC\BackgroundJob\JobList"])

/var/www/html/lib/public/BackgroundJob/TimedJob.php - line 93:

OCP\BackgroundJob\TimedJob->start([ "OC\BackgroundJob\JobList"])

/var/www/html/cron.php - line 152:

OCP\BackgroundJob\TimedJob->execute([ "OC\BackgroundJob\JobList"], [ "OC\Log"])

2023-10-31T01:50:01+0100

This project is dead, right? So many dependencies to fix.... :(

Athar42 commented 11 months ago

I wonder if the maintainer @ChristophWurst care about this issue, has it remained in that state for so long now...

For now, I'll just disable that plugin, I'm annoyed to get email notification while always connecting from the same location (no IP changes). As the training thrown an error, I can't check if this is related.

AndyXheli commented 11 months ago

Hi @Athar42 there's a pull request regarding this. Looks like it under review.

Athar42 commented 11 months ago

I tried to apply this fix manually already, and... this pop another issue (saying the dataset isn't correct, didn't write down the error).

Also, on at least one of my 3 instances, one didn't report any entries in the DB, so maybe the tables are wrong too, but as we can't remove the app (only disable it), hard to "force reinstall it" without breaking anything.

So for now, as this issue remain, the plugin will also stay in a disabled state.

TiboLR34 commented 8 months ago

Hi

This error message appeared while i manually updated my nextcloud (aio/docker) to 28.0.1rc1. It is still there now that I'm back to 28.0.1 through automatic update.

This error comes every day at the same hour.

here is the log :

 ValueError random_int(): Argument #1 ($min) must be less than or equal to argument #2 ($max)

    /var/www/html/apps/suspicious_login/lib/Service/NegativeSampleGenerator.phpLigne 74

    undefinedundefinedrandom_int(
      "*** sensitive parameters replaced ***",
      -1
    )

    /var/www/html/apps/suspicious_login/lib/Service/NegativeSampleGenerator.phpLigne 114

    OCA\SuspiciousLogin\Service\NegativeSampleGenerator->generateFromRealData(
      [
        "*** sensitive parameters replaced ***",
        "*** sensitive parameters replaced ***",
        1,
        "*** sensitive parameters replaced ***",
        1,
        "And 11 more entries, set log level to debug to see all entries"
      ],
      []
    )

    OCA\SuspiciousLogin\Service\NegativeSampleGenerator->OCA\SuspiciousLogin\Service\{closure}(
      "*** sensitive parameters replaced ***"
    )

    /var/www/html/apps/suspicious_login/lib/Service/NegativeSampleGenerator.phpLigne 115

    undefinedundefinedarray_map(
      [
        "Closure"
      ],
      [
        "*** sensitive parameters replaced ***"
      ]
    )

    /var/www/html/apps/suspicious_login/lib/Service/DataLoader.phpLigne 123

    OCA\SuspiciousLogin\Service\NegativeSampleGenerator->generateShuffledFromPositiveSamples(
      [
        "Rubix\\ML\\Datasets\\Labeled"
      ],
      1
    )

    /var/www/html/apps/suspicious_login/lib/Service/TrainService.phpLigne 72

    OCA\SuspiciousLogin\Service\DataLoader->generateRandomShuffledData(
      [
        "OCA\\SuspiciousLogin\\Service\\CollectedData"
      ],
      [
        "OCA\\SuspiciousLogin\\Service\\MLP\\Config"
      ],
      [
        "OCA\\SuspiciousLogin\\Service\\Ipv4Strategy"
      ]
    )

    /var/www/html/apps/suspicious_login/lib/BackgroundJob/TrainJobIpV4.phpLigne 70

    OCA\SuspiciousLogin\Service\TrainService->train(
      [
        "OCA\\SuspiciousLogin\\Service\\MLP\\Config"
      ],
      [
        "OCA\\SuspiciousLogin\\Service\\TrainingDataConfig"
      ],
      [
        "OCA\\SuspiciousLogin\\Service\\Ipv4Strategy"
      ]
    )

    /var/www/html/lib/public/BackgroundJob/Job.phpLigne 81

    OCA\SuspiciousLogin\BackgroundJob\TrainJobIpV4->run(
      null
    )

    /var/www/html/lib/public/BackgroundJob/TimedJob.phpLigne 102

    OCP\BackgroundJob\Job->start(
      [
        "OC\\BackgroundJob\\JobList"
      ]
    )

    /var/www/html/lib/public/BackgroundJob/TimedJob.phpLigne 92

    OCP\BackgroundJob\TimedJob->start(
      [
        "OC\\BackgroundJob\\JobList"
      ]
    )

    /var/www/html/cron.phpLigne 152

    OCP\BackgroundJob\TimedJob->execute(
      [
        "OC\\BackgroundJob\\JobList"
      ],
      [
        "OC\\Log"
      ]
    )

Entrée brute dans le journal

{
  "reqId": "GtQjavsx1P9sKyK56CTC",
  "level": 3,
  "time": "2024-02-07T01:17:22+00:00",
  "remoteAddr": "",
  "user": "--",
  "app": "suspicious_login",
  "method": "",
  "url": "--",
  "message": "Caught unknown error during IPv4 background training",
  "userAgent": "--",
  "version": "28.0.2.5",
  "exception": {
    "Exception": "ValueError",
    "Message": "random_int(): Argument #1 ($min) must be less than or equal to argument #2 ($max)",
    "Code": 0,
    "Trace": [
      {
        "file": "/var/www/html/apps/suspicious_login/lib/Service/NegativeSampleGenerator.php",
        "line": 74,
        "function": "random_int",
        "args": [
          "*** sensitive parameters replaced ***",
          -1
        ]
      },
      {
        "file": "/var/www/html/apps/suspicious_login/lib/Service/NegativeSampleGenerator.php",
        "line": 114,
        "function": "generateFromRealData",
        "class": "OCA\\SuspiciousLogin\\Service\\NegativeSampleGenerator",
        "type": "->",
        "args": [
          [
            "*** sensitive parameters replaced ***",
            "*** sensitive parameters replaced ***",
            1,
            "*** sensitive parameters replaced ***",
            1,
            "And 11 more entries, set log level to debug to see all entries"
          ],
          []
        ]
      },
      {
        "function": "OCA\\SuspiciousLogin\\Service\\{closure}",
        "class": "OCA\\SuspiciousLogin\\Service\\NegativeSampleGenerator",
        "type": "->",
        "args": [
          "*** sensitive parameters replaced ***"
        ]
      },
      {
        "file": "/var/www/html/apps/suspicious_login/lib/Service/NegativeSampleGenerator.php",
        "line": 115,
        "function": "array_map",
        "args": [
          [
            "Closure"
          ],
          [
            "*** sensitive parameters replaced ***"
          ]
        ]
      },
      {
        "file": "/var/www/html/apps/suspicious_login/lib/Service/DataLoader.php",
        "line": 123,
        "function": "generateShuffledFromPositiveSamples",
        "class": "OCA\\SuspiciousLogin\\Service\\NegativeSampleGenerator",
        "type": "->",
        "args": [
          [
            "Rubix\\ML\\Datasets\\Labeled"
          ],
          1
        ]
      },
      {
        "file": "/var/www/html/apps/suspicious_login/lib/Service/TrainService.php",
        "line": 72,
        "function": "generateRandomShuffledData",
        "class": "OCA\\SuspiciousLogin\\Service\\DataLoader",
        "type": "->",
        "args": [
          [
            "OCA\\SuspiciousLogin\\Service\\CollectedData"
          ],
          [
            "OCA\\SuspiciousLogin\\Service\\MLP\\Config"
          ],
          [
            "OCA\\SuspiciousLogin\\Service\\Ipv4Strategy"
          ]
        ]
      },
      {
        "file": "/var/www/html/apps/suspicious_login/lib/BackgroundJob/TrainJobIpV4.php",
        "line": 70,
        "function": "train",
        "class": "OCA\\SuspiciousLogin\\Service\\TrainService",
        "type": "->",
        "args": [
          [
            "OCA\\SuspiciousLogin\\Service\\MLP\\Config"
          ],
          [
            "OCA\\SuspiciousLogin\\Service\\TrainingDataConfig"
          ],
          [
            "OCA\\SuspiciousLogin\\Service\\Ipv4Strategy"
          ]
        ]
      },
      {
        "file": "/var/www/html/lib/public/BackgroundJob/Job.php",
        "line": 81,
        "function": "run",
        "class": "OCA\\SuspiciousLogin\\BackgroundJob\\TrainJobIpV4",
        "type": "->",
        "args": [
          null
        ]
      },
      {
        "file": "/var/www/html/lib/public/BackgroundJob/TimedJob.php",
        "line": 102,
        "function": "start",
        "class": "OCP\\BackgroundJob\\Job",
        "type": "->",
        "args": [
          [
            "OC\\BackgroundJob\\JobList"
          ]
        ]
      },
      {
        "file": "/var/www/html/lib/public/BackgroundJob/TimedJob.php",
        "line": 92,
        "function": "start",
        "class": "OCP\\BackgroundJob\\TimedJob",
        "type": "->",
        "args": [
          [
            "OC\\BackgroundJob\\JobList"
          ]
        ]
      },
      {
        "file": "/var/www/html/cron.php",
        "line": 152,
        "function": "execute",
        "class": "OCP\\BackgroundJob\\TimedJob",
        "type": "->",
        "args": [
          [
            "OC\\BackgroundJob\\JobList"
          ],
          [
            "OC\\Log"
          ]
        ]
      }
    ],
    "File": "/var/www/html/apps/suspicious_login/lib/Service/NegativeSampleGenerator.php",
    "Line": 74,
    "message": "Caught unknown error during IPv4 background training",
    "CustomMessage": "Caught unknown error during IPv4 background training"
  },
  "id": "XXXXXXXXXX"
}

I never had any errors before this manual update.

please help