DeveloperWelcome to the developer section of the website. This page will explain and/or link you to the relevent sections for extending Maltego.
Maltego Scripting Language (Machines)
Before diving into the extending section, another way to develop within the tool is to use the Maltego Scripting Language. This is the language used to string together transforms and work with the entities on the graph. The following document describes in detail how to contruct your own Machines as well as the syntax used and how to interact with the transforms.
Types of ExtendingThe image below describes the different ways and means that you can integrate with Maltego:
For this section however we will merely be looking at the Local Transforms and the TDS Transforms. Both of these types can be run on both the Community and Commercial versions of Maltego without any extra buy-in from the end user.
Local Transforms vs TDS
Local TransformsLocal transforms are pieces of code that run on the same machine which the client application is. These are very useful for integrating in machine specific tasks (such as running an application thats locally on the machine- like nmap OR a task that is dependent on a setup on the machine such as accessing data over a VPN). These transforms can be written in any language (yes, *any* language) and merely rely on output to be sent via STDOUT (think a command line application).
- Machine Specific
- Nothing ever goes 'over the wire' - unless you want it to
- Simple to write in any language
- Requires setup on each machine you wish to install them, eg. Python + Mechanize + BeautifulSoup
- Does not go as deep into the Transform Specification - no slider or settings
- Updating a transform means it needs to be updated on every machine
- Sensitive data such as usernames and passwords could reside on the computer of the analysts