[GH-ISSUE #4003] Ollama.com - Pull Statistics can be easily fooled #2481

Closed
opened 2026-04-12 12:48:42 -05:00 by GiteaMirror · 3 comments
Owner

Originally created by @electricalgorithm on GitHub (Apr 28, 2024).
Original GitHub issue: https://github.com/ollama/ollama/issues/4003

Originally assigned to: @bmizerany on GitHub.

What is the issue?

Ollama.com model statistics include a pull count. The pull count statistic provides users with the "popularity" of models, where it seems that it is easy to increase the pull count.

Code Reapply
By using the following Python code snippet, you can increase the amount of pulls a hundred times.

import subprocess
import time
import signal
import os

for i in range(1000):
    process = subprocess.Popen(["ollama", "pull", "USERNAME/MODELNAME"])
    time.sleep(1)
    try:
        os.kill(process.pid, signal.SIGTERM)
    except ProcessLookupError:
        pass

Note that 2-3 minutes is needed to see the changes on the UI.

Suggestion
Pull statistics must be increased after the whole model is pulled into a machine, not after starting a pull request.

I'm not a Go dev, don't think that I can provide a fix in a short time.

OS

macOS

GPU

Apple

CPU

Apple

Ollama version

0.1.32

Originally created by @electricalgorithm on GitHub (Apr 28, 2024). Original GitHub issue: https://github.com/ollama/ollama/issues/4003 Originally assigned to: @bmizerany on GitHub. ### What is the issue? Ollama.com model statistics include a pull count. The pull count statistic provides users with the "popularity" of models, where it seems that it is easy to increase the pull count. **Code Reapply** By using the following Python code snippet, you can increase the amount of pulls a hundred times. ```python import subprocess import time import signal import os for i in range(1000): process = subprocess.Popen(["ollama", "pull", "USERNAME/MODELNAME"]) time.sleep(1) try: os.kill(process.pid, signal.SIGTERM) except ProcessLookupError: pass ``` Note that 2-3 minutes is needed to see the changes on the UI. **Suggestion** Pull statistics must be increased after the whole model is pulled into a machine, not after starting a pull request. I'm not a Go dev, don't think that I can provide a fix in a short time. ### OS macOS ### GPU Apple ### CPU Apple ### Ollama version 0.1.32
GiteaMirror added the bug label 2026-04-12 12:48:42 -05:00
Author
Owner

@electricalgorithm commented on GitHub (Apr 28, 2024):

I've applied the technique to a model of mine. Within the bug, we can achieve more than 1k pulls in under 20 minutes. Here is the example model: https://ollama.com/electricalgorithm/hippomistral. I stopped the script on 1,368 pulls.

resim

You can imagine that no one would find a model published an hour ago & install it quickly, right? 😄

<!-- gh-comment-id:2081488519 --> @electricalgorithm commented on GitHub (Apr 28, 2024): I've applied the technique to a model of mine. Within the bug, we can achieve more than 1k pulls in under 20 minutes. Here is the example model: https://ollama.com/electricalgorithm/hippomistral. I stopped the script on 1,368 pulls. <img width="805" alt="resim" src="https://github.com/ollama/ollama/assets/27111270/dcdbba0c-2a70-4b42-ad90-edade4b08224"> You can imagine that no one would find a model published an hour ago & install it quickly, right? 😄
Author
Owner

@pdevine commented on GitHub (Apr 29, 2024):

Hey @electricalgorithm , we're actually counting pulls the same way as Docker counts them, i.e. if the manifest gets pulled it counts as a pull. The reason why is because models can share content, and it's not always necessary to re-pull an entire contents of a model.

I think the solution will be to introduce throttling which will prevent you from hitting that API repeatedly. I'm reluctant to stop people from pulling though until it's clear that it's being abused.

<!-- gh-comment-id:2082825311 --> @pdevine commented on GitHub (Apr 29, 2024): Hey @electricalgorithm , we're actually counting pulls the same way as Docker counts them, i.e. if the manifest gets pulled it counts as a pull. The reason why is because models can share content, and it's not always necessary to re-pull an entire contents of a model. I think the solution will be to introduce throttling which will prevent you from hitting that API repeatedly. I'm reluctant to _stop_ people from pulling though until it's clear that it's being abused.
Author
Owner

@jmorganca commented on GitHub (May 9, 2024):

Hi @electricalgorithm thank you so much for the issue. Will close this for now if that's ok just since there are quite a few issues open and we are hoping to lower that 😊 . That said don't hesitate to create new issues!

<!-- gh-comment-id:2103438329 --> @jmorganca commented on GitHub (May 9, 2024): Hi @electricalgorithm thank you so much for the issue. Will close this for now if that's ok just since there are quite a few issues open and we are hoping to lower that 😊 . That said don't hesitate to create new issues!
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/ollama#2481