GithubHelp home page GithubHelp logo

skeleton's Introduction

MITRE Caldera Plugin: Skeleton

Skeleton is a Caldera plugin template

Run the plugin-init.py script to easily create a new plugin

python plugin-init.py 

skeleton's People

Contributors

argaudreau avatar elegantmoose avatar mrengstrom avatar nopfor avatar wbooth avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

skeleton's Issues

Plugin name validation should be more strict

What problem are you trying to solve? Please describe.

Eg. I'm always frustrated when [...]

A plugin does not get loaded into MITRE CALDERA when the plugin name contains "." or "/".
The current code checks only that the plugin name does not contain spaces.

The ideal solution: What should the feature should do?

a clear and concise description

I strongly recommend for the plugin names to follow the "identifier" syntax
and use of name.isidentifier() to validate the plugin name more strictly.
(c.f. https://docs.python.org/3/reference/lexical_analysis.html#identifiers)

What category of feature is this?

  • UI/UX
  • API
  • Other

If you have code or pseudo-code please provide:

Current code:

def is_valid_plugin_name(name):
    if len(name.split(' ')) == 1:
        return True
    return False

Suggested code:

def is_valid_plugin_name(name):
    return name.isidentifier()
  • Willing to submit a pull request to implement this feature?

Additional context

Add any other context or screenshots about the feature request here.

Nothing.

How should I use the Caldera API from the plugin code?

From the official documentation I saw that to get the list of skills we use this line of code:

  • abilities = await self.services.get('data_svc').locate('abilities')

I need to create an Adversary profile and an operation from the plugin code, what should I do?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.