FoBiS.py

v3.8.12 suspicious
4.0
Medium Risk

a Fortran Building System

πŸ€– AI Analysis

Final verdict: SUSPICIOUS

The package exhibits moderate risks due to potential network and shell command misuse, despite having low obfuscation and credential risks. The lack of detailed author information and limited package history on PyPI adds uncertainty.

  • moderate network risk
  • potential shell command misuse
  • incomplete metadata
Per-check LLM notes
  • Network: The network calls appear to be part of normal HTTP requests, possibly for fetching or submitting data, but without context, potential misuse cannot be ruled out.
  • Shell: Subprocess calls to 'git' commands might be intended for version control operations within the package's functionality, but could also indicate potential execution of arbitrary commands if not properly sanitized.
  • Obfuscation: No obfuscation patterns detected, indicating low risk.
  • Credentials: No credential harvesting patterns detected, indicating low risk.
  • Metadata: The package has some minor red flags, including an author with a missing name and a single package on PyPI, but no clear signs of malicious intent.

πŸ”¬ Heuristic Checks

⚠ Outbound Network Calls score 7.5

Found 5 network call pattern(s)

  • s(payload).encode() req = urllib.request.Request(url, data=data, headers={"Content-Type": "applicatio
  • ed = [] try: with urllib.request.urlopen(req, timeout=timeout) as resp: for raw_l
  • ue}\n', ] with patch("urllib.request.urlopen", return_value=_urlopen_mock(lines)): result
  • NE]\n", ] with patch("urllib.request.urlopen", return_value=_urlopen_mock(lines)): result
  • e": true}\n'] with patch("urllib.request.urlopen", return_value=_urlopen_mock(lines)): result
βœ“ Code Obfuscation

No obfuscation patterns detected

⚠ Shell / Subprocess Execution score 10.0

Found 6 shell execution pattern(s)

  • gs: str) -> str: result = subprocess.run(["git", *args], capture_output=True, text=True) if resul
  • branch() -> str: result = subprocess.run(["git", "branch", "--show-current"], capture_output=True, te
  • try: result = subprocess.run( ["git", "-C", dep_dir, "archive", "HEAD"],
  • try: proc = subprocess.run( args, capture_output=True,
  • if answer == "y": subprocess.run(["git", "commit", "-m", message]) else:
  • n # Execute result = subprocess.run([output_path, *extra_args]) sys.exit(result.returncode)
βœ“ Credential Harvesting

No credential harvesting patterns detected

βœ“ Typosquatting

No typosquatting candidates detected

βœ“ Registered Email Domain

Email domain looks legitimate: gmail.com>

⚠ Suspicious Page Links score 2.0

Found 1 suspicious link(s) on the package page

  • Non-HTTPS external link: http://www.gnu.org/licenses/gpl-3.0.html
βœ“ Git Repository History

Repository szaghi/FoBiS 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 FoBiS.py
Your task is to develop a simple yet powerful utility using the 'FoBiS.py' package, which serves as a Fortran Building System. This utility will allow users to manage their Fortran projects more efficiently by automating common tasks such as compiling, linking, and managing dependencies. Here’s a step-by-step guide on how to create this utility:

1. **Project Setup**: Begin by setting up your Python environment. Ensure you have Python installed along with 'FoBiS.py'. You can install it via pip if it's not already available.
2. **Core Functionality**: Implement basic functionalities such as adding new Fortran files to a project, compiling individual files, and linking them into executables. Use 'FoBiS.py' to handle these operations seamlessly.
3. **Dependency Management**: Allow users to specify external libraries and include paths for their Fortran code. Your utility should automatically handle linking these dependencies during compilation.
4. **Configuration File**: Create a configuration file where users can set global options like compiler flags, output directories, and default settings for their Fortran projects.
5. **Interactive Interface**: Develop an interactive command-line interface that guides users through project setup and provides options for managing their projects. Include help messages for each command.
6. **Error Handling**: Implement robust error handling to provide meaningful feedback when something goes wrong during compilation or linking processes.
7. **Documentation**: Write comprehensive documentation explaining how to use your utility, including examples of typical workflows.

By following these steps, you’ll create a versatile tool that simplifies working with Fortran projects, leveraging the power of 'FoBiS.py'. Remember to utilize 'FoBiS.py' for its core capabilities in building and managing Fortran projects.