{"id":37074845,"url":"https://github.com/gabstopper/smc-python","last_synced_at":"2026-01-14T08:48:50.682Z","repository":{"id":57468681,"uuid":"58158709","full_name":"gabstopper/smc-python","owner":"gabstopper","description":"Forcepoint Security Management Center python library:(Moved to official Forcepoint repo)","archived":true,"fork":false,"pushed_at":"2021-04-06T14:16:42.000Z","size":2227,"stargazers_count":29,"open_issues_count":18,"forks_count":13,"subscribers_count":12,"default_branch":"master","last_synced_at":"2025-11-27T20:20:05.399Z","etag":null,"topics":["this"],"latest_commit_sha":null,"homepage":"https://github.com/Forcepoint/fp-NGFW-SMC-python","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gabstopper.png","metadata":{"files":{"readme":"README.rst","changelog":"HISTORY.rst","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-05-05T20:30:33.000Z","updated_at":"2024-06-10T13:23:56.000Z","dependencies_parsed_at":"2022-09-19T09:51:50.322Z","dependency_job_id":null,"html_url":"https://github.com/gabstopper/smc-python","commit_stats":null,"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"purl":"pkg:github/gabstopper/smc-python","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gabstopper%2Fsmc-python","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gabstopper%2Fsmc-python/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gabstopper%2Fsmc-python/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gabstopper%2Fsmc-python/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gabstopper","download_url":"https://codeload.github.com/gabstopper/smc-python/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gabstopper%2Fsmc-python/sbom","scorecard":{"id":416770,"data":{"date":"2025-08-11","repo":{"name":"github.com/gabstopper/smc-python","commit":"54386c8a710727cc1acf69334a57b155d2f5408c"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2.5,"checks":[{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Maintained","score":0,"reason":"project is archived","details":["Warn: Repository is archived."],"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":0,"reason":"Found 1/29 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":6,"reason":"4 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-9hjg-9r4m-mvj7","Warn: Project is vulnerable to: GHSA-9wx4-h78v-vm56","Warn: Project is vulnerable to: PYSEC-2023-74 / GHSA-j8r2-6x86-q33q","Warn: Project is vulnerable to: PYSEC-2018-28 / GHSA-x84v-xcm2-53pg"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 2 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-19T00:07:56.392Z","repository_id":57468681,"created_at":"2025-08-19T00:07:56.392Z","updated_at":"2025-08-19T00:07:56.392Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28414693,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T08:38:59.149Z","status":"ssl_error","status_checked_at":"2026-01-14T08:38:43.588Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["this"],"created_at":"2026-01-14T08:48:48.821Z","updated_at":"2026-01-14T08:48:50.670Z","avatar_url":"https://github.com/gabstopper.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"|Documentation Status| |Python version| |PyPI version| \n\nsmc-python\n==========\n\nsmc-python has officially been released by Forcepoint and can be found at: https://github.com/forcepoint/fp-ngfw-smc-python\n\nPython based library to provide the ability to interact with the\nStonesoft Management Center API. Provides automation capabilities for\nany environment that interact with the SMC remotely.\n\nSome of the functionality you get with the SMC Python API:\n\n-  Create any engine types; single firewall, cluster firewalls, ips\n   engines, layer 2 firewalls, master engine and virtual engines.\n-  Engine operations such as enabling/disabling AV, GTI, default NAT,\n   Contact Addresses, etc\n-  Interface configurations\n-  Routing configurations (OSPF, BGP, Static, Antispoofing)\n-  Engine level commands such as rebooting, going offline, policy push,\n   enable/disable SSH, etc.\n-  Create and modify all network element objects such as Host, Network,\n   Address Ranges, Domain Names, etc.\n-  Policy control (create rules, delete rules) for layer 3 firewall\n   policies\n-  VPN Policy control and creation\n-  Management / Log Server settings configuration\n-  Admin User creation and modification\n-  System level controls; update system packages, update engines, global\n   blacklisting, etc\n-  Tasks\n-  Search operations for any object type by name, href and by filter\n-  Collections interface to view all objects by type\n\nRequirements\n------------\n\nPython 2.7\n\nPython 3.5, 3.6\n\nRequests \u003e= 2.12.0\n\nSecurity Management Center version 6.0, 6.1, 6.1.1, 6.1.2, 6.2, 6.2.1, 6.3.x\n\nGetting Started\n---------------\n\nInstalling package\n\nUse pip to get latest released version:\n\n``pip install smc-python``\n\nSpecific version:\n\n``pip install smc-python\u003e=0.5.8``\n\nFrom git:\n\n``pip install git+https://github.com/gabstopper/smc-python.git``\n\nOr download the latest tarball:\n`smc-python \u003chttps://github.com/gabstopper/smc-python/archive/master.zip\u003e`__,\nunzip and run:\n\n``python setup.py install``\n\nBranches\n--------\n\nAs of version 0.6.2, the master branch will be the released version code base. This version will also have a corresponding package on\npypi. \nThe develop branch is used for ongoing updates and will be merged into the master branch at release time.\n\nIf installing the develop branch, use the following:\n\n``pip install git+https://github.com/gabstopper/smc-python.git@develop``\n\nTesting\n-------\n\nIncluded are a variety of test example scripts that leverage the API to\ndo various tasks in /examples\n\nBasics\n------\n\nBefore any commands are run, you must obtain a login session. Once\ncommands are complete, call `session.logout()` to remove the active session.\nTo obtain the api\\_key, log in to the Stonesoft Management Center and\ncreate an API client with the proper privileges.\n\n.. code:: python\n\n    from smc import session\n\n    session.login(url='http://1.1.1.1:8082', api_key='xxxxxxxxxxxxx')\n    ....do stuff....\n    session.logout()\n\nOr log in to a specific Admin Domain and use a specific version of the\nAPI:\n\n.. code:: python\n\n    session.login(url='http://1.1.1.1:8082', api_key='xxxxxxxxxxxxx',\n                  domain=mydomain, api_version=6.2)\n    ....do stuff....\n    session.logout()\n\nOnce a valid session is obtained, it will be re-used for each operation\nfor the duration of the sessions validity, or until the program is\nexited.\n\nExtensions\n**********\n\nExtensions are available to smc-python that provide additional functionality besides what\nis provided in the base library. Extensions are kept separate as they may require additional\npackage requirements and simplify packaging.\n\nExtensions will require smc-python to function, but it is possible to install an extension\ndirectly and it will grab the required smc-python version automatically.\n\nAvailable extensions:\n\n* `smc-python-monitoring \u003chttps://badge.fury.io/py/smc-python-monitoring\u003e`__: Monitoring for SMC connections, blacklists, users, VPNs, alerts, etc. In addition this package provides the ability to 'subscribe' to administrative event modifications.\n\n\nExample install of an smc-python extension:\n\n``pip install smc-python-monitoring``\n\nExtensions are found in the base smc-python repository as namespace packages and each is housed in it's own sub-directory of this base package.\n\nPlease see the read-the-docs documentation above for a full explanation\nand technical reference on available API classes.\n\n`View Documentation on Read The\nDocs \u003chttp://smc-python.readthedocs.io/en/latest/?badge=latest\u003e`__\n\n.. |Documentation Status| image:: https://readthedocs.org/projects/smc-python/badge/?version=latest\n   :target: http://smc-python.readthedocs.io/en/latest/?badge=latest\n.. |PyPI version| image:: https://badge.fury.io/py/smc-python.svg\n   :target: https://badge.fury.io/py/smc-python\n.. |Python version| image:: https://img.shields.io/pypi/pyversions/smc-python.svg?maxAge=2592000\n    :target: https://pypi.python.org/pypi/smc-python/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgabstopper%2Fsmc-python","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgabstopper%2Fsmc-python","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgabstopper%2Fsmc-python/lists"}