allfro / canari Goto Github PK
View Code? Open in Web Editor NEWLocal and Remote Maltego Rapid Transform Development Framework
Home Page: http://www.canariproject.com
Local and Remote Maltego Rapid Transform Development Framework
Home Page: http://www.canariproject.com
Hi,
When I create a mtz file with create-profile and import it in Maltego, all input entities of the transforms are changed to namespace maltego.(entityname), where it should be nielslelieveld.(entityname).
The namespace is set to nielslelieveld in transforms\common\entities.py. The input file I use in resources\maltego\entities.mtz worked fine on an older version of Maltego/Canari.
I have reviewed all recent code changes, but I am unable to find out which might cause this.
Could you have a look, or tell me how I could fix it?
Thanks!
I am experiencing intermittent issues when running a package of transforms on various entities. I've tracked down the issue, and the problem is that parseargs() expects a # seperate list of name=value pairs. When entities are linked, they somehow get a property of just 'link', with no =, for example:
'fqdn=test.com#link#maltego.link.weight=100'
which causes the lambda function to break.
An easy fix is on line 82; change:
fs
to
[f for f in fs if "=" in f]
so the lambda becomes:
lambda x: [
c.replace('\#', '#').replace('\=', '=').replace('\\\\', '\\')
for c in split(r'(?<=[^\\])=', x, 1)
],
[f for f in fs if "=" in f]
I have Canari installed and all appears well (2 computers tried, one windows 7, one win 8.1, both 64 bit, running python 32-bit 2.7 recent)
create-package creates a file/dir tree including templates and create-transform also works to make a template file. Any use of canari create-profile on either computer generates:
Looking for transforms in test.transforms
Does not appear to be a valid canari package. Couldn't import the 'test.transfor
ms' package in 'test'. Error message: No module named transforms
Even if I use "canari create-package test" and then immediately run "canari create-profile test" from the same directory canari gives this error so even the canari generated example is being seen as not a valid canari package.
I'm wondering if there is some particular detail on how to use canari create-profile that one should know. Does it need to be run in a particular subdirectory for example?
Update: I checked the source and tried create-profile from the "src" subdirectory of the created package and it generates a profile, but running the transforms from that imported profile in Maltego fails with a traceback on run_transform line 73, to line 192 of common.py with ImportError:No module named transforms.helloworld
So one can trick it into generating a profile with a change to src directory to avoid the import error at profile creation but that just results in the import error at execution time.
Is this expected behavior? Seems to me it would be nice to remove the entities to avoid any kind of namespace or other pollution.
Ryan
I've got a problem with multiple entities as input for one transform. It seems that canari only installs a transform for the very first entity in the inputs-list.
My configuration looks like this:
from canari.maltego.entities import Person, EmailAddress
...
@configure(
label='To Dummy [Dummy]',
description='Returns a Dummy entity"',
uuids=[ 'dummy.v2.ToDummy' ],
inputs=[ ( 'Maltego.Person', Person ), ( 'Maltego.EmailAddress', EmailAddress ) ],
debug=True
)
Installing went fine but I'm only able to use this transform on Maltego.Person. There is no such option with Maltego.EmailAddress
I should add that I'm limited to Maltego on Windows currently and I haven't verified it on a Linux system yet.
Canari should support the new(ish) API support for labelling links in Maltego. Details at http://maltego.blogspot.com/2012/11/coolness-coming-in-next-maltego-radium.html
Hello,
I am wondering, is it possible to output multiple levels of links towards Maltego?
Following example:
I run a search transform on a custom-made Company entity.
The transform looks in multiple mysql databases for information.
One of the databases is named: KVK
I want the Transform to create a new KVK entity when it finds a result there, and then I want the underlying results from that database linked to the KVK entity, not to the Company entity.
So you would get the following links:
Company -> KVK -> Adress, Name, Phone number etc.
So in short: How do I tell my transform to hook new entitiy's to another entity then the one where the transform runs on?
Thanks in advance for answering!
Just for clarification, I want to run a transform on Bedrijf and have the transform create the KVK phrase and the other 2 entities and have them linked as shown above.
Not sure why this error is happening, but figure I'd check in before doing a deeper dive. Noticed that when multiple properties are added, data-type agnostic, error occurs. However, does not occur when default properties exist. Haven't been able to spot an immediate discrepancy between the XML entities in both scenarios, but the issue seems XML parsing related.
Your running Canari Framework v1.1
Maltego Carbon
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/2.7/bin/canari", line 5, in <module>
pkg_resources.run_script('canari==1.1', 'canari')
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/distribute-0.6.14-py2.7.egg/pkg_resources.py", line 467, in run_script
self.require(requires)[0].run_script(script_name, ns)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/distribute-0.6.14-py2.7.egg/pkg_resources.py", line 1200, in run_script
execfile(script_filename, namespace, namespace)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/canari-1.1-py2.7.egg/EGG-INFO/scripts/canari", line 20, in <module>
canari_main()
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/canari-1.1-py2.7.egg/canari/commands/framework.py", line 33, in _func
return func(self.parser.parse_args(args_, namespace))
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/canari-1.1-py2.7.egg/canari/commands/common.py", line 67, in canari_main
opts.command_function(opts)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/canari-1.1-py2.7.egg/canari/commands/generate_entities.py", line 181, in generate_entities
distribution.read_file(entity_file)
File "/Library/Python/2.7/site-packages/safedexml-0.5.1-py2.7.egg/safedexml/__init__.py", line 314, in parse
self._parse_children_unordered(node, self._fields, fields_found)
File "/Library/Python/2.7/site-packages/safedexml-0.5.1-py2.7.egg/safedexml/__init__.py", line 366, in _parse_children_unordered
res = field.parse_child_node(self, child)
File "/Library/Python/2.7/site-packages/safedexml-0.5.1-py2.7.egg/safedexml/fields.py", line 476, in parse_child_node
inst = typeclass.parse(node)
File "/Library/Python/2.7/site-packages/safedexml-0.5.1-py2.7.egg/safedexml/__init__.py", line 314, in parse
self._parse_children_unordered(node, self._fields, fields_found)
File "/Library/Python/2.7/site-packages/safedexml-0.5.1-py2.7.egg/safedexml/__init__.py", line 379, in _parse_children_unordered
self._parse_children_unordered(child, [field], fields_found)
File "/Library/Python/2.7/site-packages/safedexml-0.5.1-py2.7.egg/safedexml/__init__.py", line 366, in _parse_children_unordered
res = field.parse_child_node(self, child)
File "/Library/Python/2.7/site-packages/safedexml-0.5.1-py2.7.egg/safedexml/fields.py", line 747, in parse_child_node
res = self.field.parse_child_node(tmpobj, node)
File "/Library/Python/2.7/site-packages/safedexml-0.5.1-py2.7.egg/safedexml/fields.py", line 476, in parse_child_node
inst = typeclass.parse(node)
File "/Library/Python/2.7/site-packages/safedexml-0.5.1-py2.7.egg/safedexml/__init__.py", line 319, in parse
raise ParseError(err)
safedexml.ParseError: required field not found: 'displayname'
Hello when running the debug-transform command I get the following error message:
canari debug-transform pcaprewrite /root/pcaps/httpdownload.cap
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/canari-1.0-py2.7.egg/canari/commands/debug_transform.py", line 92, in run
) if get_transform_version(m.dotransform) == 2 else m.dotransform(
TypeError: init() takes at least 5 arguments (4 given)
Thanks.
Adam
It appears that Canari is unable to create the option when converting an exported entity, or when creating a new one.
For example, my transform returns an IP address, which I could create as a maltego.IPv4Address type, however then that limits me if I want to add multiple custom fields etc. What would be more preferable would be to create my own entity type, with my own custom field options, but inherit the base entity IPv4Address.
This should solve the issue of having to change entity types on returned entities.
If this is already possible, point me in the right direction and I will document it ;)
Allow ./transforms/common/entities.py to be ignored so that dynamic properties can be inserted within Maltego entities.
Hello,
I've just installed canari from github using:
git clone https://github.com/allfro/canari.git
The installation went fine, however when I went to run it I got this error:
root@kali:~/localTransforms/sniffMyPackets/src# canari
Traceback (most recent call last):
File "/usr/local/bin/canari", line 5, in
pkg_resources.run_script('canari==0.7', 'canari')
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 499, in run_script
self.require(requires)[0].run_script(script_name, ns)
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 1235, in run_script
execfile(script_filename, namespace, namespace)
File "/usr/local/lib/python2.7/dist-packages/canari-0.7-py2.7.egg/EGG-INFO/scripts/canari", line 3, in
from canari.commands.common import get_commands
File "/usr/local/lib/python2.7/dist-packages/canari-0.7-py2.7.egg/canari/commands/common.py", line 15, in
from canari.config import CanariConfigParser
File "/usr/local/lib/python2.7/dist-packages/canari-0.7-py2.7.egg/canari/config.py", line 3, in
from resource import conf
File "/usr/local/lib/python2.7/dist-packages/canari-0.7-py2.7.egg/canari/resource.py", line 22
name = resource_filename(pkg, name))
I removed the second ) from the file listed and it works.
This was on a fresh install of Kali Linux (the new backtrack).
Adam
Hello,
I have a problems with the execution of transforms. I have the following error (example with p0f):
Running transform To Technology [P0f] on 1 entities (from entity "_..**._")
Transform To Technology [P0f] returned with an error: Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/canari-1.1-py2.7.egg/canari/maltego/utils.py", line 222, in local_transform_runner
) if get_transform_version(transform_module.dotransform) == 2 else transform_module.dotransform(
File "/usr/local/lib/python2.7/dist-packages/sploitego-1.5-py2.7.egg/sploitego/transforms/p0f.py", line 31, in dotransform
i = fingerprint(request.value)
File "/usr/local/lib/python2.7/dist-packages/sploitego-1.5-py2.7.egg/sploitego/cmdtools/p0f.py", line 102, in fingerprint
stdout=subprocess.PIPE
File "/usr/lib/python2.7/subprocess.py", line 710, in init
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1335, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory (from entity ".**._._")
What is the solution?? I own Maltego Chlorie
Thank you
I want to to introduce some parameters in Maltego when I run my transform, I know it exists request.params but I don't know how it works or if this is the solution to my problem. I want the users introduce parameters in Maltego to process them in my transforms. Does someone know how I can do it?
This is a weird one.
I have some entities returned that are very large strings (Resource locations to be precise, and UserAgents). What I want to do is display a truncated value on the maltego chart, and have the full value in a dynamic field. Much like the URL default entity does.
Now, I want to make sure Maltego doesnt match entities on the truncated field, but only on the full field. I have set the full field to have strict matching, but Maltego still seems to be matching on the displayed, entity value. How do I make it ignore what's displayed (or i guess make it loose matched?)
The transition to Config::IniFiles will conflict with Chapter 19 of "Perl Best Practices" i.e. Config::Std.
Can canari revert back the Config::Std Perl CPAN Module please?
After doing canari create-package example
the file src/example/transforms/common/entities.py
contains a class called ExampleEntity which has the namespace
property set - this value does not take effect in any sub-classes, renaming it to _namespace_
seems to work.
Hello, I'm not sure if this is a Canari issue or a Maltego "bug". When I create a new transform and import my configuration I find that the new transform isn't assign to the set that I've configured it for.
I have to go into Transform Manager, find the transform and the "Add to set". Once it's done it stays even after additional configuration imports
Let me know if you need any more details.
Adam.
Hello, is possible to migrate a .mtz file developed in Linux to Windows. I tried it and the problem was the paths in command line and working directory but I changed it and the problem continues. Now the problem is in command parameters, Maltego says "importerror no module named transforms...", if I take my package to the new OS and execute 'python setup.py install' the transforms works but I don't want to the other person can see the code of my local transforms. I'd just like to give him the .mtz file for he could run the transform in his computer. Do someone know if this is possible now?
Sorry my English!
When a canari transform returns a URL entity it seems that canari returns the correct XML:
<MaltegoMessage>
<MaltegoTransformResponseMessage>
<Entities>
<Entity Type="maltego.URL">
<Value>http://woop.woop.org</Value>
<Weight>1</Weight>
</Entity>
</Entities>
</MaltegoTransformResponseMessage>
</MaltegoMessage>
But the URL entity is not rendered in Maltego.
This problem can be reproduced by following these steps:
canari create-package dummy
response += URL('http://woop.woop.org')
canari install-package dummy
(from src directory)python setup.py install
(from project root directory)I have not been able to find the root cause myself - might be a problem in Maltego?
I am unclear how to access a transform option in my transform. I have a dynamic field which adds the "upstream entity" value when returning entities as transform results. This then allows me to include the upstream entity as a field to be queried against a database. I can't figure out the syntax of accessing fields from request.values
The following Python Traceback occurs when the recfut.RFEventExpand Maltego Transform is executed as part of the "recfut.ImportRFCSV" Maltego Machine.
I suspect it might be caused by the external python package that has a dependency to canari.xmltools.oxml .
This Python Traceback occurs on Kali Linux but not Mac OSX using "canari debug-transform". I upgraded the various XML Kali Linux Packages too in attempting to resolve this Python Traceback.
Again, might be me being dumb...
If I want to use canari debug-transform on a transform that references items in a config file, it doesnt work. It seems as though the transform needs to be compiled and run before this will work, is that correct?
It does however make debugging the config file difficult.
Matt
Hi.
New to Maltego.
Is this project dead or alive?
Tried to install and run the examples but is not working for me.
Tks
I'm trying to run canari run-server
to access a transform, it appears to expose the transforms through the HTTP server but when a request comes in from the TDS it fails to properly parse the request data. The incoming XML looks as follows:
<MaltegoMessage>
<MaltegoTransformRequestMessage>
<Entities>
<Entity Type="DNSName">
<AdditionalFields>
<Field Name="fqdn" DisplayName="DNS Name">example.com</Field>
</AdditionalFields>
<Value>example.com</Value>
<Weight>0</Weight>
</Entity>
</Entities>
<Limits SoftLimit="12" HardLimit="12"/>
</MaltegoTransformRequestMessage>
</MaltegoMessage>
This appears to match the models in canari/maltego/message.py
, although I've had to change the msg = MaltegoTransformRequestMessage.parse(request_str).message
line in MaltegoTransformRequestHandler.dotransform to msg = MaltegoMessage.parse(request_str).message
otherwise it complains about receiving a MaltegoMessage
tag (I've also tried just stripping that part of the request out, with no luck). This appears to get further parsing the request but I see no entities in the parsed request data - causing the transform request to fail with status code 400 and the message "Unsupported input entity!".
I'm still digging but any pointers would be much appreciated. Have you tried canari run-server
with an iTDS server before?
On a windows installation of canari, I have entities that have properties with newlines (e.g. service banners) that are not being properly passed through dispatcher.bat to the transform code. I believe this is due to a limitation on passing variables with newlines through cmd.exe/batch files, but not sure if there is a workaround or reimplementation
When importing an .mtz file which contains Entities and Icons that were exported from Maltego 3.6.1, the "canari create-profile" command will throw the error:
****:~/Downloads/<project>$ canari create-profile <project>
Looking for transforms in <project>.transforms...
Package loaded.
Creating profile /home/****/Downloads/<project>/<project>.mtz...
Installing transform ****
Installing entity ****
Installing custom icon Icons/ to Icons/...
Traceback (most recent call last):
File "/usr/local/bin/canari", line 4, in <module>
__import__('pkg_resources').run_script('canari==1.1', 'canari')
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 528, in run_script
self.require(requires)[0].run_script(script_name, ns)
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 1394, in run_script
execfile(script_filename, namespace, namespace)
File "/usr/local/lib/python2.7/dist-packages/canari-1.1-py2.7.egg/EGG-INFO/scripts/canari", line 20, in <module>
canari_main()
File "/usr/local/lib/python2.7/dist-packages/canari-1.1-py2.7.egg/canari/commands/framework.py", line 33, in _func
return func(self.parser.parse_args(args_, namespace))
File "/usr/local/lib/python2.7/dist-packages/canari-1.1-py2.7.egg/canari/commands/common.py", line 65, in canari_main
opts.command_function(opts)
File "/usr/local/lib/python2.7/dist-packages/canari-1.1-py2.7.egg/canari/commands/create_profile.py", line 54, in create_profile
transform_package.create_profile(opts.working_dir, current_dir)
File "/usr/local/lib/python2.7/dist-packages/canari-1.1-py2.7.egg/canari/pkgutils/transform.py", line 311, in create_profile
self.install(install_prefix, mtz, configure)
File "/usr/local/lib/python2.7/dist-packages/canari-1.1-py2.7.egg/canari/pkgutils/transform.py", line 237, in install
self._install_entities(distribution)
File "/usr/local/lib/python2.7/dist-packages/canari-1.1-py2.7.egg/canari/pkgutils/transform.py", line 263, in _install_entities
distribution.write_file(p, data)
File "/usr/local/lib/python2.7/dist-packages/canari-1.1-py2.7.egg/canari/pkgutils/maltego.py", line 695, in write_file
self.writestr(zinfo_or_arcname, contents)
File "/usr/local/lib/python2.7/dist-packages/canari-1.1-py2.7.egg/canari/pkgutils/maltego.py", line 481, in writestr
with file(realpath, mode='wb') as f:
IOError: [Errno 21] Is a directory: '/tmp/tmpmfaenH/Icons/'
Writing transform set <project> to /home/****/Downloads/<project>/<project>.mtz...
Writing server Local to /home/****/Downloads/<project>/<project>.mtz
To generate the .mtz file within Maltego:
We've noticed an interesting issue generating an mtz with canari create-profile $package
in the environment of a machine that uses homebrew python on OSX.
I use OSX Python and the transform.local.command property of my transforms correctly points to /usr/local/bin/dispatcher.
However, a peer uses homebrew Python 2.7.9 and their transform.local.command property gets set to:
/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/bin/dispatcher
His is actually installed in /usr/local/bin/dispatcher .
Which, doesn't exist, so all attempts to run the transform fail with "No file or directory" in maltego. This can be worked around by editing the property of the transforms in Manage Transforms in maltego.
I believe the related code might be at src/canari/pkgutils/maltego.py:
transform_settings_def = TransformSettings(properties=[
CmdLineTransformPropertySetting(
os.path.join(get_bin_dir(),
'dispatcher.bat' if os.name == 'nt' else 'dispatcher')
),
CmdParmTransformPropertySetting(name),
CmdCwdTransformPropertySetting(working_dir),
CmdDbgTransformPropertySetting(spec.debug)
])
canari framework is awesome!
thank you for all the hours you put into this project.
i used the create- package and create-profile and maltego UI to import.
is my setup that is wrong? or is it a bug with the path on import?
if someone please could point me in the right direction, that would be awesome
OS: Linux 3.8.0-19-generic amd64
JAVA: 1.7.0_45 VM
JAVA: Java HotSpot(TM) 64-Bit Server VM 24.45-b08
ERROR:
Transform To MyTestEntity [Hello World] done
Running transform To MyTestEntity [Hello World] on 1 entities.
Transform To MyTestEntity [Hello World] returned with an error: Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/canari-1.0-py2.7.egg/canari/commands/run_transform.py", line 73, in run
transform_module = import_transform(transform)
File "/usr/local/lib/python2.7/dist-packages/canari-1.0-py2.7.egg/canari/commands/common.py", line 192, in import_transform
return import(script, globals(), locals(), ['dotransform'])
ImportError: No module named transforms.helloworld
Transform To MyTestEntity [Hello World] done
Please assign this the lowest priority
Can a "canari duplicate-transform" be created which is similar to "canari create-transform" by copies an existing transform is then renamed?
The reason for this I want to repeat the canari boilerplate with the python metadata values, etc (i.e. everything excluding doTransform) that I had modified the initial boilerplate to.
Yes, I know that a workaround would be "canari create-transform" and then copy the existing python script over the new filename.
I will submit a pull request for this issue when I get some time but I'll make a note of this issue now while I review my git changelog and expect several more issues of the coming days :)
Can I recommend that the "-n" argument of "generate entities" be clarified as the "Unique type name" in the "Edit Entity"->"Basic Information" window of Maltego rather than "namespace" (which is a better definition than what Paterva defined in hindsight) within:
Hi,
http://www.canariproject.com/en/latest/canari.maltego.entities.html?highlight=hash
The hash parent entity is Canari is missing the "Hash Type" field which is in Maltego.
It would be useful to add this to Canari so users can set the parent field when they inherit the Hash entity in Maltego. If you create a new Hash in Maltego you'll see the "Hash Type" field.
Thanks
Morning, I've just come across this error when trying to install my package. It's worked fine up until now and I'm not sure if its canari or my code (worked fine on another machine).
root@bt:~/localTransforms/sniffMyPackets# canari install-package sniffMyPackets -w /root/localTransforms/sniffMyPackets/src
Looking for transforms in sniffMyPackets.transforms
Installing transform sniffMyPackets.v2.map2ip_domain from sniffMyPackets.transforms.map2ip...
Installing transform sniffMyPackets.v2.map2ip_host from sniffMyPackets.transforms.map2ip...
Traceback (most recent call last):
File "/usr/local/bin/canari", line 5, in
pkg_resources.run_script('canari==0.8', 'canari')
File "/usr/lib/python2.6/dist-packages/pkg_resources.py", line 461, in run_script
self.require(requires)[0].run_script(script_name, ns)
File "/usr/lib/python2.6/dist-packages/pkg_resources.py", line 1194, in run_script
execfile(script_filename, namespace, namespace)
File "/usr/local/lib/python2.6/dist-packages/canari-0.8-py2.6.egg/EGG-INFO/scripts/canari", line 45, in
main()
File "/usr/local/lib/python2.6/dist-packages/canari-0.8-py2.6.egg/EGG-INFO/scripts/canari", line 40, in main
cmds[args[0].command].run(args[1])
File "/usr/local/lib/python2.6/dist-packages/canari-0.8-py2.6.egg/canari/commands/install_package.py", line 331, in run
opts.working_dir
File "/usr/local/lib/python2.6/dist-packages/canari-0.8-py2.6.egg/canari/commands/install_package.py", line 104, in install_transform
intype = spec.inputs[i]1.type
IndexError: list index out of range
I've tried this on BackTrack 5 R3 and Kali.
Backtrack was using the easy_install method to get canari and Kali was from doing a git pull and then installing canari again.
Thanks.
I installed canari via easy_install, and the create-profile command is not available, though install-package is. Am I using an older version of canari?
canari install-package Malformity
results in the above error, running canari 1.1
Im a bit stuck. If I have two packages containing entities, but I want an entity type defined in one package to be an input entity in another package, how do I do it?
I've tried copying the entities file from one package into a new file in common and importing from that file, I've also copied the contents of the other entities file into this one and imported. Neither work in Maltego.
Is this possible and what am I doing wrong? Sorry for being such a n00b ;)
Corrections needed for "5. Transform Development Quick-Start"
Delete "4-3" from URI (also "6-" from http://www.canariproject.com/6-more-information/) as per the convention for the other pages.
canari create-transform
inserts "config" as the third parameter of the dotransform() i.e. def dotransform(request, response, config):
and therefore should be updated to reflect the new implementation of create-transform
.
There is no documentation on how to generate the canari.conf
and mypackage.conf
files?
I'll send a pull request for https://github.com/allfro/canari/blob/master/src/canari/commands/generate_entities.py#L163 RSN
I executed "create-entities" (with no arguments) against "Maltego v1.0.1CaseFileCE" and "Maltego v3.4.0CE".
"Maltego v3.4.0CE" triggered the following error on Mac OSX:
Traceback (most recent call last):
File "/usr/local/bin/canari", line 5, in <module>
pkg_resources.run_script('canari==0.7', 'canari')
File "build/bdist.macosx-10.6-universal/egg/pkg_resources.py", line 488, in run_script
"""List all distributions needed to (recursively) meet `requirements`
File "build/bdist.macosx-10.6-universal/egg/pkg_resources.py", line 1338, in run_script
utime(tmpnam, (timestamp,timestamp))
File "/Library/Python/2.6/site-packages/canari-0.7-py2.6.egg/EGG-INFO/scripts/canari", line 45, in <module>
main()
File "/Library/Python/2.6/site-packages/canari-0.7-py2.6.egg/EGG-INFO/scripts/canari", line 40, in main
cmds[args[0].command].run(args[1])
File "/Library/Python/2.6/site-packages/canari-0.7-py2.6.egg/canari/commands/generate_entities.py", line 191, in run
xml = XML(ar.open(e).read())
File "<string>", line 85, in XML
SyntaxError: not well-formed (invalid token): line 1, column 1
No error occurred when "Maltego v1.0.1CaseFileCE" was selected and the subsequently generated /[myPackage]/src/[myPackage]/transforms/common/entities.py is also correct.
I would like the user to specify the time variable for a search function on specific entity. This value would be dynamic according to the user's need. Another alternative is for the user to create a new properties inside the entity itself for the value, quite troublesome.
I will submit a pull request RSN but in the interim:
Need to insert ">" character within the canari=0.5 line
install-requires=[
'canari>=0.5'
],
The documentation on using Plume recommends copying "the plume.wsgi and plume.py files from the canari/src/canari/resources/tds directory to your WSGI container’s path", but plume.wsgi doesn't exist in the repository. I found the canari install-plume
command and tried that instead. The plume.sh
script it generates doesn't seem to work for me so I'm running it directly: twistd web --wsgi plume.app -n
.
Starting the server with the twistd command above causes Canari to report the following error:
ERROR: Plume does not support V2 Canari transforms ('Example.transforms.transform_name').
Please update to V3. See http://www.canariproject.com/4-3-transform-development-quick-start/ for more details.
However, the documentation on that page (which I originally followed) only mentions V2. Are theres docs available for V3 transforms I could review?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.