Package: openc2
LycanLycan is an implementation of the OpenC2 OASIS standard for command and control messaging. The current implementation is based on the Language Specification v1.0.Given the influence of STIX/CyBoX on OpenC2, this library extends theSTIX 2 Python APIinternals. Property validation and object extension support aligns with STIX2 conventions.InstallationInstall withpip:$pipinstallopenc2Usageimportiptcfromopenc2importparse,IPv4Address,Command,Response,Args# encodecmd=Command(action="deny",target=IPv4Address(ipv4_net="1.2.3.4"),args=Args(response_requested="complete"))msg=cmd.serialize()# decodecmd=parse(msg)ifcmd.action=="deny"andcmd.target.type=="ipv4_net":rule=iptc.Rule()rule.create_match(cmd.target.ipv4_net)rule.create_target("DROP")ifcmd.args.response_requested=='complete':resp=Response(status=200)msg=resp.serialize()# custom actuatorfromopenc2importCustomActuatorfromstix2importproperties@CustomActuator('x-acme-widget',[('name',properties.StringProperty(required=True)),('version',properties.FloatProperty())])classAcmeWidgetActuator(object):def__init__(self,version=None,**kwargs):ifversionandversion<1.0:raiseValueError("'%f' is not a supported version."%version)widget=AcmeWidgetActuator(name="foo",version=1.1)OASIS TC Open Repository: openc2-lycan-pythonThis GitHub public repository (https://github.com/oasis-open/openc2-lycan-python) was created at the request of theOASIS Open Command and Control (OpenC2) TCas anOASIS TC Open Repositoryto support development of open source resources related to Technical Committee work.While this TC Open Repository remains associated with the sponsor TC, its development priorities, leadership, intellectual property terms, participation rules, and other matters of governance areseparate and distinctfrom the OASIS TC Process and related policies.All contributions made to this TC Open Repository are subject to open source license terms expressed in theMIT License.  That license was selected as the declared"Applicable License"when the TC Open Repository was created.As documented in"Public Participation Invited", contributions to this OASIS TC Open Repository are invited from all parties, whether affiliated with OASIS or not.  Participants must have a GitHub account, but no fees or OASIS membership obligations are required.  Participation is expected to be consistent with theOASIS TC Open Repository Guidelines and Procedures, the open sourceLICENSEdesignated for this particular repository, and the requirement for anIndividual Contributor License Agreementthat governs intellectual property.Statement of PurposeStatement of Purpose for this OASIS TC Open Repository (openc2-lycan-python) asproposedandapproved[bis] by the TC:The purpose of this OASIS TC Open repository is to develop and maintain a python implementation ofOpenC2, and to provide a python codebase to facilitate other prototype efforts.  The python library is designed to support transformations between data-interchange formats (such as JSON) and python language objects.The OASIS OpenC2 Technical Committee wascharteredto address matters as they pertain to command and control of cyber defense technologies, and to maintain a library of prototype implementations.Additions to Statement of PurposeRepository Maintainers may include here any clarifications — any additional sections, subsections, and paragraphs that the Maintainer(s) wish to add as descriptive text, reflecting (sub-) project status, milestones, releases, modifications to statement of purpose, etc.  The project Maintainers will create and maintain this content on behalf of the participants.MaintainersTC Open RepositoryMaintainersare responsible for oversight of this project's community development activities, including evaluation of GitHubpull requestsandpreservingopen source principles of openness and fairness. Maintainers are recognized and trusted experts who serve to implement community goals and consensus design preferences.Initially, the associated TC members have designated one or more persons to serve as Maintainer(s); subsequently, participating community members may select additional or substitute Maintainers, perconsensus agreements.Current Maintainers of this TC Open RepositoryMichael Stair; GitHub ID:https://github.com/mstair/; WWW:AT&TAbout OASIS TC Open RepositoriesTC Open Repositories: Overview and ResourcesFrequently Asked QuestionsOpen Source LicensesContributor License Agreements (CLAs)Maintainers' Guidelines and AgreementFeedbackQuestions or comments about this TC Open Repository's activities should be composed as GitHub issues or comments. If use of an issue/comment is not possible or appropriate, questions may be directed by email to the Maintainer(s)listed above.  Please send general questions about TC Open Repository participation to OASIS Staff atrepository-admin@oasis-open.organd any specific CLA-related questions torepository-cla@oasis-open.org.