https://github.com/unilabsim/UniLab
· scanned 2026-06-05 14:33 UTC (5 days, 3 hours ago)
· 10 languages
423 raw signals (173 security + 250 graph) 11/13 scanners ran 97th percentile · Python · large (100-500K LoC) System graph score 79 (higher by 12)
Last scanned 5 days, 3 hours ago · v2 · 162 actionable findings from 2 signal sources. 111 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 |
100.0 | 0.25 | 25.00 |
testing_score |
100.0 | 0.20 | 20.00 |
documentation_score |
100.0 | 0.15 | 15.00 |
practices_score |
90.0 | 0.15 | 13.50 |
code_quality |
45.0 | 0.10 | 4.50 |
| Overall | 1.00 | 90.8 |
Showing 114 of 162 actionable findings. 273 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.
src/unilab/algos/mlx/ppo/runner.py:161
benchmark/benchmark_replay_buffer_placement.py:744src/unilab/algos/torch/appo/runner.py:439src/unilab/envs/motion_tracking/g1/motion_loader.py:84tests/scripts/doc_checks.py:447src/unilab/algos/mlx/ppo/runner.py:161
src/unilab/tools/render_teaser.py:77
Dockerfile:2
.pre-commit-config.yaml:2, 8, 14 (3 hits)src/unilab/utils/support_matrix.py:177
benchmark/core/device_info.py:42
Dockerfile:30
CI/CD securitycontainers
.github/workflows/ci.yml:30, 46, 62, 78, 97 (5 hits).github/workflows/docs.yml:49, 64 (4 hits).github/workflows/ci.yml:35, 51, 67, 83, 102 (10 hits).github/workflows/docs.yml:52 (2 hits)Dockerfile:29
containersRemote installer
benchmark/benchmark_ane_inference.py:96
Eval used
benchmark/benchmark_ane_peak.py:77
Eval used
benchmark/benchmark_backends.py:174
Eval used
benchmark/benchmark_conversions.py:142
Eval used
benchmark/benchmark_ipc_weight_sync.py:177
Eval used
benchmark/benchmark_mlp_inference.py:362
Eval used
benchmark/benchmark_mlx_compile.py:83
Eval used
benchmark/benchmark_postprocess.py:211
Eval used
scripts/train_appo.py:231
Eval used
scripts/train_hora_distill.py:272
Eval used
scripts/train_mlx_ppo.py:267
Eval used
scripts/train_offpolicy.py:428
Eval used
src/unilab/algos/mlx/common/normalization.py:38
Eval used
src/unilab/algos/mlx/ppo/ppo.py:80
Eval used
src/unilab/algos/mlx/ppo/runner.py:138
Eval used
src/unilab/algos/torch/appo/learner.py:177
Eval used
src/unilab/algos/torch/appo/runner.py:41
Eval used
src/unilab/algos/torch/appo/worker.py:162
Eval used
src/unilab/algos/torch/common/ane_actor.py:33
Eval used
src/unilab/algos/torch/common/ane_inference.py:28
Eval used
src/unilab/algos/torch/flash_sac/learner.py:207
Eval used
src/unilab/algos/torch/him_ppo/algorithm.py:79
Eval used
src/unilab/algos/torch/him_ppo/runner.py:211
Eval used
src/unilab/algos/torch/hora/appo.py:179
Eval used
src/unilab/algos/torch/hora/appo_worker.py:170
Eval used
src/unilab/algos/torch/hora/distill.py:356
Eval used
src/unilab/algos/torch/offpolicy/worker.py:345
Eval used
src/unilab/visualization/interactive_playback.py:558
Eval used
benchmark/benchmark_fast_sac_backends.py:106benchmark/core/device_info.py:108benchmark/core/mem_profile.py:32src/unilab/algos/torch/common/ane_actor.py:13
src/unilab/algos/mlx/ppo/runner.py:161
benchmark/core/backends.py:46benchmark/core/mem_profile.py:70scripts/visualize_task_env.py:55benchmark/benchmark_mlp_inference.py:54, 90, 97, 103, 107, 112, 120, 751, +3 more (11 hits)benchmark/benchmark_backends.py:38, 43, 48, 211 (4 hits)benchmark/benchmark_mujoco_vs_motrix.py:55, 108, 156, 169 (4 hits)benchmark/benchmark_physics_step_mujoco_warp.py:165, 256 (2 hits)benchmark/benchmark_conversions.py:53benchmark/benchmark_env_step.py:1552benchmark/benchmark_mujoco_rollout_model_sharing.py:41benchmark/benchmark_physics_step_motrixsim.py:51Dockerfile:2
CI/CD securitycontainers
Dockerfile:34
CI/CD securitycontainers
README.md:84README_zh.md:84docs/sphinx/source/en/0-index.md:67docs/sphinx/source/en/1-getting_started/1-quick_demo.md:10docs/sphinx/source/en/1-getting_started/2-installation.md:16docs/sphinx/source/zh_CN/0-index.md:66docs/sphinx/source/zh_CN/1-getting_started/1-quick_demo.md:10docs/sphinx/source/zh_CN/1-getting_started/2-installation.md:15.dockerignore
CI/CD securitycontainers
src/unilab/algos/torch/common/ane_actor.py:51
src/unilab/envs/locomotion/go2/joystick.py:22, 82, 168 (3 hits)src/unilab/algos/torch/offpolicy/runner.py:164, 541 (2 hits)src/unilab/base/np_env.py:298, 301 (2 hits)src/unilab/envs/locomotion/go2/handstand.py:166, 236 (2 hits)scripts/deploy/export_motion_bin.py:33scripts/deploy/prepend_warmup.py:65scripts/motion/csv_to_npz.py:26scripts/motion/replay_bones_seed_csv.py:58src/unilab/ipc/replay_pipelines/transfer/torch_copy.py:1
Dockerfile:2
containersPinned dependencies
repo-level (16 hits)scripts/deploy/sim_prototype.py:79
benchmark/benchmark_mlx_compile.py:201
benchmark/benchmark_replay_buffer_placement.py:553
benchmark/benchmark_replay_buffer_placement.py:618
benchmark/benchmark_sharpa_init_dr_construct.py:150
src/unilab/ipc/replay_pipelines/native_h2d.py:122
src/unilab/cli.py:294
benchmark/benchmark_backends.py:176
src/unilab/base/np_env.py:299
benchmark/benchmark_sim.py:292
benchmark/core/mem_profile.py:81
benchmark/benchmark_backends.py:172
benchmark/benchmark_mlx_compile.py:195
scripts/train_appo.py:145
src/unilab/ipc/collector_error.py:34
benchmark/benchmark_mujoco_rollout_model_sharing.py:208
benchmark/benchmark_replay_buffer_placement.py:483
benchmark/benchmark_replay_buffer_placement.py:511
benchmark/benchmark_replay_buffer_placement.py:601
docs/sphinx/source/conf.py:508
benchmark/benchmark_sim.py:283
benchmark/benchmark_sharpa_init_dr_construct.py:172
src/unilab/ipc/replay_pipelines/base.py:31
src/unilab/ipc/replay_pipelines/cpu_pinned_double_buffer.py:379
This page is publicly accessible at:
https://repobility.com/scan/06d21e0a-afaf-4f7f-aeb3-566a8e10033f/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/06d21e0a-afaf-4f7f-aeb3-566a8e10033f/
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.