Repository Analysis

vastsa/FileCodeBox

文件快递柜-匿名口令分享文本,文件,像拿快递一样取文件(FileCodeBox - File Express Cabinet - Anonymous Passcode Sharing Text, Files, Like Taking Express Delivery for Files)

10.9 Low AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of vastsa/FileCodeBox, a Python project with 8,488 GitHub stars. SynthScan v2.0 examined 18,247 lines of code across 88 source files, recording 188 pattern matches distributed across 6 syntactic categories. The overall adjusted score of 10.9 places this repository in the Low AI signal band.

The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).

10.9
Adjusted Score
10.9
Raw Score
100%
Time Factor
2026-08-29
Last Push
8.5K
Stars
Python
Language
18.2K
Lines of Code
88
Files
188
Pattern Hits
2026-08-29
Scan Date
0.00
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.

Severity Breakdown

Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.

CRITICAL 0HIGH 0MEDIUM 6LOW 182

Directory Score Breakdown

This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.

Pattern Findings

The scanner identified 188 distinct pattern matches across 6 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.

Hyper-Verbose Identifiers93 hits · 106 pts
SeverityFileLineSnippetContext
LOWmain.py203def build_expire_style_inputs(selected_styles: list[str]) -> str:CODE
LOWmain.py771async def refresh_settings_middleware(request, call_next):CODE
LOWcore/tasks.py99async def clean_expired_presign_sessions():CODE
LOWcore/storage.py84 async def generate_presigned_upload_url(self, save_path: str, expires_in: int = 900) -> Optional[str]:CODE
LOWcore/storage.py542 async def generate_presigned_upload_url(self, save_path: str, expires_in: int = 900) -> Optional[str]:CODE
LOWcore/storage.py675 def _convert_link_to_download_link(self, link):CODE
LOWtests/test_admin_security.py32 def test_initial_security_config_requires_setup_and_generates_jwt_secret(self):CODE
LOWtests/test_admin_security.py41 def test_legacy_default_password_requires_setup(self):CODE
LOWtests/test_admin_security.py52 def test_custom_plaintext_password_is_hashed_and_initialized(self):CODE
LOWtests/test_admin_security.py65 def test_parse_setup_options_converts_common_fields(self):CODE
LOWtests/test_admin_security.py100 def test_parse_setup_options_allows_turning_guest_upload_off(self):CODE
LOWtests/test_admin_security.py110 def test_parse_setup_options_requires_expire_style(self):CODE
LOWtests/test_admin_security.py116 def test_admin_jwt_signature_uses_independent_secret(self):CODE
LOWtests/test_admin_security.py130 def test_configured_session_lifetime_is_returned_by_login(self):CODE
LOWtests/test_admin_security.py189 def test_storage_limit_rejects_negative_values(self):CODE
LOWtests/test_admin_security.py195 def test_admin_session_lifetime_rejects_out_of_range_values(self):CODE
LOWtests/test_admin_security.py208 def test_admin_password_update_rotates_jwt_secret(self):CODE
LOWtests/test_admin_security.py231 def test_initialize_system_sets_admin_password_and_jwt_secret(self):CODE
LOWtests/test_version.py11 def test_version_file_is_the_runtime_version_source(self):CODE
LOWtests/test_version.py19 def test_release_manifest_matches_version_file(self):CODE
LOWtests/test_version.py25 def test_build_can_override_version_with_environment(self):CODE
LOWtests/test_version.py31 def test_rejects_non_canonical_versions(self):CODE
LOWtests/test_issue_482_share_usage.py35 def test_new_installations_default_to_secret_codes(self):CODE
LOWtests/test_issue_482_share_usage.py43 def test_atomic_usage_download_and_metadata_limits(self):CODE
LOWtests/test_issue_482_share_usage.py82 async def _assert_count_consumption_is_atomic(self):CODE
LOWtests/test_issue_482_share_usage.py103 async def _assert_time_expiration_and_usage_are_atomic(self):CODE
LOWtests/test_issue_482_share_usage.py132 async def _assert_download_url_is_single_use(self):CODE
LOWtests/test_issue_482_share_usage.py160 async def _assert_text_share_downloads_as_txt(self):CODE
LOWtests/test_issue_482_share_usage.py184 async def _assert_limited_files_do_not_expose_direct_urls(self):CODE
LOWtests/test_issue_482_share_usage.py199 async def _assert_metadata_counts_all_attempts(self):CODE
LOWtests/test_issue_465_file_type.py18 def test_allows_extensions_and_mime_patterns(self):CODE
LOWtests/test_issue_465_file_type.py25 def test_rejects_disallowed_file_type(self):CODE
LOWtests/test_issue_464_admin_file_list.py40 def test_build_admin_file_item_serializes_required_fields(self):CODE
LOWtests/test_issue_464_admin_file_list.py56 def test_build_admin_file_item_marks_expiring_soon(self):CODE
LOWtests/test_issue_461_s3_addressing.py16 def test_client_config_uses_path_style_when_configured(self):CODE
LOWtests/test_issue_461_s3_addressing.py26 def test_client_config_ignores_invalid_addressing_style(self):CODE
LOWtests/test_issue_473_retrieve_code.py21 def test_normalize_share_code_strips_surrounding_whitespace(self):CODE
LOWtests/test_issue_473_retrieve_code.py24 def test_get_code_file_by_code_queries_normalized_code(self):CODE
LOWtests/test_issue_476_theme_assets.py24 def test_resolves_assets_from_current_theme(self):CODE
LOWtests/test_issue_476_theme_assets.py38 def test_rejects_theme_asset_path_traversal(self):CODE
LOWtests/test_issue_476_theme_assets.py46 def test_index_keeps_absolute_asset_urls(self):CODE
LOWtests/test_security_gaps.py25 def test_detects_common_signatures(self):CODE
LOWtests/test_security_gaps.py33 def test_rejects_extension_spoofing(self):CODE
LOWtests/test_security_gaps.py40 def test_rejects_content_type_spoofing(self):CODE
LOWtests/test_security_gaps.py46 def test_accepts_matching_png(self):CODE
LOWtests/test_security_gaps.py50 def test_whitelist_still_enforced(self):CODE
LOWtests/test_security_gaps.py70 def test_failed_logins_are_rate_limited(self):CODE
LOWtests/test_security_gaps.py83 def test_successful_login_does_not_consume_failure_quota(self):CODE
LOWtests/test_security_gaps.py94 def test_dockerfile_defaults_to_root_for_volume_compatibility(self):CODE
LOWtests/test_pr494_security_patches.py27 def test_validate_expire_style_rejects_unknown_mode(self):CODE
LOWtests/test_pr494_security_patches.py38 def test_sql_placeholders_follow_dialect(self):CODE
LOWtests/test_pr494_security_patches.py79 def test_download_token_accepts_previous_window(self):CODE
LOWtests/test_pr494_security_patches.py82 async def _assert_download_token_window(self):CODE
LOWtests/test_issue_478_s3_file_exists.py27 def test_file_exists_falls_back_to_list_objects(self):CODE
LOWtests/test_issue_478_s3_file_exists.py38 def test_file_exists_returns_false_when_missing(self):CODE
LOWtests/test_issue_486_storage_quota.py14 def test_quota_reservations_are_atomic_and_reusable(self):CODE
LOWtests/test_issue_480_admin_address.py14 def test_admin_address_is_exposed_as_strict_binary_flag(self):CODE
LOWtests/test_security_hardening.py26 def test_verify_password_accepts_valid_hash(self):CODE
LOWtests/test_security_hardening.py31 def test_verify_password_supports_legacy_plaintext(self):CODE
LOWtests/test_security_hardening.py51 def test_rejects_dotdot_filename(self):CODE
33 more matches not shown…
Excessive Try-Catch Wrapping67 hits · 70 pts
SeverityFileLineSnippetContext
LOWcore/tasks.py45 except Exception as e:CODE
LOWcore/tasks.py49 except Exception as e:CODE
LOWcore/tasks.py51 except Exception as e:CODE
LOWcore/tasks.py77 except Exception as e:CODE
LOWcore/tasks.py88 except Exception as e:CODE
LOWcore/tasks.py93 except Exception as e:CODE
LOWcore/tasks.py118 except Exception as e:CODE
LOWcore/tasks.py127 except Exception as e:CODE
LOWcore/database.py100 except Exception as e:STRING
LOWcore/database.py140 except Exception as e:CODE
LOWcore/database.py144 except Exception as e:CODE
MEDIUMcore/database.py80def init_db():CODE
MEDIUMcore/storage.py373def stream_generator():CODE
MEDIUMcore/storage.py593def __init__(self):CODE
MEDIUMcore/storage.py891def __init__(self):CODE
LOWcore/storage.py168 except Exception:CODE
LOWcore/storage.py202 except Exception as e:CODE
LOWcore/storage.py243 except Exception as e:CODE
LOWcore/storage.py261 except Exception as e:CODE
LOWcore/storage.py268 except Exception as e:CODE
LOWcore/storage.py357 except Exception:CODE
LOWcore/storage.py407 except Exception:CODE
LOWcore/storage.py477 except Exception as e:CODE
LOWcore/storage.py509 except Exception as e:CODE
LOWcore/storage.py539 except Exception as e:CODE
LOWcore/storage.py571 except Exception as e:CODE
LOWcore/storage.py585 except Exception as e:CODE
LOWcore/storage.py628 except Exception as e:CODE
LOWcore/storage.py711 except Exception:CODE
LOWcore/storage.py747 except Exception:CODE
LOWcore/storage.py831 except Exception as e:CODE
LOWcore/storage.py867 except Exception as e:CODE
LOWcore/storage.py929 except Exception:CODE
LOWcore/storage.py969 except Exception as e:CODE
LOWcore/storage.py997 except Exception as e:CODE
LOWcore/storage.py1025 except Exception as e:CODE
LOWcore/storage.py1037 except Exception:CODE
LOWcore/storage.py1189 except Exception:CODE
LOWcore/storage.py1345 except Exception as e:CODE
LOWdocs/guide/storage-onedrive.md73except Exception as e:CODE
LOWapps/admin/services.py125 except Exception as exc:CODE
LOWapps/admin/services.py173 except Exception as exc:CODE
LOWapps/admin/services.py409 except Exception as exc:CODE
LOWapps/admin/services.py846 except Exception:CODE
LOWapps/admin/services.py1501 except Exception:CODE
LOWapps/admin/dependencies.py95 except Exception:CODE
LOWapps/admin/dependencies.py104 except Exception as e:CODE
MEDIUMapps/admin/dependencies.py27def get_admin_session_expire_seconds() -> int:CODE
LOWapps/base/quota.py24 except Exception:CODE
LOWapps/base/quota.py102 except Exception:STRING
MEDIUMapps/base/quota.py48def get_storage_limit() -> int:CODE
LOWapps/base/views.py183 except Exception:CODE
LOWapps/base/views.py188 except Exception:CODE
LOWapps/base/views.py382 except Exception:CODE
LOWapps/base/views.py477 except Exception:CODE
LOWapps/base/views.py558 except Exception as e:CODE
LOWapps/base/views.py594 except Exception as e:CODE
LOWapps/base/views.py665 except Exception:CODE
LOWapps/base/views.py709 except Exception as e:CODE
LOWapps/base/views.py713 except Exception:CODE
7 more matches not shown…
Deep Nesting14 hits · 10 pts
SeverityFileLineSnippetContext
LOWcore/tasks.py25CODE
LOWcore/tasks.py57CODE
LOWcore/tasks.py99CODE
LOWcore/database.py105CODE
LOWcore/storage.py340CODE
LOWcore/storage.py694CODE
LOWcore/storage.py760CODE
LOWcore/storage.py792CODE
LOWcore/storage.py917CODE
LOWcore/storage.py1172CODE
LOWcore/storage.py1314CODE
LOWtests/test_version.py31CODE
LOWapps/admin/services.py1138CODE
LOWapps/admin/services.py1546CODE
Unused Imports7 hits · 7 pts
SeverityFileLineSnippetContext
LOWtests/test_pr494_security_patches.py3CODE
LOWtests/test_security_hardening.py3CODE
LOWtests/test_security_hardening.py14CODE
LOWtests/test_security_hardening.py20CODE
LOWapps/admin/dependencies.py5CODE
LOWapps/base/file_validation.py3CODE
LOWapps/base/schemas.py2CODE
Over-Commented Block5 hits · 5 pts
SeverityFileLineSnippetContext
LOWcore/__init__.py1# @Time : 2023/8/11 20:06COMMENT
LOWapps/__init__.py1# @Time : 2023/8/13 20:43COMMENT
LOWapps/admin/__init__.py1# @Time : 2023/8/14 14:38COMMENT
LOWapps/base/__init__.py1# @Time : 2023/8/13 20:43COMMENT
LOWapps/base/views.py401 if max_possible_size > settings.uploadSize:COMMENT
AI Structural Patterns2 hits · 2 pts
SeverityFileLineSnippetContext
LOWcore/storage.py641CODE
LOWapps/admin/views.py344CODE