Is there a government API for CISA, or any other database of security Vulnerabilities? - api

I did check this and all of the listed links, but I was not able to find any:
What public APIs are provided by Governments to the public?
The USA government does offer a simple API for the NVD (National Vulnerability Database). So for instance, I can do this:
curl --verbose https://services.nvd.nist.gov/rest/json/cve/1.0/CVE-2021-45105
But what about the ICS? (Industrial Control Systems)
They are listed here:
https://www.cisa.gov/uscert/ics/alerts
But that is in HTML form. I'm wondering if there is an API with the same information?
They do offer a simple XML/RSS feed, but the links simply point back to the HTML versions of the data. I have not found an XML feed that is full of the data that is shown in the HTML pages.
Does anyone know where to look for this, or any other government API?

Related

Integrating QlikView with SimPro

Has anyone ever tried to integrate QlikView BI application with SimPro business management software? If so, would be interested to know if you were successful and if so how?!!
Dorey.
Jonathan from simPRO here.
I'm not aware of any clients that have an integration with QlikView but it is a well respected reporting platform with a myriad of ways to extract data from other systems.
A quick scout around their documentation tells me that the easiest option for integration would using their QVSource API connector.
Details are here: http://www.qvsource.com/Connectors-For-QlikView/General-JSON-XML-SOAP-Web-API-Connector-For-QlikView
For simPROs API you would use this in "POST" methodology - ie: supplying the post data as per our API docs at: http://api.simpro.co . Our API uses OAuth authentication and there is dome detail and examples on using that with QVsource at: http://wiki.qvsource.com/General-Web-Connector-For-QlikView.ashx
Whilst we may not be able assist technically with setting up the QlikView system our technical support department can assist with any queries you have in regards to our API calls etc...
Hope that is of some help!
I am going to try and respond to your dilemma, while being a QV expert for the last 8 years I am not too familiar with simpro, however I did quickly browse through their API docs here -> http://api.simpro.co/
I have noticed that they support 3 formats, namely soap, json and xml. For qlikview you would choose xml. I have also noticed that they support 2 authentication methods namely basic auth and O Auth. IN this scenario you would be using basic auth (so you can pass a username and password via the url) as this will also work perfectly with Qlikview.
In your Edit Script, you will notice a "Data from files"-> Web Files, then in the popup you can enter the url from where you would retrieve your information from.
Note you need to pass format=xml to the url, along with your basic auth username and password to the relevant url (which you will find in simpro's docs), for any other format you will need QVSource which has a fee attached.
I hope this has pointed you in the right direction.

Can someone explain me what is an API.?

I've googles about it, yet couldn't understand it properly.. Not sure if it's a library or intra-server communicator..
Can someone explain me in a high-level /low-level what is meant by an API.??
http://en.wikipedia.org/wiki/Application_programming_interface
Read it from here , will hopefully clear most of your doubts.
An API stands for Application Programming Interface, which means using and existing program or code and accessing it with your code.
===
Example, Search Engine:
Search engine 1: offers search and api (if you want this can be google)
Search engine 2: uses googles api to get results (this is your one)
To get results you basically search the other search engine and get their results to yours
====
An API can be used in many ways, to access others data or code, ect
An in-depth explination can be found here: http://en.wikipedia.org/wiki/Application_programming_interface
An application-programming interface (API) is a set of programming instructions and standards for accessing a Web-based software application or Web tool. A software company releases its API to the public so that other software developers can design products that are powered by its service.
For example, Amazon.com released its API so that Web site developers could more easily access Amazon's product information. Using the Amazon API, a third party Web site can post direct links to Amazon products with updated prices and an option to "buy now."
An API is a software-to-software interface, not a user interface. With APIs, applications talk to each other without any user knowledge or intervention. When you buy movie tickets online and enter your credit card information, the movie ticket Web site uses an API to send your credit card information to a remote application that verifies whether your information is correct. Once payment is confirmed, the remote application sends a response back to the movie ticket Web site saying it's OK to issue the tickets.
As a user, you only see one interface -- the movie ticket Web site -- but behind the scenes, many applications are working together using APIs. This type of integration is called seamless, since the user never notices when software functions are handed from one application to another.
This article shows an example
http://www.codeproject.com/Tips/127316/Integrate-FB-javascript-API-to-your-asp-net-app-to

Hosting Google Plus Communities on My Website

Is it possible to embed a google community into a website page?
This way our clients can benefit from content and all other features in our website, yet be able to collaborate using Google Communities.
Ideally I would like to grab a Javascript code just like +1 button and paste it into my website page, add an iframe or something of this nature!
UPDATE:
Sounds like if I try to be convincing, I may be able to influence some decisions!
More details: Our website services offers login with Google using Google OAuth, This way the user is either logged in or is forced to login with Google to get access to private areas of our customer portal, where you can review the status of Support Tickets, submit new support tickets, have access to knowledge base, documents, blogs, etc.
We have incorporated all sort of social plugins into the blogs, product catalogs and so forth.
It would be fantastic is the users can have access to a community (Forum or Discussion Board) within the same place. Google Community seem to be the tool but in the wrong place.
No such widget exists at this time, but it's an interesting idea. If you want to share more details on precisely what you're looking for, you can file the issue here: https://code.google.com/p/google-plus-platform/. The more details you can provide, the more likely that, if we decide to implement this feature, we'll end up with something that you want.

Can client side mess with my API?

I have a website that revolves around transactions between two users. Each user needs to agree to the same terms. If I want an API so other websites can implement this into their own website, then I want to make sure that the other websites cannot mess with the process by including more fields in between or things that are irrelevant to my application. Is this possible?
If I was to implement such a thing, I would allow other websites to use tokens/URLs/widgets that would link them to my website. So, for example, website X wants to use my service to agree user A and B on the same terms. Their page will have an embedded form/frame which would be generated from my website and user B will also receive an email with link to my website's page (or a page of website X with a form/frame generated from my server).
Consider how different sites use eBay to enable users to pay. You buy everything on the site but when you are paying, either you are taken to ebay page and come back after payment, or the website has a small form/frame that is directly linked to ebay.
But this is my solution, one way of doing it. Hope this helps.
It depends on how your API is implemented. It takes considerably more work, thought, and engineering to build an API that can literally take any kind of data or to build an API that can take additional, named, key/value pairs as fields.
If you have implemented your API in this manner, then it's quite possible that users of this API could use it to extend functionality or build something slightly different by passing in additional data.
However, if your API is built to where specific values must be passed and these fields are required, then it becomes much more difficult for your API to be used in a manner that differs from what you originally intended.
For example, Google has many different API's for different purposes, and each API has a very specific number of required parameters that a developer must use in order to make a successful HTTP request. While the goal of these API's are to allow developers to extend functionality, they do allow access to only very specific pieces of data.
Lastly, you can use authentication to prevent unauthorized access to your API. The specific implementation details depend largely on the platform you're working with as well as how the API will be used. For instance, if users must login to use services provided by your API, then a form of OAuth may suffice. However, if other servers will consume your API, then the authorization will have to take place in the HTTP headers.
For more information on API best practices, see 7 Rules of Thumb When You Build an API, and a slideshow from a Google Engineer titled How to Design a Good API and Why That Matters.

How to find inbound links to a given URL on the fly?

Technorarati's got their Cosmos api, which works fairly well but limits you to noncommercial use and no more than 500 queries a day.
Yahoo's got a Site Explorer InLink Data API, but it defines the task very literally, returning links from sidebar widgets in blogs rather than just links from inside blog content.
Is there any other alternative for tracking who's linking to a given URL (think of the discussion links that run below stories on Techmeme.com)? Or will I have to roll my own?
Well, it's not an API, but if you google (for example): "link:nytimes.com", the search results that come back show inbound links to that site.
I haven't tried to implement what you want yet, but the Google search API almost certainly has that functionality built in.
Is this for links to Urls under your control?
If so, you could whip up something quick that logs entries in the Referrer HTTP header.
If you wanted to do to this for an entire web site without altering application code, you could implement as an ISAPI filter or equivalent for your web server of choice.
Information available publicly from web crawlers is always going to be incomplete and unreliable (not that my solution isn't...).