ast-outline

v1.3.8 suspicious
4.0
Medium Risk

Let AI coding agents pull exactly the code context they need — a repo map, a file outline, a single symbol, or a structural grep — instead of reading whole files. A stateless, tree-sitter-based CLI.

🤖 AI Analysis

Final verdict: SUSPICIOUS

The package shows signs of obfuscation, which could indicate hidden or malicious functionality. However, with no direct evidence of harmful intent and minimal risks in other categories, the overall risk is moderate.

  • Significant obfuscation risk
  • Single package maintainer
Per-check LLM notes
  • Network: No network calls detected, which is normal unless the package's functionality requires external API interactions.
  • Shell: No shell execution patterns detected, indicating no immediate risk of command injection or system manipulation.
  • Obfuscation: The code shows signs of obfuscation through unusual formatting and usage of the __import__ function which may be used to hide functionality.
  • Credentials: No clear evidence of credential harvesting patterns detected.
  • Metadata: The maintainer has only one package, which might indicate a new or less active account, but no other red flags are present.

📦 Package Quality Overall: Medium (6.6/10)

✦ High Test Suite 9.0

Test suite present — 31 test file(s) found

  • Test runner config found: conftest.py
  • Test runner config found: pyproject.toml
  • 31 test file(s) detected (e.g. conftest.py)
◈ Medium Documentation 7.0

Some documentation present

  • Documentation URL: "Documentation" -> https://ast-outline.github.io/
  • Detailed PyPI description (13203 chars)
○ Low Contributing Guide 4.0

No contributing guide or governance files found

  • Development Status classifier >= Beta
◈ Medium Type Annotations 7.0

Partial type annotation coverage

  • Type checker (mypy / pyright / pytype) referenced in project
  • 897 type-annotated function signatures detected in source
◈ Medium Multiple Contributors 6.0

Limited contributor diversity

  • 2 unique contributor(s) across 100 commits in ast-outline/ast-outline
  • Two distinct contributors found

🔬 Heuristic Checks

Outbound Network Calls

No suspicious network call patterns found

Code Obfuscation score 4.0

Found 2 obfuscation pattern(s)

  • _path: Path) -> None: """`__import__("foo")` is a builtin function call — emits a `call` node, not
  • f f():\n' ' return __import__("foo")\n' )) r = PythonAdapter().parse(p) assert r.con
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: gmail.com>

Suspicious Page Links

All external links appear legitimate

Git Repository History

Repository ast-outline/ast-outline appears legitimate

Maintainer History score 2.0

1 maintainer concern(s) found

  • Author "ast-outline contributors" 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 ast-outline
Create a Python-based code analysis tool named 'CodeNavi' that leverages the 'ast-outline' package to navigate and analyze Python codebases efficiently. The tool should be able to provide users with a detailed map of their repository, file outlines, specific symbol details, and perform structural searches within the code.

Steps to create the application:
1. Set up a new Python environment and install the 'ast-outline' package.
2. Design a command-line interface (CLI) where users can input commands such as 'repo-map', 'file-outline', 'symbol-info', and 'structural-search'.
3. Implement the 'repo-map' command to generate a hierarchical overview of the entire codebase, showing all files and directories.
4. Develop the 'file-outline' command to display a structured outline of a given Python file, including class, function, and variable definitions.
5. Add functionality for the 'symbol-info' command to retrieve comprehensive information about a specified symbol (class, function, variable) from the codebase.
6. Integrate the 'structural-search' command to allow users to search for specific patterns or structures within the code, such as finding all functions that call a particular method.
7. Ensure that each command is optimized using 'ast-outline' to only parse necessary parts of the code rather than the entire codebase, enhancing performance.
8. Include error handling and user-friendly messages for invalid inputs or operations.
9. Write tests to validate the correctness and reliability of each feature.
10. Document the tool comprehensively, detailing installation, usage, and examples for each command.

Suggested Features:
- Support for multiple file types and languages in the future.
- Integration with version control systems like Git to track changes in the codebase.
- A graphical user interface (GUI) for non-command line users.
- Exporting results to various formats like HTML, JSON, or Markdown.
- Customizable templates for different types of reports and summaries.

💬 Discussion Feed

Leave a comment

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