AI Analysis
Final verdict: SUSPICIOUS
The package has no signs of obfuscation or credential harvesting, but the sparse maintainer information raises concerns about its legitimacy.
- No obfuscation patterns detected
- Sparse maintainer information
Per-check LLM notes
- Obfuscation: No obfuscation patterns detected, indicating low risk of malicious activity.
- Credentials: No credential harvesting patterns detected, indicating safe handling of sensitive information.
- Metadata: The maintainer information is sparse, which raises some concern about the legitimacy and transparency of the package.
Package Quality Overall: Low (3.8/10)
◈ Medium
Test Suite
6.0
Partial test coverage signals detected
2 test file(s) detected (e.g. test_passwords.py)
◈ Medium
Documentation
5.0
Some documentation present
Detailed PyPI description (12401 chars)
○ Low
Contributing Guide
2.0
No contributing guide or governance files found
No CONTRIBUTING, CODE_OF_CONDUCT, or governance files found
◈ Medium
Type Annotations
5.0
Partial type annotation coverage
34 type-annotated function signatures detected in source
○ Low
Multiple Contributors
1.0
Unable to verify contributor count: no GitHub repository found
No GitHub repository linked — contributor count unavailable
Heuristic Checks
Outbound Network Calls
score 1.5
Found 1 network call pattern(s)
) self.session = requests.Session() soup = self.request("https://archiveofourown.o
Code Obfuscation
No obfuscation patterns detected
Shell / Subprocess Execution
score 2.0
Found 1 shell execution pattern(s)
terminal window. """ os.system("cls" if os.name == "nt" else "clear") def get_datetime_fr
Credential Harvesting
No credential harvesting patterns detected
Typosquatting
No typosquatting candidates detected
Registered Email Domain
Email domain looks legitimate: protonmail.com>
Suspicious Page Links
All external links appear legitimate
Git Repository History
No GitHub repository linked
No GitHub repository link found
Maintainer History
score 4.0
2 maintainer concern(s) found
Author name is missing or very shortAuthor "" appears to have only 1 package on PyPI (new or inactive account)
Known CVE Vulnerabilities
No known vulnerabilities found in OSV database.
AI App Starter Prompt
Use this prompt to build a project with ao3statscraper
Create a comprehensive mini-application named 'AO3StatsAnalyzer' that leverages the 'ao3statscraper' Python package to provide an in-depth analysis of user statistics on Archive of Our Own (AO3). This application should allow users to input their AO3 username and then scrape and display various metrics about their account, such as total works posted, favorites received, kudos given/received, comments posted/received, and more. Step-by-Step Instructions: 1. **Setup Environment**: Begin by setting up a Python virtual environment and installing the 'ao3statscraper' package via pip. 2. **User Input**: Develop a simple UI or command-line interface where users can enter their AO3 username. 3. **Scraping Data**: Use 'ao3statscraper' to fetch the user's statistics page data. Ensure error handling is in place for invalid usernames or network issues. 4. **Data Processing**: Parse the scraped data to extract relevant statistics. Store these in a structured format like dictionaries or pandas DataFrames for easy manipulation. 5. **Visualization**: Implement basic visualization tools using matplotlib or seaborn to display key statistics visually. For example, show a bar chart of the number of works vs. favorites/kudos. 6. **Export Options**: Allow users to export the analyzed data to CSV or Excel formats for further analysis. 7. **Optional Features**: Consider adding optional features such as tracking changes over time if multiple snapshots of the same user's stats are available, comparing stats between two different users, or generating a summary report in PDF format. 8. **Testing and Documentation**: Thoroughly test the application to ensure it handles all edge cases gracefully. Provide clear documentation on how to install and use the application. This project aims to showcase the power of scraping and data analysis while providing a useful tool for AO3 users to better understand their contributions and community interactions.