AI Analysis
Final verdict: SUSPICIOUS
The package exhibits moderate risks due to network and shell execution vulnerabilities, alongside potential code obfuscation. While not conclusive evidence of malicious intent, these factors warrant further investigation.
- High shell risk due to subprocess execution
- Potential obfuscation through zlib usage
Per-check LLM notes
- Network: Network calls to external URLs and health checks may be part of the package's functionality but should be thoroughly reviewed for legitimacy.
- Shell: Subprocess execution is risky as it can lead to arbitrary command execution. This requires careful scrutiny to ensure there is no potential for malicious behavior.
- Obfuscation: The use of zlib decompression might indicate an attempt to obfuscate code or data, but it could also be a legitimate part of the package's functionality.
- Credentials: No clear patterns indicative of credential harvesting were found.
- Metadata: The maintainer's author information is incomplete, and the repository lacks community engagement, raising some concerns.
Heuristic Checks
Outbound Network Calls
score 4.5
Found 3 network call pattern(s)
ingoviewer/json" with urllib.request.urlopen(url, timeout=3) as resp: data = json.loa}:{port}/health" with urllib.request.urlopen(url, timeout=timeout) as resp: return jsine: try: urllib.request.urlopen(f"{url}/health", timeout=0.5) break
Code Obfuscation
score 2.0
Found 1 obfuscation pattern(s)
try: raw = zlib.decompress(raw) except zlib.error: return
Shell / Subprocess Execution
score 10.0
Found 6 shell execution pattern(s)
try: result = subprocess.run(cmd, capture_output=True, text=True, timeout=120)pass subprocess.Popen([sys.executable, "-m", "bingoviewer", "--no-update"])v[1:] if a != "--update"] subprocess.Popen([sys.executable, "-m", "bingoviewer"] + args) sys.exit(0try: result = subprocess.run( ["xdg-user-dir", "DESKTOP"],"$s.Save()" ) subprocess.run( ["powershell", "-NoProfile", "-Command", ps_script]sources / "icon.icns" subprocess.run( ["sips", "-s", "format", "icns", tmp_png, "--ou
Credential Harvesting
No credential harvesting patterns detected
Typosquatting
No typosquatting candidates detected
Registered Email Domain
Email domain looks legitimate: gmail.com>
Suspicious Page Links
All external links appear legitimate
Git Repository History
score 2.5
Git history flags: Repository has zero stars and zero forks
Repository has zero stars and zero forks
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 BiNgoViewer
Create a fully-functional mini-genome viewer application using the Python package 'BiNgoViewer'. This application will allow users to upload their genomic data files (in supported formats like VCF, BAM, etc.) and visualize the genomic regions of interest interactively. The application should have the following features: 1. User-friendly interface: Provide a clean, intuitive UI where users can upload their genomic files and select regions of interest. 2. Data visualization: Utilize BiNgoViewer's capabilities to render genomic data visually, allowing users to zoom in/out, pan across the genome, and highlight specific regions. 3. Interactive annotations: Enable users to add custom annotations or notes to specific genomic positions. 4. Export functionality: Users should be able to export the visualized data as images or PDFs. 5. Error handling: Implement robust error handling to ensure that invalid file uploads or unsupported file types are gracefully managed. 6. Documentation: Include clear documentation on how to use the application and how it leverages BiNgoViewer for its functionalities. To achieve these goals, you'll need to integrate BiNgoViewer into your project by installing it via pip, configuring it to read and display various genomic data formats, and then building a web frontend that interacts with BiNgoViewer through API calls or direct integration. Additionally, consider using Flask or Django for the backend to handle user interactions and data processing efficiently.