Rui Carlos Posted September 16, 2023 at 11:08 AM Report Share #631816 Posted September 16, 2023 at 11:08 AM A Google lançou recentemente a ferramenta Capslock, que permite compreender de que forma é que as dependências de um projecto estão a aceder às funcionalidades do sistema, como a rede ou ficheiros. Isto deverá facilitar, por exemplo, a identificação de dependências maliciosas. Os supply chain attacks são das coisas que mais me assustam, quer ao desenvolver aplicações, quer ao instalar aplicações de outros. E tendo em conta as dificuldades que tenho tido em convencer colegas a minimizar as dependências dos projectos em que trabalho, este tipo de ferramenta parece-me algo com bastante potencial para detectar problemas. Em certa medida, é uma abordagem alternativa/complementar às reproducible builds (recentemente referida aqui pelo @pwseo), e embora me pareça que esta ferramenta dá menos garantias, talvez tenha mais potencial de sucesso em termos de adopção por programadores. Só é pena suportar apenas Go 😄 Mais info: https://security.googleblog.com/2023/09/capslock-what-is-your-code-really.html Citação When you import a third party library, do you review every line of code? Most software packages depend on external libraries, trusting that those packages aren’t doing anything unexpected. If that trust is violated, the consequences can be huge—regardless of whether the package is malicious, or well-intended but using overly broad permissions, such as with Log4j in 2021. Supply chain security is a growing issue, and we hope that greater transparency into package capabilities will help make secure coding easier for everyone. Avoiding bad dependencies can be hard without appropriate information on what the dependency’s code actually does, and reviewing every line of that code is an immense task. Every dependency also brings its own dependencies, compounding the need for review across an expanding web of transitive dependencies. But what if there was an easy way to know the capabilities–the privileged operations accessed by the code–of your dependencies? Capslock is a capability analysis CLI tool that informs users of privileged operations (like network access and arbitrary code execution) in a given package and its dependencies. Last month we published the alpha version of Capslock for the Go language, which can analyze and report on the capabilities that are used beneath the surface of open source software. This CLI tool will provide deeper insights into the behavior of dependencies by reporting code paths that access privileged operations in the standard libraries. In upcoming versions we will add support for open source maintainers to prescribe and sandbox the capabilities required for their packages, highlighting to users what capabilities are present and alerting them if they change. [...] Rui Carlos Gonçalves Link to comment Share on other sites More sharing options...
M6 Posted September 18, 2023 at 08:12 AM Report Share #631827 Posted September 18, 2023 at 08:12 AM Isso também serve para fazer profiling? Estou a referir-me a tempos de acesso a cada funcionalidade do sistema. 10 REM Generation 48K! 20 INPUT "URL:", A$ 30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50 40 PRINT "404 Not Found" 50 PRINT "./M6 @ Portugal a Programar." Link to comment Share on other sites More sharing options...
Rui Carlos Posted September 18, 2023 at 07:08 PM Author Report Share #631831 Posted September 18, 2023 at 07:08 PM Em 18/09/2023 às 10:12, M6 disse: Isso também serve para fazer profiling? Estou a referir-me a tempos de acesso a cada funcionalidade do sistema. Penso que não. Pelo que percebi, faz análise estática das dependências. Rui Carlos Gonçalves Link to comment Share on other sites More sharing options...
pwseo Posted September 18, 2023 at 11:24 PM Report Share #631832 Posted September 18, 2023 at 11:24 PM Boa iniciativa. Na realidade, penso que seja complementar às reproducible builds, dado que se dirigem a problemas diferentes (que fazem parte de um todo assustador, infelizmente). De facto é uma pena suportar apenas Go. A longo prazo, será mais difícil suportar esta ferramenta do que a iniciativa da GNU previamente falada, dado que na primeira teremos que constantemente actualizar a análise estática de todas as linguagens, enquanto que na segunda «basta» assegurar a verificação de hashes, independentemente do significado do código. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now