arc-prs

v0.2.0 suspicious
5.0
Medium Risk

Local CLI for managing stacked pull requests

🤖 AI Analysis

Final verdict: SUSPICIOUS

The package shows low risk in terms of network calls, shell execution, obfuscation, and credential harvesting. However, the low maintainer activity and poor metadata quality raise some suspicion.

  • Low maintainer activity
  • Poor metadata quality
Per-check LLM notes
  • Network: No network calls detected, which is normal and not indicative of malicious activity.
  • Shell: Shell execution is present but seems to be used for Git operations, likely for interacting with GitHub pull requests, which aligns with the package's probable functionality.
  • Obfuscation: No obfuscation patterns detected, indicating low risk.
  • Credentials: No credential harvesting patterns detected, indicating low risk.
  • Metadata: The package shows low maintainer activity and poor metadata quality, raising suspicion but not conclusive evidence of malice.

📦 Package Quality Overall: Low (3.6/10)

✦ High Test Suite 9.0

Test suite present — 9 test file(s) found

  • Test runner config found: conftest.py
  • 9 test file(s) detected (e.g. conftest.py)
○ Low Documentation 1.0

No documentation detected

  • No documentation URL, doc files, or meaningful description found
○ Low Contributing Guide 2.0

No contributing guide or governance files found

  • No CONTRIBUTING, CODE_OF_CONDUCT, or governance files found
◈ Medium Type Annotations 5.0

Partial type annotation coverage

  • 60 type-annotated function signatures detected in source
○ Low Multiple Contributors 1.0

Unable to verify contributor count: no GitHub repository found

  • No GitHub repository linked — contributor count unavailable

🔬 Heuristic Checks

Outbound Network Calls

No suspicious network call patterns found

Code Obfuscation

No obfuscation patterns detected

Shell / Subprocess Execution score 8.0

Found 4 shell execution pattern(s)

  • .CompletedProcess: return subprocess.run(args, cwd=cwd, capture_output=True, text=True, check=check)
  • .CompletedProcess: return subprocess.run(args, capture_output=True, text=True, check=check) def is_
  • """ try: result = subprocess.run( ["gh", "pr", "edit", str(pr_number), "--base",
  • result = _subprocess.run(cmd, shell=True, cwd=root) if result.returncode != 0: e
Credential Harvesting

No credential harvesting patterns detected

Typosquatting

No typosquatting candidates detected

Registered Email Domain

No author email provided

Suspicious Page Links

All external links appear legitimate

Git Repository History

No GitHub repository linked

  • No GitHub repository link found
Maintainer History score 6.0

3 maintainer concern(s) found

  • Author name is missing or very short
  • Author "" appears to have only 1 package on PyPI (new or inactive account)
  • Package has no PyPI classifiers (low effort / metadata quality)
Known CVE Vulnerabilities

No known vulnerabilities found in OSV database.

💡 AI App Starter Prompt

Use this prompt to build a project with arc-prs
Create a Python-based mini-application called 'PRStacker' that leverages the 'arc-prs' package to manage stacked pull requests in a GitHub repository. PRStacker should be designed to streamline the process of organizing and merging multiple pull requests into a single stack, making it easier for developers to handle complex changes in a more manageable way.

### Features:
1. **Pull Request Collection:** Users should be able to specify a list of pull request numbers or a range of numbers, and PRStacker will gather these pull requests from the specified GitHub repository.
2. **Dependency Checking:** Before stacking pull requests, PRStacker should check if there are any dependencies between the selected pull requests, ensuring that they can be merged in the correct order without conflicts.
3. **Stack Creation:** Once dependency checks are passed, PRStacker will create a new pull request that stacks all the selected pull requests together.
4. **Interactive Interface:** Provide an interactive command-line interface where users can select options, input necessary details, and view progress updates.
5. **Configuration Management:** Allow users to save their preferred settings such as default repository, personal access token, etc., in a configuration file to avoid repetitive data entry.
6. **Logging and Notifications:** Implement logging for actions performed by PRStacker and send notifications via email or Slack when certain events occur, like successful stacking or encountering errors.

### Utilizing 'arc-prs':
- Use 'arc-prs' to interact with the local environment for managing the pull requests before pushing them to GitHub. This includes fetching details about pull requests, checking out branches, and creating new pull requests.
- Integrate 'arc-prs' commands into your application flow to automate the process of stacking pull requests locally before they are pushed to the remote repository.
- Ensure that your application handles exceptions gracefully and provides meaningful error messages when issues arise during the use of 'arc-prs'.

### Deliverables:
- A fully functional Python application named 'PRStacker'.
- Documentation on how to install and run PRStacker, including setup instructions for 'arc-prs'.
- Example use cases demonstrating the application's capabilities.

💬 Discussion Feed

Leave a comment

No discussion yet. Be the first to share your thoughts!