AI Slop Code RIsk Monitor

instaloader/instaloader

Download pictures (or videos) along with their captions and other metadata from Instagram.

10.8 Moderate pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for instaloader/instaloader, a Python project with 13,546 GitHub stars. SynthScan examined 7,384 lines of code across 43 source files, recording 74 pattern matches distributed across 8 syntactic categories. The legacy adjusted pattern signal is 10.8 (Moderate 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.

10.8
Adjusted Signal
10.8
Raw Pattern Score
100%
Time Factor
2026-10-10
Last Push
13.5K
Stars
Python
Language
7.4K
Lines of Code
43
Files
74
Pattern Hits
2026-10-12
Scan Date
0.05
HC Hit Rate

Risk Review · v3

Use each vector to guide manual verification of the underlying findings.

Cognitive Ownership Risk 26.0/100 · MEDIUM

Can maintainers explain intent, assumptions, and trade-offs? 44 finding(s).

Hallucinated Dependency & Supply Chain Risk 15.3/100 · LOW

Are imports declared and package/API names verified? 27 finding(s).

Agent Over-Engineering Ratio 21.4/100 · LOW

Are wrappers, guards, and repeated structures necessary? 27 finding(s).

PR Review Velocity Impact 44.9/100 · MEDIUM

Which changes need focused human review? 74 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

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.

Severity Breakdown

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.

CRITICAL 0HIGH 2MEDIUM 2LOW 70

Directory Score Breakdown

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.

Pattern Findings

The scanner identified 74 distinct pattern matches across 8 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.

Unused Imports27 hits · 24 pts
SeverityFileLineSnippetContext
LOWinstaloader/__init__.py15CODE
LOWinstaloader/__init__.py16CODE
LOWinstaloader/__init__.py17CODE
LOWinstaloader/__init__.py17CODE
LOWinstaloader/__init__.py19CODE
LOWinstaloader/__init__.py20CODE
LOWinstaloader/__init__.py20CODE
LOWinstaloader/__init__.py20CODE
LOWinstaloader/__init__.py23CODE
LOWinstaloader/__init__.py23CODE
LOWinstaloader/__init__.py23CODE
LOWinstaloader/__init__.py23CODE
LOWinstaloader/__init__.py23CODE
LOWinstaloader/__init__.py23CODE
LOWinstaloader/__init__.py23CODE
LOWinstaloader/__init__.py23CODE
LOWinstaloader/__init__.py23CODE
LOWinstaloader/__init__.py23CODE
LOWinstaloader/__init__.py23CODE
LOWinstaloader/__init__.py23CODE
LOWinstaloader/__init__.py23CODE
LOWinstaloader/__init__.py23CODE
LOWinstaloader/__init__.py23CODE
LOWinstaloader/__init__.py23CODE
LOWinstaloader/instaloader.py21CODE
LOWinstaloader/structures.py13CODE
LOWinstaloader/instaloadercontext.py19CODE
Hyper-Verbose Identifiers19 hits · 20 pts
SeverityFileLineSnippetContext
LOW⚡instaloader/instaloader.py42def get_default_session_filename(username: str) -> str:CODE
LOW⚡instaloader/instaloader.py49def get_legacy_session_filename(username: str) -> str:CODE
LOW⚡instaloader/instaloader.py56def get_default_stamps_filename() -> str:CODE
LOWinstaloader/instaloader.py67def format_string_contains_key(format_string: str, key: str) -> bool:CODE
LOWinstaloader/instaloader.py85def _retry_on_connection_error(func: Callable) -> Callable:CODE
LOWinstaloader/instaloader.py376 def _postcommentanswer_asdict(comment):CODE
LOWinstaloader/instaloader.py503 def format_filename_within_target_path(self,CODE
LOWinstaloader/instaloader.py556 def download_profilepic_if_new(self, profile: Profile, latest_stamps: Optional[LatestStamps]) -> None:CODE
LOWinstaloader/instaloader.py585 def download_hashtag_profilepic(self, hashtag: Hashtag) -> None:CODE
LOWinstaloader/structures.py262 def _fetch_play_count_from_clips(context: 'InstaloaderContext', user_id: str,CODE
LOWinstaloader/structures.py545 def _get_timestamp_date_created(self) -> float:CODE
LOWinstaloader/structures.py739 def _get_comments_via_iphone_endpoint(self) -> Iterable[PostComment]:CODE
LOWinstaloader/structures.py1363 def profile_pic_url_no_iphone(self) -> str:CODE
LOWinstaloader/instaloadercontext.py813 def per_type_next_request_time():CODE
LOWinstaloader/instaloadercontext.py820 def gql_accumulated_next_request_time():CODE
LOWinstaloader/instaloadercontext.py831 def untracked_next_request_time():CODE
LOWinstaloader/lateststamps.py83 def get_last_tagged_timestamp(self, profile_name: str) -> datetime:CODE
LOWinstaloader/lateststamps.py87 def set_last_tagged_timestamp(self, profile_name: str, timestamp: datetime):CODE
LOWinstaloader/__main__.py85def get_cookies_from_instagram(domain: str, browser: str, cookie_file: Optional[str] = None):CODE
Deep Nesting17 hits · 16 pts
SeverityFileLineSnippetContext
LOWinstaloader/instaloader.py211CODE
LOWinstaloader/instaloader.py375CODE
LOWinstaloader/instaloader.py691CODE
LOWinstaloader/instaloader.py828CODE
LOWinstaloader/instaloader.py952CODE
LOWinstaloader/instaloader.py996CODE
LOWinstaloader/instaloader.py1370CODE
LOWinstaloader/instaloader.py1434CODE
LOWinstaloader/instaloader.py389CODE
LOWinstaloader/structures.py2381CODE
LOWinstaloader/structures.py562CODE
LOWinstaloader/structures.py1082CODE
LOWinstaloader/structures.py1908CODE
LOWinstaloader/structures.py2000CODE
LOWinstaloader/instaloadercontext.py390CODE
LOWinstaloader/instaloadercontext.py613CODE
LOWinstaloader/__main__.py132CODE
Empty Error Handlers2 hits · 10 pts
SeverityFileLineSnippetContext
HIGHinstaloader/__init__.py10except ImportError:CODE
HIGHinstaloader/structures.py277except (ConnectionException, BadResponseException):CODE
AI Structural Patterns5 hits · 4 pts
SeverityFileLineSnippetContext
LOWinstaloader/instaloader.py211CODE
LOWinstaloader/instaloader.py1434CODE
LOWinstaloader/instaloader.py1561CODE
LOWinstaloader/instaloadercontext.py81CODE
LOWinstaloader/__main__.py132CODE
Self-Referential Comments2 hits · 2 pts
SeverityFileLineSnippetContext
MEDIUMinstaloader/instaloadercontext.py859 """This method is called before a query to Instagram.STRING
MEDIUMinstaloader/instaloadercontext.py878 """This method is called to handle a 429 Too Many Requests response.STRING
Redundant / Tautological Comments1 hit · 2 pts
SeverityFileLineSnippetContext
LOWinstaloader/instaloadercontext.py625 # Set headers to simulate an API request from iPadCOMMENT
Modern Structural Boilerplate1 hit · 1 pts
SeverityFileLineSnippetContext
LOWinstaloader/instaloader.py375 def update_comments(self, filename: str, post: Post) -> None:CODE