自动化上传视频到社交媒体:抖音、小红书、视频号、tiktok、youtube、bilibili
This report summarizes scanner evidence for dreammis/social-auto-upload, a Python project with 15,402 GitHub stars. SynthScan examined 23,417 lines of code across 141 source files, recording 491 pattern matches distributed across 9 syntactic categories. The legacy adjusted pattern signal is 32.3 (High pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 132 finding(s).
Are imports declared and package/API names verified? 46 finding(s).
Are wrappers, guards, and repeated structures necessary? 412 finding(s).
Which changes need focused human review? 491 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 491 distinct pattern matches across 9 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. 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 configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | uploader/ks_uploader/main.py | 49 | except Exception: | CODE |
| HIGH | uploader/ks_uploader/main.py | 53 | except Exception: | CODE |
| HIGH | uploader/ks_uploader/main.py | 813 | except Exception: | CODE |
| HIGH | uploader/ks_uploader/main.py | 490 | except Exception: | CODE |
| HIGH | uploader/ks_uploader/main.py | 500 | except Exception: | CODE |
| HIGH | uploader/ks_uploader/main.py | 658 | except Exception: | CODE |
| HIGH | uploader/ks_uploader/main.py | 574 | except Exception: | CODE |
| HIGH | uploader/youtube_uploader/main.py | 117 | except Exception: | CODE |
| HIGH | uploader/youtube_uploader/main.py | 124 | except Exception: | CODE |
| HIGH | uploader/youtube_uploader/main.py | 326 | except Exception: | CODE |
| HIGH | uploader/youtube_uploader/main.py | 171 | except Exception: | CODE |
| HIGH | uploader/youtube_uploader/main.py | 318 | except Exception: | CODE |
| HIGH | uploader/tencent_uploader/main.py | 157 | except Exception: | CODE |
| HIGH | uploader/tencent_uploader/main.py | 590 | except TimeoutError: | CODE |
| HIGH | uploader/tencent_uploader/main.py | 594 | except Exception: | CODE |
| HIGH | uploader/tencent_uploader/main.py | 600 | except Exception: | CODE |
| HIGH | uploader/tencent_uploader/main.py | 613 | except Exception: | CODE |
| HIGH | uploader/tencent_uploader/main.py | 621 | except Exception: | CODE |
| HIGH | uploader/tencent_uploader/main.py | 711 | except Exception: | CODE |
| HIGH | uploader/tencent_uploader/main.py | 130 | except Exception: | CODE |
| HIGH | uploader/tencent_uploader/main.py | 671 | except Exception: | CODE |
| HIGH | uploader/tencent_uploader/main.py | 772 | except Exception: | CODE |
| HIGH | uploader/tencent_uploader/main.py | 889 | except Exception: | CODE |
| HIGH | uploader/tencent_uploader/main.py | 895 | except Exception: | CODE |
| HIGH | uploader/tencent_uploader/main.py | 787 | except Exception: | CODE |
| HIGH | uploader/tencent_uploader/main.py | 835 | except Exception: | CODE |
| HIGH | uploader/tencent_uploader/main.py | 869 | except Exception: | CODE |
| HIGH | uploader/alipay_uploader/main.py | 98 | except PWTimeoutError: | CODE |
| HIGH | uploader/alipay_uploader/main.py | 115 | except Exception: | CODE |
| HIGH | uploader/alipay_uploader/main.py | 309 | except Exception: | CODE |
| HIGH | uploader/alipay_uploader/main.py | 542 | except Exception: | CODE |
| HIGH | uploader/alipay_uploader/main.py | 548 | except Exception: | CODE |
| HIGH | uploader/alipay_uploader/main.py | 557 | except Exception: | CODE |
| HIGH | uploader/alipay_uploader/main.py | 166 | except Exception: | CODE |
| HIGH | uploader/alipay_uploader/main.py | 618 | except Exception: | CODE |
| HIGH | uploader/alipay_uploader/main.py | 641 | except Exception: | CODE |
| HIGH | uploader/alipay_uploader/main.py | 648 | except Exception: | CODE |
| HIGH | uploader/alipay_uploader/main.py | 661 | except Exception: | CODE |
| HIGH | uploader/alipay_uploader/main.py | 634 | except Exception: | CODE |
| HIGH | uploader/douyin_uploader/main.py | 56 | except Exception: | CODE |
| HIGH | uploader/douyin_uploader/main.py | 155 | except Exception: | CODE |
| HIGH | uploader/douyin_uploader/main.py | 624 | except Exception: | CODE |
| HIGH | uploader/douyin_uploader/main.py | 681 | except Exception: | CODE |
| HIGH | uploader/douyin_uploader/main.py | 693 | except Exception: | CODE |
| HIGH | uploader/douyin_uploader/main.py | 838 | except Exception: | CODE |
| HIGH | uploader/douyin_uploader/main.py | 130 | except Exception: | CODE |
| HIGH | uploader/douyin_uploader/main.py | 553 | except Exception: | CODE |
| HIGH | uploader/douyin_uploader/main.py | 595 | except Exception: | CODE |
| HIGH | uploader/douyin_uploader/main.py | 892 | except Exception: | CODE |
| HIGH | uploader/douyin_uploader/main.py | 918 | except Exception: | CODE |
| HIGH | uploader/douyin_uploader/main.py | 509 | except Exception: | CODE |
| HIGH | uploader/douyin_uploader/main.py | 614 | except Exception: | CODE |
| HIGH | uploader/douyin_uploader/main.py | 745 | except Exception: | CODE |
| HIGH | uploader/douyin_uploader/main.py | 849 | except Exception: | CODE |
| HIGH | uploader/douyin_uploader/main.py | 901 | except Exception: | CODE |
| HIGH | uploader/douyin_uploader/main.py | 933 | except Exception: | CODE |
| HIGH | uploader/xiaohongshu_uploader/main.py | 483 | except Exception: | CODE |
| HIGH | uploader/xiaohongshu_uploader/main.py | 576 | except Exception: | CODE |
| HIGH | uploader/xiaohongshu_uploader/main.py | 612 | except Exception: | CODE |
| HIGH | uploader/xiaohongshu_uploader/main.py | 520 | except Exception: | CODE |
| 17 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | sau_cli.py | 1450 | except Exception as exc: | CODE |
| LOW | sau_backend.py | 73 | except Exception as e: | CODE |
| LOW | sau_backend.py | 151 | except Exception as e: | STRING |
| LOW | sau_backend.py | 191 | except Exception as e: | STRING |
| LOW | sau_backend.py | 221 | except Exception as e: | CODE |
| LOW | sau_backend.py | 297 | except Exception as e: | STRING |
| LOW | sau_backend.py | 316 | except Exception as e: | STRING |
| LOW | sau_backend.py | 362 | except Exception as e: | STRING |
| LOW | sau_backend.py | 375 | except Exception as e: | STRING |
| LOW | sau_backend.py | 473 | except Exception as e: | STRING |
| LOW | sau_backend.py | 512 | except Exception as e: | STRING |
| LOW | sau_backend.py | 633 | except Exception as e: | STRING |
| LOW | sau_backend.py | 679 | except Exception as e: | STRING |
| MEDIUM | sau_backend.py | 160 | def get_all_files(): | CODE |
| MEDIUM | sau_backend.py | 569 | def upload_cookie(): | CODE |
| MEDIUM | sau_backend.py | 644 | def download_cookie(): | CODE |
| LOW | uploader/tk_uploader/main.py | 158 | except Exception as e: | CODE |
| LOW | uploader/tk_uploader/main.py | 231 | except Exception as e: | CODE |
| LOW | uploader/tk_uploader/main_chrome.py | 165 | except Exception as e: | CODE |
| LOW | uploader/tk_uploader/main_chrome.py | 267 | except Exception as e: | CODE |
| LOW | uploader/ks_uploader/main.py | 49 | except Exception: | CODE |
| LOW | uploader/ks_uploader/main.py | 53 | except Exception: | CODE |
| LOW | uploader/ks_uploader/main.py | 88 | except Exception as e: # noqa: BLE001 | CODE |
| LOW | uploader/ks_uploader/main.py | 151 | except Exception: | CODE |
| LOW | uploader/ks_uploader/main.py | 166 | except Exception: | CODE |
| LOW | uploader/ks_uploader/main.py | 210 | except Exception: | CODE |
| LOW | uploader/ks_uploader/main.py | 220 | except Exception: | CODE |
| LOW | uploader/ks_uploader/main.py | 254 | except Exception: | CODE |
| LOW | uploader/ks_uploader/main.py | 262 | except Exception as exc: | CODE |
| LOW | uploader/ks_uploader/main.py | 360 | except Exception as exc: | CODE |
| LOW | uploader/ks_uploader/main.py | 490 | except Exception: | STRING |
| LOW | uploader/ks_uploader/main.py | 500 | except Exception: | STRING |
| LOW | uploader/ks_uploader/main.py | 570 | except Exception as exc: | STRING |
| LOW | uploader/ks_uploader/main.py | 574 | except Exception: | STRING |
| LOW | uploader/ks_uploader/main.py | 658 | except Exception: | STRING |
| LOW | uploader/ks_uploader/main.py | 695 | except Exception as exc: | STRING |
| LOW | uploader/ks_uploader/main.py | 727 | except Exception as exc: | STRING |
| LOW | uploader/ks_uploader/main.py | 813 | except Exception: | STRING |
| LOW | uploader/ks_uploader/main.py | 848 | except Exception as exc: | STRING |
| LOW | uploader/ks_uploader/main.py | 873 | except Exception as exc: | STRING |
| LOW | uploader/youtube_uploader/main.py | 28 | except Exception: | CODE |
| LOW | uploader/youtube_uploader/main.py | 64 | except Exception: | CODE |
| LOW⚡ | uploader/youtube_uploader/main.py | 117 | except Exception: | CODE |
| LOW⚡ | uploader/youtube_uploader/main.py | 124 | except Exception: | CODE |
| LOW | uploader/youtube_uploader/main.py | 141 | except Exception: | CODE |
| LOW | uploader/youtube_uploader/main.py | 153 | except Exception: | CODE |
| LOW | uploader/youtube_uploader/main.py | 171 | except Exception: | CODE |
| LOW | uploader/youtube_uploader/main.py | 244 | except Exception as exc: | CODE |
| LOW | uploader/youtube_uploader/main.py | 267 | except Exception as exc: | CODE |
| LOW | uploader/youtube_uploader/main.py | 286 | except Exception as exc: | CODE |
| LOW | uploader/youtube_uploader/main.py | 318 | except Exception: | CODE |
| LOW | uploader/youtube_uploader/main.py | 326 | except Exception: | CODE |
| LOW | uploader/bilibili_uploader/runtime.py | 163 | except Exception: | CODE |
| LOW⚡ | uploader/tencent_uploader/main.py | 141 | except Exception as exc: | CODE |
| LOW⚡ | uploader/tencent_uploader/main.py | 157 | except Exception: | CODE |
| LOW⚡ | uploader/tencent_uploader/main.py | 282 | except Exception: | CODE |
| LOW⚡ | uploader/tencent_uploader/main.py | 297 | except Exception: | CODE |
| LOW⚡ | uploader/tencent_uploader/main.py | 594 | except Exception: | CODE |
| LOW⚡ | uploader/tencent_uploader/main.py | 600 | except Exception: | CODE |
| LOW⚡ | uploader/tencent_uploader/main.py | 608 | except Exception: | CODE |
| 173 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | sau_cli.py | 319 | async def login_xiaohongshu_account(account_name: str, headless: bool = True) -> dict: | CODE |
| LOW | sau_cli.py | 324 | async def check_xiaohongshu_account(account_name: str) -> bool: | CODE |
| LOW | uploader/ks_uploader/main.py | 96 | async def _click_visible_publish_confirm(page: Page) -> bool: | CODE |
| LOW | uploader/bilibili_uploader/runtime.py | 43 | def build_biliup_runtime_path(system_name: str | None = None) -> Path: | CODE |
| LOW | uploader/bilibili_uploader/runtime.py | 48 | def _build_biliup_version_path(system_name: str | None = None) -> Path: | CODE |
| LOW | uploader/bilibili_uploader/runtime.py | 96 | def read_local_biliup_version() -> str | None: | CODE |
| LOW | uploader/bilibili_uploader/runtime.py | 103 | def write_local_biliup_version(version: str) -> None: | CODE |
| LOW⚡ | uploader/tencent_uploader/main.py | 148 | async def _extract_tencent_qrcode_src(page: Page) -> str: | CODE |
| LOW⚡ | uploader/tencent_uploader/main.py | 287 | async def _is_tencent_qrcode_scanned(page: Page) -> bool: | CODE |
| LOW | uploader/tencent_uploader/main.py | 97 | def format_str_for_short_title(origin_title: str) -> str: | CODE |
| LOW | uploader/tencent_uploader/main.py | 238 | async def _is_tencent_login_completed(page: Page) -> bool: | CODE |
| LOW | uploader/tencent_uploader/main.py | 270 | async def _is_tencent_qrcode_expired(page: Page) -> bool: | CODE |
| LOW | uploader/tencent_uploader/main.py | 524 | async def wait_for_realtime_verification( | CODE |
| LOW | uploader/tencent_uploader/main.py | 551 | async def set_schedule_time_tencent(self, page: Page, publish_date: datetime): | CODE |
| LOW | uploader/tencent_uploader/main.py | 695 | async def _dismiss_switch_account_dialog(self, page: Page) -> None: | CODE |
| LOW | uploader/tencent_uploader/main.py | 1031 | async def upload_thumbnail_in_dialog(self, page: Page, cover_dialog, thumbnail_path: str) -> None: | CODE |
| LOW | uploader/tencent_uploader/main.py | 1098 | async def prepare_video_for_publish(self, page: Page) -> None: | CODE |
| LOW | uploader/alipay_uploader/main.py | 213 | async def _is_alipay_login_completed(page: Page, login_iframe) -> bool: | CODE |
| LOW | uploader/douyin_uploader/main.py | 150 | async def _extract_douyin_qrcode_src(page: Page) -> str: | CODE |
| LOW | uploader/douyin_uploader/main.py | 210 | async def _is_douyin_login_completed(page: Page) -> bool: | CODE |
| LOW | uploader/douyin_uploader/main.py | 376 | async def fill_title_and_description(self, page: Page, title: str, description: str, tags: list[str] | None = None): | CODE |
| LOW | uploader/xiaohongshu_uploader/main.py | 343 | async def set_schedule_time_xiaohongshu(self, page: Page, publish_date: datetime): | CODE |
| LOW | uploader/xiaohongshu_uploader/main.py | 469 | async def check_original_declaration(self, page: Page) -> None: | CODE |
| LOW | tests/test_xiaohongshu_uploader.py | 93 | def test_creator_urls_keep_xiaohongshu_domain_by_default(self): | CODE |
| LOW | tests/test_xiaohongshu_uploader.py | 100 | def test_creator_urls_use_configured_rednote_domain(self): | CODE |
| LOW | tests/test_xiaohongshu_uploader.py | 116 | def test_find_xhs_qrcode_locator_prefers_scan_sibling_inside_login_box(self): | CODE |
| LOW | tests/test_xiaohongshu_uploader.py | 144 | def test_setup_returns_detail_when_cookie_invalid_without_handle(self): | CODE |
| LOW | tests/test_xiaohongshu_uploader.py | 156 | def test_setup_uses_login_flow_when_handle_is_true(self): | CODE |
| LOW | tests/test_xiaohongshu_uploader.py | 180 | def test_video_validate_upload_args_normalizes_video_and_thumbnail(self): | CODE |
| LOW | tests/test_xiaohongshu_uploader.py | 207 | def test_note_uploader_exists_and_validates_required_fields(self): | CODE |
| LOW | tests/test_xiaohongshu_uploader.py | 221 | def test_video_fill_meta_uses_desc_then_first_tag(self): | CODE |
| LOW | tests/test_xiaohongshu_uploader.py | 249 | def test_video_fill_meta_can_fill_first_tag_without_desc(self): | CODE |
| LOW | tests/test_xiaohongshu_uploader.py | 268 | def test_note_title_defaults_do_not_override_explicit_title(self): | CODE |
| LOW⚡ | tests/test_douyin_declaration.py | 11 | def test_upload_only_sets_explicit_declaration(self): | CODE |
| LOW⚡ | tests/test_douyin_declaration.py | 18 | def test_missing_declaration_does_not_fall_back_to_personal_opinion(self): | CODE |
| LOW⚡ | tests/test_douyin_declaration.py | 22 | def test_legacy_positional_runtime_flags_keep_their_meaning(self): | CODE |
| LOW⚡ | tests/test_douyin_declaration.py | 33 | def test_apply_declaration_skips_when_unspecified(self): | CODE |
| LOW⚡ | tests/test_douyin_declaration.py | 39 | def test_apply_declaration_uses_exact_explicit_text(self): | CODE |
| LOW⚡ | tests/test_douyin_declaration.py | 49 | def test_explicit_declaration_failure_blocks_publish(self): | CODE |
| LOW⚡ | tests/test_douyin_declaration.py | 58 | def test_declaration_failure_closes_browser_resources(self): | CODE |
| LOW | tests/test_tencent_verification_dialog.py | 9 | def test_wait_for_realtime_verification_saves_qr_and_resumes(tmp_path: Path): | CODE |
| LOW | tests/test_bilibili_runtime.py | 13 | def test_build_biliup_runtime_path_returns_platform_path(self): | CODE |
| LOW | tests/test_bilibili_runtime.py | 18 | def test_ensure_biliup_binary_downloads_when_missing(self, mock_release): | CODE |
| LOW | tests/test_bilibili_runtime.py | 33 | def test_ensure_biliup_binary_reuses_local_when_up_to_date(self, mock_release): | CODE |
| LOW | tests/test_bilibili_runtime.py | 49 | def test_run_biliup_command_returns_completed_process(self, mock_ensure_binary, mock_run): | CODE |
| LOW | tests/test_bilibili_runtime.py | 57 | def test_run_biliup_command_login_uses_interactive_stdio(self, mock_ensure_binary, mock_run): | CODE |
| LOW | tests/test_sau_browser_cli.py | 12 | def test_build_parser_accepts_xiaohongshu_login(self): | CODE |
| LOW | tests/test_sau_browser_cli.py | 18 | def test_douyin_upload_video_accepts_desc(self): | CODE |
| LOW | tests/test_sau_browser_cli.py | 41 | def test_douyin_upload_video_accepts_dual_thumbnail_aspects(self): | CODE |
| LOW | tests/test_sau_browser_cli.py | 71 | def test_douyin_upload_video_accepts_explicit_declaration(self): | CODE |
| LOW⚡ | tests/test_sau_browser_cli.py | 83 | def test_douyin_upload_video_has_no_implicit_declaration(self): | CODE |
| LOW⚡ | tests/test_sau_browser_cli.py | 93 | def test_douyin_request_legacy_positional_runtime_flags_keep_their_meaning(self): | CODE |
| LOW⚡ | tests/test_sau_browser_cli.py | 103 | def test_tencent_upload_video_accepts_dual_thumbnail_aspects(self): | CODE |
| LOW | tests/test_sau_browser_cli.py | 133 | def test_kuaishou_upload_note_accepts_title_and_note(self): | CODE |
| LOW | tests/test_sau_browser_cli.py | 157 | def test_xiaohongshu_upload_video_defaults_to_headless(self): | CODE |
| LOW | tests/test_sau_browser_cli.py | 178 | def test_xiaohongshu_upload_note_accepts_headed(self): | CODE |
| LOW | tests/test_sau_browser_cli.py | 204 | def test_upload_tencent_video_forwards_collection_name_to_uploader(self): | CODE |
| LOW | tests/test_sau_browser_cli.py | 223 | def test_dispatch_xiaohongshu_check_prints_valid(self): | CODE |
| LOW | tests/test_sau_browser_cli.py | 229 | def test_dispatch_douyin_upload_note_uses_new_request_fields(self): | CODE |
| LOW | tests/test_sau_browser_cli.py | 249 | def test_dispatch_douyin_upload_video_uses_dual_thumbnail_request_fields(self): | CODE |
| 36 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | sau_cli.py | 1 | CODE | |
| LOW | sau_backend.py | 11 | CODE | |
| LOW | uploader/base_video.py | 1 | CODE | |
| LOW | uploader/ks_uploader/main.py | 2 | CODE | |
| LOW | uploader/bilibili_uploader/runtime.py | 1 | CODE | |
| LOW | uploader/tencent_uploader/__init__.py | 7 | CODE | |
| LOW | uploader/tencent_uploader/__init__.py | 8 | CODE | |
| LOW | uploader/tencent_uploader/__init__.py | 9 | CODE | |
| LOW | uploader/tencent_uploader/__init__.py | 10 | CODE | |
| LOW | uploader/tencent_uploader/__init__.py | 11 | CODE | |
| LOW | uploader/tencent_uploader/__init__.py | 12 | CODE | |
| LOW | uploader/tencent_uploader/__init__.py | 13 | CODE | |
| LOW | uploader/tencent_uploader/__init__.py | 14 | CODE | |
| LOW | uploader/tencent_uploader/__init__.py | 15 | CODE | |
| LOW | uploader/tencent_uploader/__init__.py | 16 | CODE | |
| LOW | uploader/tencent_uploader/__init__.py | 17 | CODE | |
| LOW | uploader/tencent_uploader/main.py | 2 | CODE | |
| LOW | uploader/alipay_uploader/main.py | 2 | CODE | |
| LOW | uploader/alipay_uploader/main.py | 8 | CODE | |
| LOW | uploader/alipay_uploader/main.py | 16 | CODE | |
| LOW | uploader/hupu_uploader/main.py | 16 | CODE | |
| LOW | uploader/xiaohongshu_uploader/main.py | 2 | CODE | |
| LOW | uploader/weibo_uploader/main.py | 14 | CODE | |
| LOW | uploader/baijiahao_uploader/main.py | 10 | CODE | |
| LOW | uploader/baijiahao_uploader/main.py | 14 | CODE | |
| LOW | examples/upload_to_kuaishou.py | 14 | CODE | |
| LOW | examples/get_bilibili_cookie.py | 1 | CODE | |
| LOW | examples/test_alipay_upload.py | 5 | CODE | |
| LOW | db/createTable.py | 2 | CODE | |
| LOW | db/createTable.py | 3 | CODE | |
| LOW | …hu-upload/scripts/examples/xiaohongshu_cli_template.py | 1 | CODE | |
| LOW | …ishou-upload/scripts/examples/kuaishou_cli_template.py | 1 | CODE | |
| LOW | …ibili-upload/scripts/examples/bilibili_cli_template.py | 1 | CODE | |
| LOW | …/douyin-upload/scripts/examples/douyin_cli_template.py | 1 | CODE | |
| LOW | myUtils/auth.py | 1 | CODE | |
| LOW | myUtils/auth.py | 2 | CODE | |
| LOW | myUtils/auth.py | 3 | CODE | |
| LOW | myUtils/auth.py | 6 | CODE | |
| LOW | myUtils/auth.py | 12 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | uploader/youtube_uploader/main.py | 116 | await page.evaluate("() => { const a = document.activeElement; if (a && a.blur) a.blur(); }") | CODE |
| HIGH | uploader/alipay_uploader/main.py | 480 | topElement: topEl ? `${topEl.tagName}.${topEl.className || ''}` : null, | STRING |
| HIGH | uploader/alipay_uploader/main.py | 487 | return st.display !== 'none' && st.visibility !== 'hidden' && r.width > 0 && r.height > 0; | STRING |
| HIGH | uploader/alipay_uploader/main.py | 502 | activeElement: document.activeElement ? `${document.activeElement.tagName}.${document.activeElem | STRING |
| HIGH⚡ | uploader/douyin_uploader/main.py | 686 | if (document.activeElement && document.activeElement.blur) document.activeElement.blur(); | STRING |
| HIGH | uploader/hupu_uploader/main.py | 44 | Object.defineProperty(navigator, 'webdriver', { get: () => undefined }); | CODE |
| HIGH | uploader/xiaohongshu_uploader/main.py | 60 | for (let i = 0; i < 4 && el; i++) { try { el.click(); } catch (e) {} el = el.parentElement; } | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | sau_cli.py | 1039 | CODE | |
| LOW | sau_backend.py | 160 | CODE | |
| LOW | sau_backend.py | 262 | CODE | |
| LOW | sau_backend.py | 324 | CODE | |
| LOW | uploader/tk_uploader/main.py | 241 | CODE | |
| LOW | uploader/tk_uploader/main_chrome.py | 281 | CODE | |
| LOW | uploader/ks_uploader/main.py | 283 | CODE | |
| LOW | uploader/ks_uploader/main.py | 618 | CODE | |
| LOW | uploader/youtube_uploader/main.py | 157 | CODE | |
| LOW | uploader/youtube_uploader/main.py | 200 | CODE | |
| LOW | uploader/bilibili_uploader/runtime.py | 123 | CODE | |
| LOW | uploader/tencent_uploader/main.py | 148 | CODE | |
| LOW | uploader/tencent_uploader/main.py | 624 | CODE | |
| LOW | uploader/tencent_uploader/main.py | 810 | CODE | |
| LOW | uploader/tencent_uploader/main.py | 882 | CODE | |
| LOW | uploader/alipay_uploader/main.py | 136 | CODE | |
| LOW | uploader/alipay_uploader/main.py | 450 | CODE | |
| LOW | uploader/douyin_uploader/main.py | 234 | CODE | |
| LOW | uploader/douyin_uploader/main.py | 265 | CODE | |
| LOW | uploader/douyin_uploader/main.py | 795 | CODE | |
| LOW | uploader/douyin_uploader/main.py | 816 | CODE | |
| LOW | uploader/douyin_uploader/main.py | 971 | CODE | |
| LOW | uploader/hupu_uploader/main.py | 193 | CODE | |
| LOW | uploader/xiaohongshu_uploader/main.py | 177 | CODE | |
| LOW | uploader/xiaohongshu_uploader/main.py | 242 | CODE | |
| LOW | uploader/xiaohongshu_uploader/main.py | 623 | CODE | |
| LOW | uploader/weibo_uploader/main.py | 398 | CODE | |
| LOW | uploader/weibo_uploader/main.py | 452 | CODE | |
| LOW | uploader/weibo_uploader/main.py | 629 | CODE | |
| LOW | uploader/weibo_uploader/main.py | 744 | CODE | |
| LOW | tests/test_bilibili_runtime.py | 18 | CODE | |
| LOW | tests/test_bilibili_runtime.py | 33 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | uploader/tencent_uploader/__init__.py | 19 | __all__ = [ | CODE |
| LOW | uploader/tencent_uploader/main.py | 676 | async def set_short_title(self, page: Page, title: str, short_title: str | None = None) -> None: | CODE |
| LOW | uploader/tencent_uploader/main.py | 1063 | async def set_thumbnail(self, page: Page) -> None: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | uploader/tencent_uploader/main.py | 941 | CODE | |
| LOW | uploader/douyin_uploader/main.py | 629 | CODE | |
| LOW | myUtils/postVideo.py | 32 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | sau_frontend/src/api/index.js | 1 | // API 统一导出 | COMMENT |