AI Analysis
Final verdict: SUSPICIOUS
The package shows moderate risk due to unclear network calls and potential misuse of shell commands, despite having no evidence of obfuscation or credential theft.
- network risk due to undocumented URL fetching
- shell risk from executing potentially unsafe commands
Per-check LLM notes
- Network: The network calls seem to be fetching URLs which could be for updates or resources, but lack of clear documentation increases suspicion.
- Shell: Executing shell commands like 'git rev-parse' and 'c++filt' may be legitimate for version control checks or symbol demangling, but arbitrary command execution poses a higher risk.
- Obfuscation: No obfuscation patterns detected, indicating low risk.
- Credentials: No credential harvesting patterns detected, indicating low risk.
- Metadata: The author information is incomplete and the maintainer seems to be new or inactive, raising some concerns.
Heuristic Checks
Outbound Network Calls
score 3.0
Found 2 network call pattern(s)
eme!r}: {url}") req = urllib.request.Request(url) req.add_header("User-Agent", "abicheck-p: http.client.HTTPResponse = urllib.request.urlopen(req, timeout=timeout) # nosec B310 # noqa: S310
Code Obfuscation
No obfuscation patterns detected
Shell / Subprocess Execution
score 8.0
Found 4 shell execution pattern(s)
try: result = subprocess.run( ["git", "rev-parse", "HEAD"],ol) try: result = subprocess.run( ["c++filt", symbol], capture_outputFalse try: proc = subprocess.run( ["c++filt"], input="\n".join(remaintry: result = subprocess.run(cmd, capture_output=True, text=True, timeout=120, check=Fals
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
Repository napetrov/abicheck appears legitimate
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 abicheck
Create a Python-based utility called 'ABICompatAnalyzer' that leverages the 'abicheck' package to ensure developers can easily verify the binary compatibility of their C/C++ shared libraries. This tool should allow users to specify two shared library files (e.g., .so or .dll files) and analyze whether they have compatible Application Binary Interfaces (ABIs). The application should provide a user-friendly command-line interface where users can input the paths to the two libraries they wish to compare. Core Features: 1. Accept two file paths as inputs from the command line. 2. Utilize the 'abicheck' package to perform the ABI compatibility check between the specified libraries. 3. Display a clear result indicating if the ABIs are compatible or incompatible. 4. Optionally, provide detailed information about any incompatibilities found. 5. Include error handling to manage cases where files cannot be read or the 'abicheck' package fails to execute properly. Suggested Enhancements: - Implement a GUI front-end using PyQt or Tkinter to make the tool more accessible to non-command-line users. - Allow users to save the results of their ABI checks to a log file for future reference. - Integrate the tool with version control systems like Git to automatically check ABI compatibility during the commit process. - Offer support for multiple operating systems (Linux, Windows, macOS) ensuring cross-platform functionality.