AI-assisted code is not itself a defect. The engineering question is whether teams can understand and maintain changes, verify unfamiliar dependencies, control unnecessary complexity, and review pull requests effectively. This platform reframes pattern findings as prompts for ownership, supply-chain, over-engineering, and review-effort checks. It scans 7,135 GitHub repositories with SynthScan detection and, when available, Risk Payload v1. Scores are heuristic signals for human review, not proof of authorship, security incidents, or measured maintenance cost.
Generated 2026-11-14 17:29 UTC
This overview summarizes scan coverage and the legacy pattern-signal score. It does not estimate what share of a repository was written by AI. Use individual findings and the four risk vectors below to identify where maintainers may want to verify intent, dependencies, abstraction, or review scope.
Distribution of the existing SynthScan pattern score. Bands are signal ranges, not authorship classifications.
Counts pattern findings by configured severity; severity is not a probability or a security rating.
Highlights recurring pattern categories that may warrant a closer engineering review.
Counts scanned repositories by their reported primary language.
Risk Payload v1 maps findings to cognitive ownership, dependency and supply-chain verification, agent over-engineering, and PR review effort. Indices (0–100) summarize configured findings. Review the linked evidence in context.
Repositories with the highest and lowest adjusted legacy pattern-signal scores. These ranks do not classify code authorship.
This plot places GitHub stars beside the legacy pattern score as repository context only. It does not establish a correlation, reveal AI-tool usage, or imply that popularity causes maintenance risk. The monitored repository sample is not a random sample of all software.
Click a category to expand its top repositories and sample pattern matches.
| Repo | Pts |
|---|---|
| llvm/llvm-project | 2375536 |
| ravynsoft/ravynos | 1679095 |
| dotnet/maui | 117275 |
| javaparser/javaparser | 82990 |
| Superalgos/Superalgos | 74028 |
| Sev | File | Line | Snippet |
|---|---|---|---|
| CRITICAL | e-budget-app/69b2c970cb02ddaafff1c10d.md | 31 | explorer.functions.addEntry.variables.HTMLString.value.toString(); |
| CRITICAL | e-budget-app/69b2c970cb02ddaafff1c10d.md | 41 | explorer.functions.addEntry.variables.HTMLString.value.toString(); |
| CRITICAL | e-budget-app/69b2c970cb02ddaafff1c10d.md | 51 | explorer.functions.addEntry.variables.HTMLString.value.toString(); |
| CRITICAL | e-budget-app/69b2c970cb02ddaafff1c10e.md | 19 | explorer.functions.addEntry.variables.HTMLString.value.toString(); |
| CRITICAL | e-budget-app/69b2c970cb02ddaafff1c10e.md | 28 | explorer.functions.addEntry.variables.HTMLString.value.toString(); |
| CRITICAL | e-budget-app/69b2c970cb02ddaafff1c10e.md | 37 | explorer.functions.addEntry.variables.HTMLString.value.toString(); |
| Repo | Pts |
|---|---|
| RMerl/asuswrt-merlin.ng | 402644 |
| llvm/llvm-project | 185930 |
| ravynsoft/ravynos | 156825 |
| torvalds/linux | 110619 |
| raspberrypi/linux | 103969 |
| Sev | File | Line | Snippet |
|---|---|---|---|
| LOW | pagefind.yml | 1 | # Pagefind CLI configuration |
| LOW | js/src/carousel.ts | 41 | const CLASS_NAME_CENTER = 'carousel-center' |
| LOW | js/src/carousel.ts | 401 | // Keep the end controls in sync with the scroll position even when the |
| LOW | scss/_nav-overflow.scss | 1 | // Nav Overflow (Priority+ Pattern) |
| LOW | scss/_config.scss | 181 | |
| LOW | scss/mixins/_image.scss | 1 | // Image Mixins |
| Repo | Pts |
|---|---|
| unslothai/unsloth | 67091 |
| pipeshub-ai/pipeshub-ai | 57168 |
| openclaw/openclaw | 54728 |
| gadievron/raptor | 52045 |
| home-assistant/core | 43944 |
| Sev | File | Line | Snippet |
|---|---|---|---|
| LOW | js/src/dom/event-handler.ts | 145 | function bootstrapDelegationHandler(element: Element, selector: string, fn: EventCallable, handlerTy |
| LOW | site/src/libs/remark.ts | 107 | function replaceConfigInAttributes(attributes: (MdxJsxAttribute | MdxJsxExpressionAttribute)[]) { |
| LOW | site/src/libs/remark.ts | 123 | function replaceDocsrefInAttributes(attributes: (MdxJsxAttribute | MdxJsxExpressionAttribute)[]) { |
| LOW | site/src/libs/path.ts | 31 | export function validateVersionedDocsPaths(distUrl: URL) { |
| LOW | site/src/libs/path.ts | 62 | function sanitizeVersionedDocsPathForValidation(docsPath: string) { |
| LOW | site/src/libs/astro.ts | 115 | function replacePathVersionPlaceholder(name: string) { |
| Repo | Pts |
|---|---|
| pipeshub-ai/pipeshub-ai | 61945 |
| agno-agi/agno | 52398 |
| gadievron/raptor | 42749 |
| bokeh/bokeh | 34148 |
| Azure/azure-cli | 33382 |
| Sev | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | install.sh | 176 | # --------------------------------------------------------------------------- |
| MEDIUM | install.sh | 178 | # --------------------------------------------------------------------------- |
| MEDIUM | install.sh | 184 | # --------------------------------------------------------------------------- |
| MEDIUM | install.sh | 186 | # --------------------------------------------------------------------------- |
| MEDIUM | install.sh | 233 | # --------------------------------------------------------------------------- |
| MEDIUM | install.sh | 235 | # --------------------------------------------------------------------------- |
| Repo | Pts |
|---|---|
| fern-api/fern | 195700 |
| RMerl/asuswrt-merlin.ng | 55115 |
| GoogleCloudPlatform/training-data-analyst | 51510 |
| microsoft/mcp-for-beginners | 50700 |
| OpenAPITools/openapi-generator | 50675 |
| Sev | File | Line | Snippet |
|---|---|---|---|
| HIGH | y-calculator/6633c06601c081735063b528.md | 0 | projectile details: speed: {self.speed} m/s height: {self.height} m angle: {self.angle}° displacemen |
| HIGH | y-calculator/66475bab40e5125c84b03337.md | 0 | projectile details: speed: {self.speed} m/s height: {self.height} m angle: {self.angle}° displacemen |
| HIGH | y-calculator/66475f7b91d7c6681987739d.md | 0 | projectile details: speed: {self.speed} m/s height: {self.height} m angle: {self.angle}° displacemen |
| HIGH | y-calculator/6633bfcef57e1d70cc3142c6.md | 0 | projectile details: speed: {self.speed} m/s height: {self.height} m angle: {self.angle}° displacemen |
| HIGH | y-calculator/66475d40dd42fb614f14fd03.md | 0 | projectile details: speed: {self.speed} m/s height: {self.height} m angle: {self.angle}° displacemen |
| HIGH | y-calculator/6633bdc3ca38c068c3735984.md | 0 | projectile details: speed: {self.speed} m/s height: {self.height} m angle: {self.angle}° displacemen |
| Repo | Pts |
|---|---|
| fern-api/fern | 25058 |
| pulumi/pulumi | 20774 |
| google-research/google-research | 11670 |
| koxudaxi/datamodel-code-generator | 10686 |
| maziyarpanahi/openmed | 7782 |
| Sev | File | Line | Snippet |
|---|---|---|---|
| LOW | rust/scripts/run_mock_parity_diff.py | 2 | |
| LOW | tests/test_porting_workspace.py | 1 | |
| LOW | tests/test_roadmap_helpers.py | 1 | |
| LOW | tests/test_roadmap_helpers.py | 3 | |
| LOW | tests/test_roadmap_helpers.py | 4 | |
| LOW | tests/test_security_scope.py | 1 |
| Repo | Pts |
|---|---|
| kaifcodec/user-scanner | 18990 |
| unslothai/unsloth | 11898 |
| qgis/QGIS | 11790 |
| fern-api/fern | 8470 |
| RustPython/RustPython | 8165 |
| Sev | File | Line | Snippet |
|---|---|---|---|
| HIGH | tests/test_security_scope.py | 92 | except Exception: |
| HIGH | scripts/rtl_ltr_linter.py | 439 | except Exception: |
| HIGH | scripts/rtl_ltr_linter.py | 595 | except Exception: |
| HIGH | yt_dlp/cookies.py | 1051 | except UnicodeDecodeError: |
| HIGH | yt_dlp/plugins.py | 74 | except FileNotFoundError: |
| HIGH | yt_dlp/jsinterp.py | 573 | except JS_Continue: |
| Repo | Pts |
|---|---|
| nesquena/hermes-webui | 33778 |
| ccxt/ccxt | 29919 |
| Project-N-E-K-O/N.E.K.O | 20890 |
| unslothai/unsloth | 9643 |
| browser-act/skills | 9601 |
| Sev | File | Line | Snippet |
|---|---|---|---|
| HIGH | site/fetch_pypi_downloads_via_clickpy.py | 60 | Each file entry is {"package": str | null, "reason": str | null} plus an |
| HIGH | website/tests/test_preview_verdicts.py | 41 | snapshots.push(snapshot()); |
| HIGH | github/workflows/dependencies/updater.py | 244 | Git.push(branch) |
| HIGH | yt_dlp/extractor/bloomberg.py | 53 | r'BPlayer\(null,\s*({[^;]+})\);', webpage, 'id'), name) |
| HIGH | yt_dlp/extractor/iqiyi.py | 274 | var k_uid = Array.apply(null, Array(32)).map(function() {return Math.floor(Math.random() |
| HIGH | yt_dlp/extractor/iqiyi.py | 326 | enc_params.push(encodeURIComponent(prop) + '=' + encodeURIComponent(query[prop]) |
| Repo | Pts |
|---|---|
| unslothai/unsloth | 8337 |
| microsoft/mcp-for-beginners | 8214 |
| pipeshub-ai/pipeshub-ai | 7235 |
| MervinPraison/PraisonAI | 5847 |
| kaifcodec/user-scanner | 5078 |
| Sev | File | Line | Snippet |
|---|---|---|---|
| LOW | tests/test_security_scope.py | 92 | except Exception: |
| LOW | tests/_bash.py | 15 | except Exception: |
| LOW | scripts/generate_cc2_board.py | 102 | except Exception: |
| MEDIUM | website/fetch_pypi_downloads_via_pepy.py | 42 | print("Error: PEPY_TECH_API_KEY not set (environment or repo-root .env).", file=sys.stderr) |
| MEDIUM | website/fetch_github_stars.py | 106 | print("Error: GITHUB_TOKEN environment variable is required.", file=sys.stderr) |
| MEDIUM | website/fetch_github_stars.py | 158 | print("Error: Invalid GITHUB_TOKEN.", file=sys.stderr) |
| Repo | Pts |
|---|---|
| kaifcodec/user-scanner | 4621 |
| pytorch/pytorch | 3222 |
| google-research/google-research | 2764 |
| sgl-project/sglang | 2716 |
| flashinfer-ai/flashinfer | 2626 |
| Sev | File | Line | Snippet |
|---|---|---|---|
| LOW | tests/_bash.py | 19 | |
| LOW | ithub/scripts/check_release_readiness.py | 93 | |
| LOW | ithub/scripts/check_release_readiness.py | 133 | |
| LOW | website/build.py | 639 | |
| LOW | website/build.py | 703 | |
| LOW | website/build.py | 760 |
| Repo | Pts |
|---|---|
| Sylius/Sylius | 6657 |
| fern-api/fern | 5300 |
| fivetran/great_expectations | 5179 |
| elastic/kibana | 4916 |
| RMerl/asuswrt-merlin.ng | 4387 |
| Sev | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | tools/scripts/move-bf.sh | 3 | # Define the source file |
| MEDIUM | tools/scripts/move-bf.sh | 6 | # Define the destination directory |
| MEDIUM | plugins/gitfast/git-completion.bash | 70 | # The following functions are meant to modify COMPREPLY, which should not be |
| MEDIUM | plugins/gitfast/git-completion.bash | 331 | # This function is equivalent to |
| MEDIUM | plugins/gitfast/git-completion.bash | 3426 | # The following function is based on code from: |
| MEDIUM | ggestions/zsh-autosuggestions.plugin.zsh | 190 | # Create the bound widget |
| Sev | File | Line | Snippet |
|---|---|---|---|
| LOW | skills/bootstrap-v6-install/SKILL.md | 21 | ## Step 1: Choose an install path |
| LOW | skills/bootstrap-v6-install/SKILL.md | 132 | ## Step 5: Verify |
| LOW | kills/bootstrap-v4-v6-migration/SKILL.md | 24 | ## Step 1: Plan the two-stage migration |
| LOW | kills/bootstrap-v4-v6-migration/SKILL.md | 33 | ## Step 2: v4 to v5 — dependencies, build, and Sass |
| LOW | kills/bootstrap-v4-v6-migration/SKILL.md | 65 | ## Step 3: v4 to v5 — JavaScript |
| LOW | kills/bootstrap-v4-v6-migration/SKILL.md | 116 | ## Step 4: v4 to v5 — classes and attributes |
| Repo | Pts |
|---|---|
| fern-api/fern | 6885 |
| langflow-ai/langflow | 4065 |
| pulumi/pulumi | 3860 |
| JetBrains/ideavim | 2955 |
| servo/servo | 2954 |
| Sev | File | Line | Snippet |
|---|---|---|---|
| LOW | js/tests/unit/collapse.spec.js | 51 | ' <div class="collapse">Lorem ipsum</div>', |
| LOW | js/tests/unit/collapse.spec.js | 70 | ' <div class="collapse">Lorem ipsum</div>', |
| LOW | js/tests/unit/collapse.spec.js | 118 | ' <div id="collapse1" class="collapse show">Lorem ipsum 1</div>', |
| LOW | js/tests/unit/collapse.spec.js | 122 | ' <div id="collapse2" class="collapse">Lorem ipsum 2</div>', |
| LOW | js/tests/visual/floating-label.html | 17 | <label for="floatingInput1">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibu |
| LOW | js/tests/visual/floating-label.html | 17 | <label for="floatingInput1">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibu |
| Repo | Pts |
|---|---|
| facebook/hermes | 55251 |
| meta/hermes | 55251 |
| nodejs/node | 17399 |
| v8/v8 | 16844 |
| mongodb/mongo | 12259 |
| Sev | File | Line | Snippet |
|---|---|---|---|
| HIGH | ipts/seed/seed-daily-coding-challenge.js | 57 | text: 'is_balanced("racecar") should return True.', |
| HIGH | plugins/browser-scripts/python-worker.ts | 171 | print(formatted) |
| HIGH | c/templates/Challenges/classic/xterm.tsx | 83 | print(text); |
| HIGH | ckages/core/script/benchmark-location.ts | 65 | print("first", [first]) |
| HIGH | ckages/core/script/benchmark-location.ts | 66 | print("cached", cached) |
| HIGH | ckages/core/script/benchmark-location.ts | 67 | print("cold", cold) |
| Repo | Pts |
|---|---|
| tensorflow/tensorflow | 7812 |
| PaddlePaddle/Paddle | 7212 |
| google-research/google-research | 5758 |
| experientiallabs/experiential | 4920 |
| microsoft/PyRIT | 3418 |
| Sev | File | Line | Snippet |
|---|---|---|---|
| HIGH | searches/interpolation_search.py | 7 | Searches for an item in a sorted collection by interpolation search algorithm. Args: |
| HIGH | searches/interpolation_search.py | 79 | Pure implementation of interpolation search algorithm in Python by recursion Be careful collecti |
| HIGH | uctures/binary_tree/floor_and_ceiling.py | 37 | Find the floor and ceiling values for a given key in a Binary Search Tree (BST). Args: |
| HIGH | _structures/linked_list/is_palindrome.py | 13 | Check if a linked list is a palindrome. Args: head: The head of the linked list. |
| HIGH | _structures/linked_list/is_palindrome.py | 69 | Check if a linked list is a palindrome using a stack. Args: head (ListNode): The h |
| HIGH | _structures/linked_list/is_palindrome.py | 125 | Check if a linked list is a palindrome using a dictionary. Args: head (ListNode): |
| Repo | Pts |
|---|---|
| ccxt/ccxt | 14844 |
| Doragd/Algorithm-Practice-in-Industry | 4820 |
| kunchenguid/firstmate | 3981 |
| manaflow-ai/cmux | 3939 |
| davila7/claude-code-templates | 2807 |
| Sev | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | js/src/carousel.ts | 159 | // True while a seamless loop transition is animating, so the |
| MEDIUM | js/src/carousel.ts | 225 | // Ignore navigation while a seamless loop transition is animating |
| MEDIUM | rates/runtime/src/permission_enforcer.rs | 242 | /// would be more robust. Tracked as follow-up. |
| MEDIUM | aude/sessions/session-1775011562247.json | 1 | {"messages":[{"blocks":[{"text":"analyze this repo and make a plan for enhancing tui","type":"text"} |
| MEDIUM | aude/sessions/session-1775011562247.json | 1 | {"messages":[{"blocks":[{"text":"analyze this repo and make a plan for enhancing tui","type":"text"} |
| MEDIUM | -parser/parser/plugins/add-tests.test.js | 41 | // TODO: make this a bit more robust and informative |
| Repo | Pts |
|---|---|
| sickn33/antigravity-awesome-skills | 5110 |
| sickn33/agentic-awesome-skills | 5110 |
| microsoft/ai-agents-for-beginners | 4854 |
| Doragd/Algorithm-Practice-in-Industry | 2098 |
| camunda/camunda | 1882 |
| Sev | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | concept.md | 96 | ## 7. RAG-сервис: роль и эволюция |
| MEDIUM | how_to_run.md | 135 | # Опционально: RAG (`claw-rag-service`) — см. раздел про RAG ниже |
| MEDIUM | how_to_run.md | 247 | ## Отдельно: `claw-rag-service` (RAG) |
| MEDIUM | aude/sessions/session-1775011562247.json | 1 | {"messages":[{"blocks":[{"text":"analyze this repo and make a plan for enhancing tui","type":"text"} |
| MEDIUM | docs/rag-web-ui.md | 1 | # RAG и веб‑UI: архитектура и фазы |
| MEDIUM | docs/personal-assistant-roadmap.md | 33 | ## 2) Memory: from “RAG for code” to “RAG for life” |
| Repo | Pts |
|---|---|
| Azure/azure-cli | 2668 |
| fern-api/fern | 2629 |
| openai/openai-python | 1906 |
| SeemSeam/claude_codex_bridge | 1861 |
| pulumi/pulumi | 1698 |
| Sev | File | Line | Snippet |
|---|---|---|---|
| LOW | src/task.py | 5 | __all__ = ['PortingTask'] |
| LOW | src/__init__.py | 12 | __all__ = [ |
| LOW | src/QueryEngine.py | 19 | __all__ = ['QueryEnginePort', 'QueryEngineRuntime'] |
| LOW | src/assistant/__init__.py | 14 | __all__ = ["ARCHIVE_NAME", "MODULE_COUNT", "PORTING_NOTE", "SAMPLE_FILES"] |
| LOW | src/vim/__init__.py | 14 | __all__ = ["ARCHIVE_NAME", "MODULE_COUNT", "PORTING_NOTE", "SAMPLE_FILES"] |
| LOW | src/upstreamproxy/__init__.py | 14 | __all__ = ["ARCHIVE_NAME", "MODULE_COUNT", "PORTING_NOTE", "SAMPLE_FILES"] |
| Repo | Pts |
|---|---|
| hashicorp/terraform-provider-aws | 11224 |
| openthread/openthread | 2210 |
| servo/servo | 1715 |
| ruvnet/RuVector | 1378 |
| project-chip/connectedhomeip | 1274 |
| Sev | File | Line | Snippet |
|---|---|---|---|
| LOW | install.sh | 185 | # Step 1: detect OS / arch / WSL |
| LOW | install.sh | 234 | # Step 2: locate the Rust workspace |
| LOW | install.sh | 256 | # Step 3: prerequisite checks |
| LOW | install.sh | 305 | # Step 4: build the workspace |
| LOW | install.sh | 334 | # Step 5: post-install verification |
| LOW | install.sh | 361 | # Step 6: next steps |
| Repo | Pts |
|---|---|
| googleapis/google-cloud-go | 112616 |
| OpenAPITools/openapi-generator | 1890 |
| eosphoros-ai/DB-GPT | 499 |
| juspay/hyperswitch | 188 |
| blacktop/ipsw | 168 |
| Sev | File | Line | Snippet |
|---|---|---|---|
| LOW | yt_dlp/jsinterp.py | 119 | # TODO: implement special cases |
| LOW | yt_dlp/utils/_utils.py | 543 | # TODO: Write tests |
| LOW | yt_dlp/utils/jslib/devalue.py | 87 | # TODO: implement zips `strict=True` |
| LOW | yt_dlp/extractor/tubetugraz.py | 120 | # TODO: Add test for these |
| LOW | hub/workflows/runtime_build_and_test.yml | 385 | # TODO: Update test config to support www build tests |
| LOW | hub/workflows/runtime_build_and_test.yml | 395 | # TODO: Update test config to support xplat build tests |
| Repo | Pts |
|---|---|
| linq2db/linq2db | 16888 |
| nhibernate/nhibernate-core | 10912 |
| Azure/azure-powershell | 6878 |
| googleapis/google-api-go-client | 4778 |
| microsoft/microsoft-ui-xaml | 2352 |
| Sev | File | Line | Snippet |
|---|---|---|---|
| HIGH | enges-python/69162d64f96574d9bb629efd.md | 12 | Given a string of one or more sentences, determine if it was likely generated by AI using the follow |
| HIGH | s-javascript/69162d64f96574d9bb629efd.md | 12 | Given a string of one or more sentences, determine if it was likely generated by AI using the follow |
| HIGH | README.md | 2337 | - [CQL](https://github.com/FrancoLiberali/cql) - Built on top of GORM, adds compile-time verified qu |
| HIGH | plugins/gitfast/git-completion.bash | 1383 | # logic, as requested by the user. |
| HIGH | d-functionality@WcjX6p-V-Rdd77EL8Ega9.md | 3 | A vector database is designed to store, manage, and retrieve high-dimensional vectors (embeddings) g |
| HIGH | ter/lib/src/services/keyboard_key.g.dart | 223 | /// representing a new "do what I mean" key, then the auto-generated code |
| Repo | Pts |
|---|---|
| bitnami/containers | 2759 |
| espnet/espnet | 1533 |
| BoundaryML/baml | 1311 |
| fleetdm/fleet | 1103 |
| RMerl/asuswrt-merlin.ng | 1043 |
| Sev | File | Line | Snippet |
|---|---|---|---|
| LOW | oh-my-zsh.sh | 41 | # Check if in emulation mode, if so early return |
| LOW | oh-my-zsh.sh | 53 | # Set ZSH_CUSTOM to the path where your custom config files |
| LOW | oh-my-zsh.sh | 57 | # Set ZSH_CACHE_DIR to the path where cache files should be created |
| LOW | tools/check_for_upgrade.sh | 256 | # Check if there are updates available before proceeding |
| LOW | tools/install.sh | 111 | # Check if sudo is installed |
| LOW | tools/install.sh | 450 | # Check if we're running on Termux |
| Repo | Pts |
|---|---|
| diegosouzapw/OmniRoute | 5800 |
| ccxt/ccxt | 4164 |
| OneUptime/oneuptime | 3374 |
| fern-api/fern | 2888 |
| microsoft/mcp-for-beginners | 2100 |
| Sev | File | Line | Snippet |
|---|---|---|---|
| HIGH | er_tools/lib/src/commands/build_ios.dart | 651 | '2. Run "xcrun altool --upload-app --type ios -f $relativeOutputPath/*.ipa --apiKey your_api |
| HIGH | er/tools/gen_web_locale_keymap/README.md | 11 | export GITHUB_TOKEN=<YOUR_TOKEN> |
| HIGH | ts/hooks/pre-bash-commit-quality.test.js | 464 | for (const v of ['process.env.API_KEY', '${API_KEY}', '<YOUR_KEY>', 'REPLACE_ME', 'CHANGEME', 'YOU |
| HIGH | docs/ja-JP/skills/x-api/SKILL.md | 53 | export X_API_KEY="your-api-key" |
| HIGH | kills/videodb/reference/api-reference.md | 11 | api_key="your-api-key", # or set VIDEO_DB_API_KEY env var |
| HIGH | /ja-JP/skills/flox-environments/SKILL.md | 318 | # 使用方法: API_KEY="<your-api-key>" flox activate |
| Repo | Pts |
|---|---|
| fern-api/fern | 2524 |
| huggingface/transformers | 1994 |
| Azure/azure-cli | 1814 |
| huggingface/diffusers | 1309 |
| modelscope/modelscope | 1164 |
| Sev | File | Line | Snippet |
|---|---|---|---|
| LOW | yt_dlp/networking/common.py | 223 | |
| LOW | yt_dlp/extractor/common.py | 864 | |
| LOW | yt_dlp/extractor/common.py | 924 | |
| LOW | yt_dlp/extractor/common.py | 2021 | |
| LOW | yt_dlp/extractor/common.py | 2170 | |
| LOW | yt_dlp/extractor/common.py | 2217 |
| Repo | Pts |
|---|---|
| taosdata/TDengine | 6405 |
| swagger-api/swagger-codegen | 2369 |
| bojieli/ai-agent-book | 1838 |
| RMerl/asuswrt-merlin.ng | 1024 |
| microsoft/winget-pkgs | 747 |
| Sev | File | Line | Snippet |
|---|---|---|---|
| LOW | tools/uninstall.sh | 41 | echo "Don't forget to restart your terminal!" |
| MEDIUM | plugins/gitfast/git-completion.bash | 28 | # If you use complex aliases of form '!f() { ... }; f', you can use the null |
| MEDIUM | plugins/gitfast/git-completion.bash | 35 | # like completion, you can use __git_complete: |
| LOW | plugins/opentofu/opentofu.plugin.zsh | 18 | # make sure to escape % signs in the workspace name to prevent command injection |
| LOW | plugins/opentofu/opentofu.plugin.zsh | 26 | # make sure to escape % signs in the version string to prevent command injection |
| MEDIUM | examples/image_list/pubspec.yaml | 33 | # included with your application, so that you can use the icons in |
| Repo | Pts |
|---|---|
| googleapis/google-api-go-client | 940 |
| oumi-ai/oumi | 731 |
| googleapis/google-cloud-go | 572 |
| onetimesecret/onetimesecret | 352 |
| Tencent/puerts | 305 |
| Sev | File | Line | Snippet |
|---|---|---|---|
| LOW | install.sh | 8 | # Usage: |
| LOW | plugins/debian/debian.plugin.zsh | 172 | # Usage: |
| LOW | plugins/forklift/forklift.plugin.zsh | 7 | # Usage: |
| LOW | plugins/pip/pip.plugin.zsh | 1 | # Usage: |
| LOW | plugins/ubuntu/ubuntu.plugin.zsh | 83 | # Usage: |
| LOW | lib/diagnostics.zsh | 9 | # Usage: |
| Repo | Pts |
|---|---|
| dr5hn/countries-states-cities-database | 3535 |
| emacs-mirror/emacs | 1260 |
| 3b1b/videos | 960 |
| ly05010419/MacNativeGames | 329 |
| jart/cosmopolitan | 303 |
| Sev | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | test/test_subtitles.py | 337 | |
| MEDIUM | test/test_subtitles.py | 338 | |
| MEDIUM | test/test_subtitles.py | 339 | |
| MEDIUM | test/test_subtitles.py | 340 | |
| MEDIUM | test/test_subtitles.py | 341 | |
| MEDIUM | ts/unit_tests/runnables/test_runnable.py | 3840 |
| Repo | Pts |
|---|---|
| gitlabhq/gitlabhq | 385 |
| graphql/graphql-spec | 252 |
| bytedance/UI-TARS-desktop | 148 |
| scikit-learn/scikit-learn | 138 |
| davila7/claude-code-templates | 135 |
| Sev | File | Line | Snippet |
|---|---|---|---|
| HIGH | chive/Commits-Between-1.2.1-and-1.5.4.md | 544 | |Greg Spencer <gspencergoog@users.noreply.github.com>|Add SHA256 checksums to published metadata ([# |
| HIGH | s/flutter/lib/src/scheduler/binding.dart | 673 | // TODO(jacobr): I have added an extra line break in this case. |
| HIGH | s/flutter/lib/src/material/scaffold.dart | 2033 | /// [Scaffold]. In this solution, you would have an outer widget that creates |
| HIGH | s/flutter/lib/src/widgets/framework.dart | 4941 | // I have added a line of white space. |
| HIGH | ciphers/elgamal_key_generator.py | 11 | # I have written my code naively same as definition of primitive root |
| HIGH | indings/src/server/ReactFizzConfigDOM.js | 7149 | // or prerendering. In this implementation we only actually emit headers once and |
| Repo | Pts |
|---|---|
| vitali87/code-graph-rag | 336 |
| ag-grid/ag-grid | 226 |
| apache/airflow | 185 |
| pytorch/pytorch | 144 |
| Q00/ouroboros | 89 |
| Sev | File | Line | Snippet |
|---|---|---|---|
| LOW | searches/hill_climbing.py | 35 | >>> def test_function(x, y): |
| LOW | graphs/multi_heuristic_astar.py | 81 | def do_something(back_pointer, goal, start) -> None: |
| LOW | ests__/ReactFlightAsyncDebugInfo-test.js | 110 | async function getData(text) { |
| LOW | ests__/ReactFlightAsyncDebugInfo-test.js | 471 | async function getData(url) { |
| LOW | ests__/ReactFlightAsyncDebugInfo-test.js | 560 | async function getData(text) { |
| LOW | ests__/ReactFlightAsyncDebugInfo-test.js | 1116 | async function getData() { |
This view tracks the legacy pattern score across scans. Changes can reflect code changes, scan coverage, or detector/scoring revisions; they do not measure AI adoption or prove that a team refactored code. Compare only runs with compatible engine and scoring versions.
Search, filter and sort all 7135 scanned repositories.
| Repository ⇅ | Legacy Signal ⇅ | Signal Band ⇅ | Hits ⇅ | Language ⇅ | Stars ⇅ | Scanned ⇅ | Details |
|---|
Find a scanned GitHub repository and copy a static badge for your README. The score is the adjusted legacy pattern signal, not a security certification. Badge bands use thresholds 25, 50 and 75, unlike the dashboard's legacy signal bands.
Repository not scanned yet
Suggest this repository for next scanExplore observed signals, sample coverage and limitations. These comparisons do not certify security or code quality.
Compare compatible heuristic indices and inspect language-specific repository reports.
A review shortlist based on the unadjusted legacy signal, not a ranking of enterprise readiness.
Teams need to know whether committed changes are understood, whether unfamiliar imports are verified, whether abstractions add avoidable maintenance surface, and whether reviewers can focus on meaningful changes. This v3 risk-platform view organizes existing pattern findings into those review questions. It does not infer authorship or claim that a flagged pattern caused a defect.
The four vectors are Cognitive Ownership Risk, Hallucinated Dependency & Supply Chain Risk, Agent Over-Engineering Ratio, and PR Review Velocity Impact. Each finding is a prompt for human review in its repository context.
The scanner combines line-level patterns, multi-line block checks, Python AST checks, cross-file repetition, and suppression rules. The legacy score is a severity-weighted pattern signal normalized per 1,000 scanned lines, then adjusted using repository last-push metadata. That repository-level time adjustment is only a coarse heuristic; it does not date or identify individual code changes.
These modifiers define the existing SynthScan signal score. They do not establish that a match is AI-authored or risky in a specific codebase.
Clusters increase the legacy pattern score; they are not definitive authorship evidence.
| Topological Condition | Algorithmic Effect |
|---|---|
| ≥ 3 signatures within a 10-line execution window | Constituent matches multiplicatively boosted by ×1.5 |
The legacy score weights comments and executable code differently according to the configured context multipliers.
| Lexical Context | Multiplier | Rationale |
|---|---|---|
| COMMENT | ×1.5 | Configured heuristic weight |
| CODE | ×1.0 | Configured baseline weight |
| STRING | ×0.5 | Configured lower weight |
Reduces the contribution of large per-file match counts to the legacy score.
| Statistical Condition | Algorithmic Effect |
|---|---|
| Excess signatures beyond the 20th per individual file | Excess matches mathematically discounted by ×0.5 |
Each pattern match receives its configured severity weight and a context multiplier. The sum of the weighted findings forms the raw score, normalized by scanned lines to produce a comparative pattern-signal score:
The adjusted score further cascades through a temporal discount factor based on the repository's most recent commit metadata. The adjustment uses the repository's last-push timestamp. It is a coarse repository-level heuristic, not evidence about when any finding was written; use raw and adjusted scores as signals, not AI-involvement probabilities.
| Last Push | Discount | Rationale |
|---|---|---|
| Before Nov 2022 | 5% | Configured legacy multiplier |
| Nov 2022 – Jun 2023 | 40% | Configured legacy multiplier |
| Jun 2023 – Jan 2024 | 75% | Configured legacy multiplier |
| Jan 2024 onward | 100% | Configured legacy multiplier |
The scanner combines five detection and control layers. Findings remain heuristic indicators and may need repository-specific interpretation.
| Severity | Base Coefficient | Use |
|---|---|---|
| CRITICAL | 10 | Highest configured finding weight; verify evidence manually |
| HIGH | 5 | High configured finding weight; review in context |
| MEDIUM | 2 | Medium configured finding weight |
| LOW | 1 | Low configured finding weight |
Severity coefficients contribute to the legacy pattern score. Severity describes the scanner's configured weight, not confidence that code is AI-generated or a measure of defect risk.
| Score Interval | Signal label |
|---|---|
| 0 – 5 | Low pattern signal |
| 5 – 15 | Moderate pattern signal |
| 15 – 30 | Elevated pattern signal |
| 30+ | High pattern signal |
This section specifies the operational definitions and deterministic scoring procedure used by Risk Payload v1. It is a deterministic measurement model for organizing human review, not a probability of AI authorship, security risk, or future maintenance cost.
Unit of analysis: one repository scan. Current coverage is 7135 payload-bearing repositories out of 7135 successful scans.
Engine version(s): 2.0.0
Scoring version(s): heuristic-density-v1
Payload schema: 1.0.0
Each finding records category, severity, relative file path, line, stable identifier, and mapped vector IDs. The ID is the first 16 hexadecimal characters of SHA-256 over file, line, category, and pattern text. Unknown categories remain findings, increase unmapped_category_count, and are not silently assigned to the first three vectors.
Base severity weights are LOW = 1, MEDIUM = 2, HIGH = 5, CRITICAL = 10. Line-pattern matches are multiplied by context: COMMENT = 1.5, CODE = 1.0, STRING = 0.5. Block/AST findings use their configured scores.
Line-pattern clustering multiplies matches by 1.5 when at least three fall within ten lines of an anchor. If a file has more than 20 accumulated line/block/AST matches, matches after the top 20 by score are multiplied by 0.5. Cross-file repetition findings are added after this per-file modifier.
The inline ignore marker suppresses line-pattern matches; .synthscanignore excludes files from scanning. In diff mode, findings are limited to added-line locations; cross-file repetition is omitted because its source line cannot be attributed reliably.
| Vector | Mapped detector categories | Interpretation / review action |
|---|---|---|
| Cognitive Ownership Risk | Slop Phrases; AI Slop Vocabulary; Synthetic Comment Markers; Self-Referential Comments; Redundant / Tautological Comments; Verbosity Indicators; Example Usage Blocks; Overly Generic Function Names; Docstring Block Structure; Over-Commented Block; Hyper-Verbose Identifiers; AI Response Leakage; Modern AI Meta-Vocabulary; TODO Padding; Structural Annotation Overuse; AI Structural Patterns; Deep Nesting. | Proxy prompt: can a maintainer explain intent, assumptions, and trade-offs? The scanner does not measure understanding or calculate a complexity-to-documentation ratio. |
| Hallucinated Dependency & Supply Chain Risk | Fake / Example Data; Cross-Language Confusion; Hallucination Indicators; Unused Imports; Magic Placeholder Names; Cross-Language Confusion (JS/TS). | Verify imports against source manifests and package registries. SynthScan does not resolve registries or prove a dependency is missing. |
| Agent Over-Engineering Ratio | Excessive Try-Catch Wrapping; Empty Error Handlers; Decorative Section Separators; Hyper-Verbose Identifiers; Modern Structural Boilerplate; AI Structural Patterns; Cross-File Repetition; Dead Code. | Inspect defensive wrappers, repeated structures, and dead code for necessity. Despite the vector name, this is a normalized index, not a percentage of code; a match may be intentional. |
| PR Review Velocity Impact | All findings contribute to the review-time estimate; every finding is attached to this vector, including unmapped categories. | Minutes are assigned per finding severity to estimate the review effort represented by the findings. |
The mapping is a taxonomy decision, not a causal claim. Findings can be assigned to multiple vectors. The review-velocity vector includes every finding, including categories not mapped to the other vectors.
For repository r, let N be scanned lines (added lines in diff mode), and let Pv be the sum of finding points mapped to vector v. For cognitive ownership, supply-chain, and over-engineering:
D_v = 1000 × max(0, P_v) / max(1, N) S_v = round(100 × (1 − exp(−D_v / 20)), 2)
The saturating exponential maps non-negative point density to 0–100; parameter 20 is a fixed design constant, not a fitted coefficient.
Overall repository index: round((S_ownership + S_supply + S_overengineering + S_review) / 4, 2).
Estimated minutes sum a fixed cost per finding: LOW = 0.5, MEDIUM = 1.5, HIGH = 3, CRITICAL = 5. Unknown severity defaults to 0.5 minutes.
T_review = Σ minutes(severity_i) S_review = score(2 × T_review, N)
The same density transform is used by score(points, N) above with points = 2 × T_review. Bands: LOW < 25; MEDIUM 25–<50; HIGH 50–<75; CRITICAL ≥75.
For each vector, the dashboard reports the unweighted arithmetic mean of repository-level vector scores for repositories that include that vector, plus the number of repositories and findings contributing. Means are not LOC-weighted and should be compared only across compatible scoring versions.
mean_v = round(Σ_r S_(r,v) / n_v, 2)
coverage = 100 × repos_with_payload / successful_scans
| Vector | Mean index | Repos | Findings |
|---|---|---|---|
| Agent Over-Engineering Ratio | 12.54 | 7135 | 7296493 |
| Cognitive Ownership Risk | 13.93 | 7135 | 12348402 |
| Hallucinated Dependency & Supply Chain Risk | 4.73 | 7135 | 1826113 |
| PR Review Velocity Impact | 22.27 | 7135 | 16045780 |
The legacy score remains raw_score / scanned_lines × 1000 (zero when no lines are scanned). The monitor computes adjusted_legacy = legacy_signal × temporal_factor; factors are 0.05 before Nov 2022, 0.40 before Jun 2023, 0.75 before Jan 2024, otherwise 1.00.
This temporal factor is applied to the legacy adjusted score only; it does not alter Risk Payload v1 vector scores. It is based on repository metadata, not the date of each finding.
Evaluation used 25 historical-repository proxies selected by repo_pushed_at < 2023-01-01T00:00:00Z and 11 explicitly selected agent-project proxies; historical scan failures: 0. These are project-type and age proxies, not ground-truth labels for code authorship.
Scoring parameters were fixed before this comparison: density scale = 1000 LOC; exponential saturation constant = 20; severity weights = 1 / 2 / 5 / 10 (LOW through CRITICAL); review-time weights = 0.5 / 1.5 / 3 / 5 minutes. Production score transforms, coefficients, and bands were not changed.
| Vector | Proxy AUC | Bootstrap 95% interval | LOOCV balanced accuracy | Exploratory threshold |
|---|---|---|---|---|
| Cognitive Ownership Risk | 0.820 | 0.633-0.960 | 0.693 | 9.26 |
| Hallucinated Dependency & Supply Chain Risk | 0.726 | 0.545-0.887 | 0.607 | 2.12 |
| Agent Over-Engineering Ratio | 0.873 | 0.720-0.985 | 0.824 | 3.97 |
| PR Review Velocity Impact | 0.787 | 0.600-0.945 | 0.744 | 11.25 |
AUC, bootstrap intervals, leave-one-out accuracy, and thresholds describe only this selected proxy cohort. Thresholds are exploratory and are not deployment defaults; this is not a calibrated probability model.
Reproduce a result with the same engine version, pattern catalogue, scan mode, ignored paths, payload schema, and heuristic-density-v1 scoring version.