On Thu, Mar 20, 2025 at 11:48:06PM +0100, 'Ralf Hemmecke' via FriCAS - computer 
algebra system wrote:
> Hi Waldek,
> 
> On 3/20/25 23:12, Waldek Hebisch wrote:
> > There is now advisory about security break on Github due to
> > Github actions.  Link to advisory:
> > 
> > https://github.com/advisories/GHSA-mrrh-fwg8-r2c3
> 
> Oh, how did you get notified? I haven't receive a mail from github, yet.
 
There was info in sage mailing list.  And I followed links to
see more.
 
> > but AFAICS specific package (they say "tj-actions changed-files")
> > was modified by malicious actors so that it put info which
> > should be secret into log files.
> 
> Do we have secret infos?

I do not know what our actions use and what they can
access.

> > I do not know if we use this package and what exactly could
> > be leaked (I hope that thing running as Github action
> > does not magically get extra priviledges to read things
> > that actions should not read, but who knows).
> 
> Probably, Qian can say more. He initiated the automatic compilation.
> That's a good thing. But I don't think we overly rely on that.
> You certainly compile locally and I also have a setup that compiles every
> commit on a debian machine. So if bad things happen, FriCAS is not harmed if
> suddenly github disappears. As for the repository itself, it is even less
> problematic. Git is a distributed system, so we just would have to declare
> another (non-github) repository as "official". The only issue is that github
> is nowaday THE place where people look and build communities.
> 
> Overall, FriCAS does not really depend much on Github.
> 
> > However,
> > I think that there is actually bigger problem:
> > - dependence on Github infrastructure means that any
> >    trouble there affects a lot of project.  And Github
> >    infrastructure is quite complex, so one should
> >    expect troubles,
> 
> Sure, but our dependency is very little.
> 
> > - current trend is to have very large dependency graph.
> >    Security problem at any point of dependency graph
> >    may show up in seemingly unrelated place,
> 
> Dependency in terms of what?

Code that is used directly or indirectly, both at runtime
and at build time.

> > - there is tendency for automatic updates and automatic
> >    fetching of code via network.
> 
> Do we do any of those with FriCAS? I'd say: no.

Well, in "core" no.  jFriCAS needs packages installed
via pip.  There is 'hsbcl' but some people advocate using
qucklisp to install Lisp dependencies.  There were
recent story: popular system similar in principle
to pip or quicklisp (it probably was not pip, but I am
not sure) was used to break into several corporate
networks.  Attackers created repositories claiming
to contain new versions of obscure packages, registered
them at distribution site and infrastructure picked
trojan packages and delivered to unuspecting
victims.

We need 'sphinx' for documentation build.  We can get
it from Debian repo and Debian folks tend to be
careful with what they distribute.  But one can get
it via pip and there seem to be less oversight in
such case.

> >    More traditional
> >    approach limited fetching to "known" things which
> >    could be verified via cryptographic checksums and
> >    that within a framework with well defined security
> >    policy.  Now automatic fetching from network
> >    is widespread.
> 
> I do not think that applies to FriCAS. By using git we automatically have
> cryptographic hashes. Nobody can easily sneek in code. And if for some weird
> reason it is done, then it can easily be undone.

At single stage it is not problem.

> > Open source has advantage due to people different than
> > authors looking at code and noticing bugs.  But modern
> > tendencies make it hard to get at source code.  And
> > routinely code is put in "production" use without
> > anybody looking at it.
> 
> You seemingly are not talking about FriCAS itself, but about the libraries
> that FriCAS depends on. If true, why is this an issue with github?

One potential issue is that if say authorization to Github
actions leaked, somebody could create trojan binaries,
pretending to be official ones.  That could be detected
reasonably fast, but could infect our users.

And concerning libraries, yes in "core" FriCAS we have good
situation, that is we depend only on system libraries
and few neccessary tools.

> > why I dislike downloads run as part of build process.
> 
> Clear. Downloads should not be done during the build.
> 
> > To put it differently, it is tempting to delegate
> > tricky problems to other guys.  But when everybody
> > delegates, then eventually this will lead to
> > dependence on somebody incompent or malicious.
> 
> Yes, yes. Delegating also means a responsibility that you watch what these
> guys are doing. But you also trust the underlying operating system and all
> the debian packages. There must be at least some trust in the world.

Yes.  In general I trust that Debian packager do good job.  But
there were story year ago, when malicious package entered Debian
testing.  New maintainer of IIRC 'lzma' compression library
turned out to be malicious.  From my point of view there were few
red signs before this happened: the bad guy commited "clever"
obfustated code to Makefiles, the claimed that for testing he
needs functionality that has noting to do with purpose of the
library, that is compression.  Also, package produced from git
repository was different than package produced from distribution
tarball.  And new binary version of library was twice as large
as older one.  The thing was discovered when a guy from
Microsoft investigated why 'ssh' login in local network
suddenly takes more time.  After that 'sshd' authors looked
why 'sshd' was linked to this library: actually, 'sshd' had
no use of the library, but 'sshd' linked to systemd library.
Supposedy, systemd was good way to handle some system
interaction.  And it is not clear if systemd had good
reason to use this compression library, but it linked to
it.  IIUC now 'sshd' authors decided that it is better to
implement what they need inside 'sshd' so newer 'sshd' no
longer links to systemd libraries.

Why I am writing this: trouble above was serious because
trojan allowed unauthorised login potentially to any
systed-using Linux system.  And seriousness was because
of dependency chain.  And malicous actions were detected
relatively late because people got desensitized to issues
like size of binary and needlessly complicated code.

So basicaly, I write that it is important to limit
dependencies, to look and try to explain various
anomalies like bigger size, sudden slowdown etc.
And to limit complexity, choose simpler variants of
code, ask if extra functionality is work complex code.
That are things that I try to do in FriCAS, but
seem to be rather unpopular in wider world.
 
-- 
                              Waldek Hebisch

-- 
You received this message because you are subscribed to the Google Groups 
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to fricas-devel+unsubscr...@googlegroups.com.
To view this discussion visit 
https://groups.google.com/d/msgid/fricas-devel/Z9zAsH9gBa_CJOc3%40fricas.org.

Reply via email to