Mailing List Archive

Perl Plugins (was Re: Making user plugins override main plugins directory)
On Tuesday 26 November 2002 07:58 am, Paul Johnston wrote:
> Ok, I have now made the changes and they work fine for me. I've
> attached a patch file.
> BTW, I didn't change perl_plugins.c as it seemed that this file is not
> actually in use.

The version shipped with Nessus is rather useless, I finished a rough
re-implementation of it a month ago. Unless your version of Perl is
compiled with dynamic loading support, you won't be able to use any
modules which depend on compiled code (IO::, etc). I am working on a Perl
interface to the standard Nessus library functions (ie. NASL functions
available in Perl), implemented as CV's exported from C space. Hopefully
I can wrap the plugin code itself in a 'use Safe' wrapper and only allow
access to the Nessus subroutines. Until then, if you want to write and
use Perl plugins, you would have to install Perl with dynamic loading
support and use the standard modules (IO::Socket) for testing (the
reporting and KB functions are already implemented). One of the nice
things about the Perl interface is that the entire KB is accessible via a
hash variable, so its easy to correlate KB information from inside a
plugin (dont have to worry about fork()'s in get_kb_item()). The patches
are for version 1.2.6...

http://www.digitaloffense.net/perlisms/nessus/

-HD