SciQLop

v0.12.0 suspicious
6.0
Medium Risk

An ergonomic and efficient application to browse and label in situ plasma measurements from multi-mission satellite data.

🤖 AI Analysis

Final verdict: SUSPICIOUS

The package exhibits multiple indicators of potential risk including significant network and shell execution activities, as well as code obfuscation techniques that may be used to hide malicious functionality.

  • High network risk due to external HTTP requests
  • Use of subprocess calls which can execute external commands
  • Code obfuscation suggesting attempts to hide functionality
Per-check LLM notes
  • Network: The observed network patterns indicate the package makes HTTP requests to external URLs, potentially for data exchange which could be benign but might also suggest unauthorized data transfer.
  • Shell: The use of subprocess.run and Popen suggests the package executes external commands, which can be legitimate but may also pose risks if not properly sanitized or controlled.
  • Obfuscation: The code uses base64 decoding and obfuscated URL handling which may indicate an attempt to hide functionality or evade detection.
  • Credentials: No direct evidence of credential harvesting is present, but the presence of obfuscation raises suspicion about potential hidden malicious activities.

🔬 Heuristic Checks

Outbound Network Calls score 6.0

Found 4 network call pattern(s)

  • str) -> list[dict]: req = urllib.request.Request(url, headers={"Accept": "application/json"}) wit
  • "application/json"}) with urllib.request.urlopen(req, timeout=10) as resp: return json.loads(
  • theme})}).encode() req = urllib.request.Request( url, data=data, method="PUT", heade
  • }, ) try: urllib.request.urlopen(req, timeout=5) except Exception: pass
Code Obfuscation score 6.0

Found 3 obfuscation pattern(s)

  • try: path.write_bytes(base64.b64decode(data)) except (ValueError, OSError): return None
  • ttps://"): filename = __import__("pathlib").PurePosixPath(pip_field.split("?")[0].split("#")[0]).name
  • er", callback=lambda: __import__( "SciQLop.components.workspaces", fromlist=["workspaces_manager_instance"] ).workspaces_manager_instance().open_in_browser(), ))
Shell / Subprocess Execution score 6.0

Found 3 shell execution pattern(s)

  • _file.flush() proc = subprocess.Popen( [str(python_path), "-m", "SciQLop.sciqlop_app"]
  • l", pip_spec) subprocess.run(cmd, check=True, capture_output=True, text=True)
  • ", dist_name) subprocess.run(cmd, check=True, capture_output=True, text=True)
Credential Harvesting

No credential harvesting patterns detected

Typosquatting

No typosquatting candidates detected

Registered Email Domain

Email domain looks legitimate: member.fsf.org>

Suspicious Page Links score 2.0

Found 1 suspicious link(s) on the package page

  • Non-HTTPS external link: http://www.cdpp.eu/
Git Repository History

Repository SciQLop/SciQLop appears legitimate

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 SciQLop
Create a mini-application called 'SpaceDataExplorer' using the Python package 'SciQLop'. This application will serve as a tool for researchers and students to explore and analyze in-situ plasma measurements from various satellite missions. Your goal is to develop a user-friendly interface that allows users to visualize and interact with complex space data.

Steps to follow:
1. Set up a virtual environment and install necessary dependencies including SciQLop.
2. Design a simple but effective GUI using a library like PyQt or Tkinter to display available satellite missions and their associated data sets.
3. Implement functionality within the application that allows users to select a specific mission and data set to view detailed information about the plasma measurements.
4. Integrate SciQLop's browsing capabilities to enable seamless navigation through different time periods of the selected data set.
5. Utilize SciQLop's labeling feature to allow users to annotate significant events or anomalies within the data, which can then be saved for future reference.
6. Add a feature to export annotated data into common file formats such as CSV or Excel for further analysis outside of the application.
7. Ensure the application is well-documented and includes basic error handling to improve user experience.

Suggested Features:
- Interactive timeline view for easy navigation through different measurement times.
- Real-time visualization of plasma parameters like temperature, density, and velocity.
- Comparison mode allowing side-by-side viewing of data from two different missions.
- Customizable annotation tools for marking important points in the data.
- Support for multiple languages to cater to a global audience of researchers.

How to use SciQLop:
- Use SciQLop's API to fetch and display available missions and data sets in the GUI.
- Employ SciQLop's advanced querying capabilities to retrieve specific segments of data based on user input.
- Leverage SciQLop's labeling functions to manage and persist annotations made by users over time.