anchor-audit

v5.0.4 suspicious
6.0
Medium Risk

The Federated Governance Engine for AI (Universal Multi-Language)

🤖 AI Analysis

Final verdict: SUSPICIOUS

The package anchor-audit v5.0.4 exhibits significant obfuscation and credential risks, suggesting potential malicious intent. However, the low network and metadata risks mitigate the overall severity.

  • High obfuscation risk due to use of eval() and exec()
  • Potential credential harvesting attempts
Per-check LLM notes
  • Network: The network calls seem to be fetching governance lock data, which is common for packages managing version control or dependencies.
  • Shell: Git commands are used to retrieve the current commit hash and repository root path, likely for logging or versioning purposes.
  • Obfuscation: The presence of eval() and exec() suggests potential for arbitrary code execution, indicative of obfuscation or evasion techniques.
  • Credentials: Attempts to read sensitive files such as /etc/passwd and /etc/shadow indicate potential unauthorized access or harvesting of credentials.
  • Metadata: The package shows low activity and the maintainer has limited history with PyPI, which may indicate potential risk.

📦 Package Quality Overall: Medium (5.0/10)

◈ Medium Test Suite 6.0

Partial test coverage signals detected

  • 1 test file(s) detected (e.g. test_audit_translation.py)
◈ Medium Documentation 5.0

Some documentation present

  • Detailed PyPI description (24566 chars)
○ Low Contributing Guide 4.0

No contributing guide or governance files found

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

Partial type annotation coverage

  • 144 type-annotated function signatures detected in source
◈ Medium Multiple Contributors 5.0

Limited contributor diversity

  • 1 unique contributor(s) across 100 commits in Tanishq1030/anchor
  • Single author but highly active (100 commits)

🔬 Heuristic Checks

Outbound Network Calls score 9.0

Found 6 network call pattern(s)

  • try: req = urllib.request.Request(settings.governance_lock_url) with
  • ck_url) with urllib.request.urlopen(req, timeout=5) as response: re
  • try: req = urllib.request.Request(GOVERNANCE_LOCK_URL) with urllib.request.ur
  • NANCE_LOCK_URL) with urllib.request.urlopen(req, timeout=5) as response: lock_data
  • : freq = urllib.request.Request(file_url) with urllib.request.u
  • rl) with urllib.request.urlopen(freq, timeout=5) as r2: con
Code Obfuscation score 10.0

Found 5 obfuscation pattern(s)

  • o find calls like: - eval('code') - child_process.exec('cmd') """
  • ested.rstrip(), "eval() on user input allows arbitrary code execution. "
  • "RSP-030", "error", "eval(input()) pattern in LLM response"), (r'(?i)\bexec\s*\
  • "RSP-032", "error", "Dynamic __import__('os') in LLM response"), # ── Subprocess with shell=True ─
  • suggested, "pickle.loads() on untrusted data allows arbitrary code execution. "
Shell / Subprocess Execution score 10.0

Found 6 shell execution pattern(s)

  • try: git_commit = subprocess.check_output(['git', 'rev-parse', 'HEAD'], stderr=subprocess.DEVNULL).dec
  • SEC-007 repo_root = subprocess.check_output(['git', 'rev-parse', '--show-toplevel'], stderr=subprocess.D
  • m_path] result = subprocess.run(cmd, capture_output=True, text=True, check=False) # anchor:
  • s_path] result = subprocess.run(cmd, capture_output=True, text=True, check=True, timeout=2)
  • and pass arguments as a list: subprocess.run(['cmd', 'arg1']) " "to prevent shell injection
  • ry: result = subprocess.run( # anchor: ignore SEC-007 cmd,
Credential Harvesting score 5.0

Found 2 credential access pattern(s)

  • CAGE-002", "Attempted to read /etc/passwd"), ("shadow", "CAGE-002", "Attempted to read
  • CAGE-002", "Attempted to read /etc/shadow"), ("/.ssh", "CAGE-003", "Attempted to acces
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 score 2.5

Git history flags: Repository has zero stars and zero forks

  • Repository has zero stars and zero forks
Maintainer History score 2.0

1 maintainer concern(s) found

  • Author "Tanishq" 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 anchor-audit
Create a mini-application named 'AuditAI' that leverages the 'anchor-audit' package to audit and govern various AI models across different platforms. This application should allow users to upload their AI model details and run audits against predefined governance policies. Here are the steps and features to implement:

1. **Setup**: Begin by setting up a basic Flask web framework for the front-end interface and integrating the 'anchor-audit' package for back-end operations.
2. **User Interface**: Design a simple yet intuitive UI where users can input their AI model metadata such as name, version, type of algorithm, and platform it was trained on.
3. **Model Upload**: Implement functionality to securely upload AI models to your server or use cloud storage services like AWS S3 for storing these models temporarily during the audit process.
4. **Policy Definition**: Allow administrators to define governance policies that include fairness, transparency, privacy, and security criteria. These policies will be used by the 'anchor-audit' package to evaluate the uploaded models.
5. **Audit Process**: Use the 'anchor-audit' package to conduct audits on the uploaded models based on the defined policies. The package should analyze the model's performance, compliance with ethical standards, and adherence to legal requirements.
6. **Results Display**: After the audit, display the results on the user interface in a detailed report format. Include actionable insights and recommendations for improving the model's governance score.
7. **Feedback Loop**: Enable users to provide feedback on the audit process and results. Collect this feedback to continuously improve the audit policies and the 'anchor-audit' integration within your application.

Utilize 'anchor-audit' throughout the development process to ensure that all aspects of the application adhere to best practices in AI governance and federated learning principles.

💬 Discussion Feed

Leave a comment

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