Scan timing: clone 9.94s · analysis 11.53s · 13.1 MB · GitHub API rate-limit (preflight)
https://github.com/hiyouga/LlamaFactory
· scanned 2026-06-05 08:17 UTC (5 days, 19 hours ago)
· 10 languages
446 raw signals (216 security + 230 graph) 53rd percentile · Python · medium (20-100K LoC) System graph score 82 (lower by 16)
Last scanned 5 days, 19 hours ago · v2 · 168 actionable findings from 2 signal sources. 163 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
| Component | Sub-score | Weight | Contribution |
|---|---|---|---|
structure_score |
85.0 | 0.15 | 12.75 |
security_score |
34.4 | 0.25 | 8.60 |
testing_score |
94.0 | 0.20 | 18.80 |
documentation_score |
73.0 | 0.15 | 10.95 |
practices_score |
72.0 | 0.15 | 10.80 |
code_quality |
41.6 | 0.10 | 4.16 |
| Overall | 1.00 | 66.1 |
Showing 105 of 168 actionable findings. 331 raw detector signals were grouped into reader-sized issues. Click TP / FP to vote on a finding's accuracy — votes adjust the confidence weighting and improve detection across the platform.
data/glaive_toolcall_en_demo.json:5293, 7236 (2 hits).github/workflows/docker.yml:72, 80 (2 hits).github/workflows/tests.yml:52.github/workflows/tests_cuda.yml:41.github/workflows/tests_npu.yml:44scripts/convert_ckpt/llamafy_qwen.py:42
scripts/convert_ckpt/llamafy_baichuan2.py:34
scripts/convert_ckpt/llamafy_qwen.py:42
scripts/convert_ckpt/llamafy_baichuan2.py:34
src/llamafactory/hparams/finetuning_args.py:566, 567, 568, 569, 570, 571, 572, 573, +5 more (13 hits)scripts/bench_qwen.py:81, 82, 84, 85, 86, 87, 89, 104, +1 more (11 hits)src/llamafactory/hparams/training_args.py:61src/llamafactory/chat/sglang_engine.py:217
docker/docker-npu/docker-compose.yml:1, 29 (2 hits)docker/docker-npu/docker-compose.yml:1, 29 (2 hits)docker/docker-cuda/docker-compose.yml:1docker/docker-rocm/docker-compose.yml:1docker/docker-cuda/Dockerfile.megatron:3
docker/docker-cuda/Dockerfile.base:3
src/llamafactory/api/app.py:102
src/llamafactory/api/app.py:118
.github/workflows/docker.yml:47, 65, 69, 76, 84, 94, 106 (8 hits).github/workflows/publish.yml:27, 37 (4 hits).github/workflows/tests.yml:61 (2 hits).github/workflows/tests_cuda.yml:50 (2 hits).github/workflows/tests_npu.yml:59 (2 hits).github/workflows/docs.yml:27, 30, 61, 64, 77 (9 hits).github/workflows/tests.yml:58, 81 (4 hits).github/workflows/docker.yml:53 (2 hits).github/workflows/publish.yml:24 (2 hits).github/workflows/tests_cuda.yml:47 (2 hits).github/workflows/tests_npu.yml:50 (2 hits).pre-commit-config.yaml:2, 16, 22 (3 hits)src/llamafactory/model/loader.py:211
Eval used
src/llamafactory/train/dpo/trainer.py:109
Eval used
src/llamafactory/train/kto/trainer.py:111
Eval used
src/llamafactory/train/ppo/trainer.py:253
Eval used
src/llamafactory/train/sft/trainer.py:106
Eval used
src/llamafactory/webui/common.py:55
src/llamafactory/extras/env.py:64
docs/_static/js/switcher.js:34
src/llamafactory/webui/common.py:146
scripts/qwen_omni_merge.py:86, 135 (2 hits)src/llamafactory/model/model_utils/valuehead.py:47, 53 (2 hits)src/llamafactory/webui/common.py:79, 159 (2 hits)src/llamafactory/data/data_utils.py:194src/llamafactory/data/parser.py:111src/llamafactory/extras/misc.py:44src/llamafactory/extras/packages.py:38src/llamafactory/train/mca/workflow.py:156docker/docker-cuda/Dockerfile:3docker/docker-cuda/Dockerfile.base:3docker/docker-cuda/Dockerfile.megatron:3docker/docker-npu/Dockerfile:4docker/docker-rocm/Dockerfile:4docker/docker-cuda/Dockerfile:32docker/docker-npu/Dockerfile:33docker/docker-rocm/Dockerfile:33docker/docker-cuda/Dockerfile:35docker/docker-npu/Dockerfile:38docker/docker-rocm/Dockerfile:36src/llamafactory/chat/hf_engine.py:73, 212, 267, 314 (4 hits)src/llamafactory/extras/ploting.py:69
.well-known/security.txt
.github/workflows/docs.yml
CI/CD securitySupply chainGithub actions
.github/workflows/publish.yml
CI/CD securitySupply chainGithub actions
.dockerignore
CI/CD securitycontainers
docker/docker-npu/docker-compose.yml:1, 29 (2 hits)docker/docker-cuda/docker-compose.yml:1docker/docker-rocm/docker-compose.yml:1docker/docker-npu/docker-compose.yml:1, 29 (2 hits)docker/docker-cuda/docker-compose.yml:1docker/docker-rocm/docker-compose.yml:1docker/docker-cuda/Dockerfile.base:26, 31, 36 (3 hits)docker/docker-cuda/Dockerfile.megatron:48, 50 (2 hits)docker/docker-cuda/Dockerfile.megatron:12, 18, 20, 24, 35, 65 (6 hits)docker/docker-rocm/Dockerfile:65docker/docker-cuda/Dockerfile.base:26, 31, 36 (3 hits)docker/docker-cuda/Dockerfile.megatron:48src/llamafactory/train/rm/trainer.py:29, 35 (2 hits)src/llamafactory/train/sft/trainer.py:80, 82 (2 hits)src/llamafactory/train/sft/workflow.py:50, 84 (2 hits)scripts/convert_ckpt/llamafy_qwen.py:62scripts/llama_pro.py:70src/llamafactory/chat/vllm_engine.py:31src/llamafactory/data/processor/unsupervised.py:39src/llamafactory/train/kto/trainer.py:20repo-level (15 hits)repo-level (3 hits)repo-level (2 hits)scripts/bench_qwen.py:119
scripts/llama_pro.py:40
scripts/stat_utils/cal_flops.py:26
scripts/stat_utils/cal_lr.py:37
scripts/stat_utils/cal_mfu.py:101
scripts/stat_utils/cal_ppl.py:55
src/llamafactory/webui/control.py:50
src/llamafactory/webui/control.py:62
src/llamafactory/webui/engine.py:77
src/llamafactory/webui/control.py:78
src/llamafactory/webui/control.py:96
scripts/stat_utils/length_cdf.py:25
src/llamafactory/webui/control.py:160
src/llamafactory/webui/control.py:182
src/llamafactory/webui/control.py:197
src/llamafactory/webui/control.py:209
scripts/convert_ckpt/llamafy_baichuan2.py:91
scripts/convert_ckpt/llamafy_qwen.py:144
scripts/loftq_init.py:30
scripts/pissa_init.py:30
scripts/qwen_omni_merge.py:90
src/llamafactory/webui/control.py:41
src/llamafactory/webui/chatter.py:161
scripts/vllm_infer.py:47
This page is publicly accessible at:
https://repobility.com/scan/8370691f-4f2c-4b46-ba68-f1d31066d05f/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/8370691f-4f2c-4b46-ba68-f1d31066d05f/
Important — please don't re-submit the same URL repeatedly. The submission endpoint is idempotent: re-submitting the same git URL returns this same scan_token, not a new one. To re-scan this repo, sign up free and use the dashboard.