PyShEx

v0.9.0 safe
4.0
Medium Risk

Python ShEx interpreter

πŸ€– AI Analysis

Final verdict: SAFE

The package is assessed as safe with a moderate risk score due to network risks associated with HTTP GET requests, though no other significant security concerns were identified.

  • Network risk due to HTTP GET requests
  • Low risk in shell execution, obfuscation, credential harvesting, and metadata integrity
Per-check LLM notes
  • Network: The package makes HTTP GET requests which could be normal for fetching resources or updates, but it's unclear if the URLs are secure and controlled.
  • Shell: No shell execution patterns detected, indicating no immediate risk from command execution.
  • Obfuscation: No obfuscation patterns detected, indicating low risk.
  • Credentials: No credential harvesting patterns detected, indicating low risk.
  • Metadata: The package has some minor issues but no clear signs of malicious intent.

πŸ”¬ Heuristic Checks

⚠ Outbound Network Calls score 9.0

Found 6 network call pattern(s)

  • ="") -> str | None: req = requests.get(base + url) if req.ok: return req.text else:
  • ri_or_text: req = requests.get(sparql_file_uri_or_text, headers={'User-Agent': user_agent})
  • # manifest = jsonasobj.loads(requests.get(os.environ['MANIFEST_URL']).text) # manifest_loc = "http
  • manifest = jsonasobj.loads(requests.get(manifest_loc).text) # # print(os.environ['MANIFEST_URL']
  • ", "") # schema = requests.get(case.schemaURL).text # shex = ShExC(schema).sche
  • # slurpeddata = requests.get(wdid + ".ttl") # # results = evaluator.evalu
βœ“ Code Obfuscation

No obfuscation patterns detected

βœ“ Shell / Subprocess Execution

No shell execution patterns detected

βœ“ Credential Harvesting

No credential harvesting patterns detected

βœ“ Typosquatting

No typosquatting candidates detected

βœ“ Registered Email Domain

Email domain looks legitimate: scverse.org>

⚠ Suspicious Page Links score 10.0

Found 7 suspicious link(s) on the package page

  • Non-HTTPS external link: http://shex.io/shex-semantics/
  • Non-HTTPS external link: http://shex.io/shex-semantics/#terminology
  • Non-HTTPS external link: http://shex.io/shex-semantics/#validation
  • Non-HTTPS external link: http://shex.io/shape-map/
  • Non-HTTPS external link: http://shex.io/shex-semantics/index.html
  • Non-HTTPS external link: http://w3id.org/biolink/vocab/Gene
βœ“ 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 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 PyShEx
Create a small but powerful utility that leverages the PyShEx Python package to validate RDF data against ShEx schemas. This utility, named 'RDFValidator', will serve as a tool for developers and data scientists working with semantic web technologies. Here’s a step-by-step guide on how to build this utility:

1. **Project Setup**: Begin by setting up your Python environment. Install PyShEx using pip and ensure you have the necessary dependencies installed.
2. **User Interface**: Develop a simple command-line interface (CLI) for users to interact with the utility. Users should be able to input an RDF file and a ShEx schema file directly through the CLI.
3. **Data Parsing**: Implement functionality within the utility to parse both the RDF and ShEx files into their respective formats (e.g., Turtle for RDF, JSON for ShEx).
4. **Validation Logic**: Utilize PyShEx to validate the parsed RDF data against the provided ShEx schema. Ensure that the validation process captures all necessary details such as errors, warnings, and success messages.
5. **Output Reporting**: After validation, provide detailed output reports to the user. Reports should include a summary of the validation results, highlighting any issues found in the RDF data.
6. **Advanced Features**: Consider adding advanced features such as automatic schema generation from example RDF data, support for multiple RDF serialization formats, and integration with popular RDF stores.
7. **Testing & Documentation**: Write comprehensive tests to ensure the utility works as expected across different scenarios. Also, create detailed documentation explaining how to install, configure, and use the utility effectively.

This project will not only demonstrate the power of PyShEx but also provide a valuable tool for anyone working with RDF and ShEx.