BiNgoViewer

v2.9.8 suspicious
6.0
Medium Risk

BiNgo Genome Viewer — a lightweight browser-based genomics viewer

🤖 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 js
  • ine: 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(0
  • try: 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 short
  • Author "" 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.