Skip to main content
  1. Blog/

GitHub - Pinperepette/snakebite: Detect malicious PyPI packages using heuristic analysis and LLM-powered filtering to uncover credentials

·1083 words·6 mins
GitHub LLM Python Open Source AI
Articoli Interessanti - This article is part of a series.
Part : This Article
Part : How to Build an Agent - Amp **Introduction** Building an agent, especially one that leverages the power of Amp, involves several key steps. Amp, which stands for Advanced Multi-Purpose Protocol, is a versatile framework designed to enhance the capabilities of agents in various domains. This guide will walk you through the process of creating an agent using Amp, from conceptualization to deployment. **1. Define the Purpose and Scope** Before diving into the technical details, it's crucial to define the purpose and scope of your agent. Ask yourself the following questions: - What specific tasks will the agent perform? - In what environments will the agent operate? - What are the key performance metrics for success? **2. Choose the Right Tools and Technologies** Selecting the appropriate tools and technologies is essential for building a robust agent. For an Amp-based agent, you might need: - **Programming Languages**: Python, Java, or C++ are commonly used. - **Development Frameworks**: TensorFlow, PyTorch, or custom frameworks compatible with Amp. - **Data Sources**: APIs, databases, or real-time data streams. - **Communication Protocols**: HTTP, WebSockets, or other protocols supported by Amp. **3. Design the Agent Architecture** The architecture of your agent will determine its efficiency and scalability. Consider the following components: - **Input Layer**: Handles data ingestion from various sources. - **Processing Layer**: Processes the data using algorithms and models. - **Output Layer**: Delivers the results to the end-users or other systems. - **Feedback Loop**: Allows the agent to learn and improve over time. **4. Develop the Core Functionality** With the architecture in place, start developing the core functionality of your agent. This includes: - **Data Ingestion**: Implementing mechanisms to collect and preprocess data. - **Algorithm Development**: Creating or integrating algorithms that will drive the agent's decision-making. - **Model Training**: Training machine learning models if applicable. - **Integration**: Ensuring seamless integration with other systems and protocols. **5. Implement Amp Protocols** Integrate Amp protocols into your agent to leverage its advanced capabilities. This might involve: - **Protocol Implementation**: Writing code to adhere to Amp standards. - **Communication**: Ensuring the agent can communicate effectively with other Amp-compatible systems. - **Security**: Implementing security measures to protect data and communications. **6. Testing and Validation** Thoroughly test
Part : Everything as Code: How We Manage Our Company In One Monorepo At Kasava, we've embraced the concept of "everything as code" to streamline our operations and ensure consistency across our projects. This approach allows us to manage our entire company within a single monorepo, providing a unified source of truth for all our configurations, infrastructure, and applications. **Why a Monorepo?** A monorepo offers several advantages: 1. **Unified Configuration**: All our settings, from development environments to production, are stored in one place. This makes it easier to maintain consistency and reduces the risk of configuration drift. 2. **Simplified Dependency Management**: With all our code in one repository, managing dependencies becomes more straightforward. We can easily track which versions of libraries and tools are being used across different projects. 3. **Enhanced Collaboration**: A single repository fosters better collaboration among team members. Everyone has access to the same codebase, making it easier to share knowledge and work together on projects. 4. **Consistent Build and Deployment Processes**: By standardizing our build and deployment processes, we ensure that all our applications follow the same best practices. This leads to more reliable and predictable deployments. **Our Monorepo Structure** Our monorepo is organized into several key directories: - **/config**: Contains all configuration files for various environments, including development, staging, and production. - **/infrastructure**: Houses the infrastructure as code (IaC) scripts for provisioning and managing our cloud resources. - **/apps**: Includes all our applications, both internal tools and customer-facing products. - **/lib**: Stores reusable libraries and modules that can be shared across different projects. - **/scripts**: Contains utility scripts for automating various tasks, such as data migrations and backups. **Tools and Technologies** To manage our monorepo effectively, we use a combination of tools and technologies: - **Version Control**: Git is our primary version control system, and we use GitHub for hosting our repositories. - **Continuous Integration/Continuous Deployment (CI/CD)**: We employ Jenkins for automating our build, test, and deployment processes. - **Infrastructure as Code (IaC)**: Terraform is our tool of choice for managing cloud infrastructure. - **Configuration Management**: Ansible is used for configuring and managing our servers and applications. - **Monitoring and Logging**: We use Prometheus and Grafana for monitoring,
Part : Introduction to the MCP Toolbox for Databases The MCP Toolbox for Databases is a comprehensive suite of tools designed to facilitate the management, optimization, and maintenance of databases. This toolbox is tailored to support a wide range of database management systems (DBMS), ensuring compatibility and efficiency across various platforms. Whether you are a database administrator, developer, or analyst, the MCP Toolbox provides a robust set of features to streamline your workflow and enhance productivity. Key Features: 1. **Database Management**: Easily create, modify, and delete databases and tables. The toolbox offers intuitive interfaces and powerful scripting capabilities to manage database schemas and objects efficiently. 2. **Performance Optimization**: Identify and resolve performance bottlenecks with advanced diagnostic tools. The MCP Toolbox includes performance monitoring and tuning features to ensure your databases run smoothly and efficiently. 3. **Backup and Recovery**: Implement reliable backup and recovery solutions to safeguard your data. The toolbox provides automated backup schedules and comprehensive recovery options to protect against data loss. 4. **Security Management**: Enhance database security with robust access control and encryption features. The MCP Toolbox helps you manage user permissions, audit logs, and secure data transmission. 5. **Data Integration**: Seamlessly integrate data from multiple sources and formats. The toolbox supports various data integration techniques, including ETL (Extract, Transform, Load) processes, to consolidate and analyze data effectively. 6. **Reporting and Analytics**: Generate insightful reports and perform in-depth data analysis. The MCP Toolbox offers advanced reporting tools and analytics capabilities to derive actionable insights from your data. 7. **Cross-Platform Compatibility**: Ensure compatibility with multiple DBMS platforms, including popular systems like Oracle, SQL Server, MySQL, and PostgreSQL. The toolbox is designed to work seamlessly across different environments. 8. **User-Friendly Interface**: Benefit from an intuitive and user-friendly interface that simplifies complex database tasks. The MCP Toolbox is designed with ease of use in mind, making it accessible to both novice and experienced users. The MCP Toolbox for Databases is an essential tool for anyone involved in database management. Its comprehensive features and cross-platform compatibility make it a valuable asset for optimizing database performance, ensuring data security, and enhancing overall productivity.
snakebite repository preview
#### Source

Type: GitHub Repository Original Link: https://github.com/Pinperepette/snakebite?trk=feed-detail_main-feed-card_feed-article-content Publication Date: 2026-03-27


Summary
#

Introduction
#

Imagine you are a developer working on a critical project. One day, while installing a new Python library from PyPI, you discover that the package contains a malicious payload that steals your credentials. This scenario is not just a nightmare, but a reality that can affect anyone working with Python. Supply chain attacks are on the rise and can compromise entire projects, causing irreparable damage. Snakebite is a project that solves this problem in an innovative way, using heuristic analysis and filtering based on advanced language models (LLM) to detect malicious PyPI packages.

Snakebite was created to protect developers from credential theft attacks, obfuscated code, and persistence mechanisms. Thanks to its ability to analyze Python packages contextually, Snakebite can distinguish between legitimate behaviors and suspicious activities, drastically reducing false positives. This project is essential for anyone working with Python and wanting to ensure the security of their dependencies.

What It Does
#

Snakebite is a tool that scans Python packages to detect malicious patterns. It uses a two-stage approach: first, it applies 14 specific heuristic rules to detect real attack patterns, and then it uses an advanced language model (LLM) to filter out false positives. This means that Snakebite does not just look for keywords or suspicious functions, but analyzes the context in which they are used.

Think of Snakebite as a detective who not only looks for clues but interprets them in the context of the crime scene. For example, if a package uses os.environ to obtain a legitimate environment variable, Snakebite recognizes that it is not an attempt to steal credentials. This dynamic and contextual approach makes Snakebite a powerful tool for supply chain security.

Why It’s Amazing
#

The “wow” factor of Snakebite lies in its ability to combine heuristic analysis and artificial intelligence to offer advanced protection. It is not just a scanner that looks for generic patterns. Here are some of the features that make it amazing:

Dynamic and contextual: Snakebite does not just look for keywords or suspicious functions. It analyzes the context in which they are used, distinguishing between legitimate behaviors and suspicious activities. For example, if a package uses subprocess.call([editor]) in an editor package, Snakebite recognizes that it is a legitimate use.

Real-time reasoning: Thanks to the integration with advanced language models, Snakebite can analyze code in real-time, filtering out false positives with precision. This means you can trust the results without having to spend hours manually verifying each alert.

Concrete examples: Imagine receiving a notification like this: “Hello, I am your system. The package litellm version 1.82.7 contains a malicious .pth file that performs obfuscated credential theft at Python startup.” This is exactly the type of notification that Snakebite can generate, providing specific and actionable details.

Case study: A concrete example is the attack on the litellm package that occurred on March 24, 2026. Snakebite detected a credential theft payload in versions 1.82.7 and 1.82.8, preventing potential damage. This demonstrates how Snakebite can be a valuable ally in the fight against supply chain attacks.

How to Try It
#

Trying out Snakebite is simple and straightforward. Here’s how to get started:

  1. Clone the repository: Start by cloning the repository from GitHub. Open your terminal and type:

    git clone https://github.com/pinperepette/snakebite.git
    cd snakebite
    
  2. Prerequisites: Snakebite has no external dependencies and uses only the standard Python library. Make sure you have Python 3.8 or higher installed.

  3. Setup: Once you have cloned the repository, you can start using Snakebite in two main modes:

    • Local mode: Scan packages installed on your machine. To scan all packages, use:
      python3 snakebite.py local
      
      To scan specific packages, such as flask, requests, and litellm, use:
      python3 snakebite.py local flask requests litellm
      
    • Feed mode: Monitor PyPI in real-time. For a single scan of the latest packages, use:
      python3 snakebite.py feed
      
      For continuous monitoring every 60 seconds, use:
      python3 snakebite.py feed --loop 60
      
  4. Documentation: For more details, consult the main documentation available in the repository. There is no one-click demo, but the setup is simple and straightforward.

Final Thoughts
#

Snakebite represents a significant step forward in supply chain security for Python projects. In an era where cyberattacks are becoming increasingly sophisticated, having a tool like Snakebite can make the difference between a secure project and a compromised one. This project not only protects developers but also contributes to creating a safer and more reliable ecosystem.

Imagine a future where every Python package you install is automatically verified for security. Snakebite brings us closer to this future, offering a practical and powerful solution for supply chain protection. If you are a developer or a tech enthusiast, Snakebite is a tool you cannot afford to ignore. Try it today and discover how it can improve the security of your project.


Use Cases
#

  • Private AI Stack: Integration into proprietary pipelines
  • Client Solutions: Implementation for client projects
  • Development Acceleration: Reduction in time-to-market for projects

Resources
#

Original Links #


Article recommended and selected by the Human Technology eXcellence team, processed through artificial intelligence (in this case with LLM HTX-EU-Mistral3.1Small) on 2026-03-28 09:26 Original source: https://github.com/Pinperepette/snakebite?trk=feed-detail_main-feed-card_feed-article-content

Related Articles #


The HTX Take
#

This topic is at the heart of what we build at HTX. The technology discussed here — whether it’s about AI agents, language models, or document processing — represents exactly the kind of capability that European businesses need, but deployed on their own terms.

The challenge isn’t whether this technology works. It does. The challenge is deploying it without sending your company data to US servers, without violating GDPR, and without creating vendor dependencies you can’t escape.

That’s why we built ORCA — a private enterprise chatbot that brings these capabilities to your infrastructure. Same power as ChatGPT, but your data never leaves your perimeter. No per-user pricing, no data leakage, no compliance headaches.

Want to see how ready your company is for AI? Take our free AI Readiness Assessment — 5 minutes, personalized report, actionable roadmap.

Discover ORCA by HTX
Is your company ready for AI?
Take the free assessment →

FAQ

Can large language models run on private infrastructure?

Yes. Open-source models like LLaMA, Mistral, DeepSeek, and Qwen can run on-premise or on European cloud. These models achieve performance comparable to GPT-4 for most business tasks, with the advantage of complete data sovereignty. HTX's PRISMA stack is designed to deploy these models for European SMEs.

Which LLM is best for business use?

The best model depends on your use case. For document analysis and chat, models like Mistral and LLaMA excel. For data analysis, DeepSeek offers strong reasoning. HTX's approach is model-agnostic: ORCA supports multiple models so you can choose the best fit without vendor lock-in.

Articoli Interessanti - This article is part of a series.
Part : This Article
Part : How to Build an Agent - Amp **Introduction** Building an agent, especially one that leverages the power of Amp, involves several key steps. Amp, which stands for Advanced Multi-Purpose Protocol, is a versatile framework designed to enhance the capabilities of agents in various domains. This guide will walk you through the process of creating an agent using Amp, from conceptualization to deployment. **1. Define the Purpose and Scope** Before diving into the technical details, it's crucial to define the purpose and scope of your agent. Ask yourself the following questions: - What specific tasks will the agent perform? - In what environments will the agent operate? - What are the key performance metrics for success? **2. Choose the Right Tools and Technologies** Selecting the appropriate tools and technologies is essential for building a robust agent. For an Amp-based agent, you might need: - **Programming Languages**: Python, Java, or C++ are commonly used. - **Development Frameworks**: TensorFlow, PyTorch, or custom frameworks compatible with Amp. - **Data Sources**: APIs, databases, or real-time data streams. - **Communication Protocols**: HTTP, WebSockets, or other protocols supported by Amp. **3. Design the Agent Architecture** The architecture of your agent will determine its efficiency and scalability. Consider the following components: - **Input Layer**: Handles data ingestion from various sources. - **Processing Layer**: Processes the data using algorithms and models. - **Output Layer**: Delivers the results to the end-users or other systems. - **Feedback Loop**: Allows the agent to learn and improve over time. **4. Develop the Core Functionality** With the architecture in place, start developing the core functionality of your agent. This includes: - **Data Ingestion**: Implementing mechanisms to collect and preprocess data. - **Algorithm Development**: Creating or integrating algorithms that will drive the agent's decision-making. - **Model Training**: Training machine learning models if applicable. - **Integration**: Ensuring seamless integration with other systems and protocols. **5. Implement Amp Protocols** Integrate Amp protocols into your agent to leverage its advanced capabilities. This might involve: - **Protocol Implementation**: Writing code to adhere to Amp standards. - **Communication**: Ensuring the agent can communicate effectively with other Amp-compatible systems. - **Security**: Implementing security measures to protect data and communications. **6. Testing and Validation** Thoroughly test
Part : Everything as Code: How We Manage Our Company In One Monorepo At Kasava, we've embraced the concept of "everything as code" to streamline our operations and ensure consistency across our projects. This approach allows us to manage our entire company within a single monorepo, providing a unified source of truth for all our configurations, infrastructure, and applications. **Why a Monorepo?** A monorepo offers several advantages: 1. **Unified Configuration**: All our settings, from development environments to production, are stored in one place. This makes it easier to maintain consistency and reduces the risk of configuration drift. 2. **Simplified Dependency Management**: With all our code in one repository, managing dependencies becomes more straightforward. We can easily track which versions of libraries and tools are being used across different projects. 3. **Enhanced Collaboration**: A single repository fosters better collaboration among team members. Everyone has access to the same codebase, making it easier to share knowledge and work together on projects. 4. **Consistent Build and Deployment Processes**: By standardizing our build and deployment processes, we ensure that all our applications follow the same best practices. This leads to more reliable and predictable deployments. **Our Monorepo Structure** Our monorepo is organized into several key directories: - **/config**: Contains all configuration files for various environments, including development, staging, and production. - **/infrastructure**: Houses the infrastructure as code (IaC) scripts for provisioning and managing our cloud resources. - **/apps**: Includes all our applications, both internal tools and customer-facing products. - **/lib**: Stores reusable libraries and modules that can be shared across different projects. - **/scripts**: Contains utility scripts for automating various tasks, such as data migrations and backups. **Tools and Technologies** To manage our monorepo effectively, we use a combination of tools and technologies: - **Version Control**: Git is our primary version control system, and we use GitHub for hosting our repositories. - **Continuous Integration/Continuous Deployment (CI/CD)**: We employ Jenkins for automating our build, test, and deployment processes. - **Infrastructure as Code (IaC)**: Terraform is our tool of choice for managing cloud infrastructure. - **Configuration Management**: Ansible is used for configuring and managing our servers and applications. - **Monitoring and Logging**: We use Prometheus and Grafana for monitoring,
Part : Introduction to the MCP Toolbox for Databases The MCP Toolbox for Databases is a comprehensive suite of tools designed to facilitate the management, optimization, and maintenance of databases. This toolbox is tailored to support a wide range of database management systems (DBMS), ensuring compatibility and efficiency across various platforms. Whether you are a database administrator, developer, or analyst, the MCP Toolbox provides a robust set of features to streamline your workflow and enhance productivity. Key Features: 1. **Database Management**: Easily create, modify, and delete databases and tables. The toolbox offers intuitive interfaces and powerful scripting capabilities to manage database schemas and objects efficiently. 2. **Performance Optimization**: Identify and resolve performance bottlenecks with advanced diagnostic tools. The MCP Toolbox includes performance monitoring and tuning features to ensure your databases run smoothly and efficiently. 3. **Backup and Recovery**: Implement reliable backup and recovery solutions to safeguard your data. The toolbox provides automated backup schedules and comprehensive recovery options to protect against data loss. 4. **Security Management**: Enhance database security with robust access control and encryption features. The MCP Toolbox helps you manage user permissions, audit logs, and secure data transmission. 5. **Data Integration**: Seamlessly integrate data from multiple sources and formats. The toolbox supports various data integration techniques, including ETL (Extract, Transform, Load) processes, to consolidate and analyze data effectively. 6. **Reporting and Analytics**: Generate insightful reports and perform in-depth data analysis. The MCP Toolbox offers advanced reporting tools and analytics capabilities to derive actionable insights from your data. 7. **Cross-Platform Compatibility**: Ensure compatibility with multiple DBMS platforms, including popular systems like Oracle, SQL Server, MySQL, and PostgreSQL. The toolbox is designed to work seamlessly across different environments. 8. **User-Friendly Interface**: Benefit from an intuitive and user-friendly interface that simplifies complex database tasks. The MCP Toolbox is designed with ease of use in mind, making it accessible to both novice and experienced users. The MCP Toolbox for Databases is an essential tool for anyone involved in database management. Its comprehensive features and cross-platform compatibility make it a valuable asset for optimizing database performance, ensuring data security, and enhancing overall productivity.